作业2-3:Java 语句控制
- 格式:doc
- 大小:62.50 KB
- 文档页数:8
java流程控制语句Java是一种面向对象编程语言,它提供了多种流程控制语句,这些语句可以让程序在不同情况下执行不同的操作。
在本文中,我们将讨论Java流程控制语句的不同类型,以及它们的使用方式和示例。
1. if语句if语句是Java中最基本的流程控制语句之一。
它的语法如下: if (condition) {// do something}其中,condition是一个布尔表达式,如果它的值为true,那么就会执行if语句中的代码块。
如果condition的值为false,那么if语句中的代码块将被跳过。
下面是一个简单的if语句的示例:int x = 10;if (x > 5) {System.out.println('x is greater than 5');}在这个示例中,我们定义了一个整型变量x,并将它的值设置为10。
然后,我们使用一个if语句来判断x是否大于5。
由于x的值是10,因此if语句中的代码块将被执行,并输出“x is greater than 5”。
2. if-else语句if-else语句是if语句的扩展。
它的语法如下:if (condition) {// do something if condition is true} else {// do something if condition is false}如果condition的值为true,那么if语句中的代码块将被执行。
否则,else语句中的代码块将被执行。
下面是一个简单的if-else语句的示例:int x = 3;if (x > 5) {System.out.println('x is greater than 5');} else {System.out.println('x is less than or equal to 5');}在这个示例中,我们定义了一个整型变量x,并将它的值设置为3。
第3章控制语句学习目标•能够使用if和if…else选择语句来选择各种动作•能够使用for循环结构来重复地执行程序中的语句•能够使用do…while循环和while循环语句重复地执行程序中的语句•能够使用break和continue程序控制语句3.1 实验前检查在学完《Java语言程序设计》的第3章后,请回答以下问题.这些问题旨在检验和巩固你对关键概念的理解。
既可以在实验课程之前,也可以在实验课程期间完成。
3。
1.1 选择题:1.下列语句序列执行后,m 的值是(C )。
int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A)15 B)50 C) 55 D) 52。
下列语句序列执行后,k 的值是( B ).int i=4,j=5,k=9,m=5;if(i〉j||m〈k)k++; else k—-;A)5 B)10 C)8 D)93.下列语句序列执行后,k 的值是(C)。
int i=10, j=18,k=30;switch( j — i ){case 8 :k++;case 9 :k+=2;case 10:k+=3;default : k/=j;}A) 31 B) 32 C)2 D)334。
若a和b均是整型变量并已正确赋值,正确的switch语句是(D )。
A) switch(a+b);{ 。
... }B)switch(a+b*3。
0 ) {。
.。
. }C) switch a {。
}D)switch (a%b ) {。
..。
.。
}5.下列语句序列执行后,j 的值是( A )。
int j=1;for( int i=5;i〉0;i—=2 ) j*=i;A)15 B)1 C)60 D) 06.以下for循环的执行次数是(B )。
for(int x=0;(x==0)&(x〈4);x++);A)无限次B)一次C)执行4次D)执行3次7。
下列语句序列执行后,j 的值是(D )。
一、实验目的1.理解定义变量的作用,掌握定义变量的方法。
2.掌握顺序结构程序控制。
3.掌握算法与程序设计的基本方法。
4.掌握if语句、if-else-if结构的使用。
5.掌握switch语句的使用。
6.掌握使用while语句实现循环。
7.了解使用do-while语句实现循环。
8.掌握使用for语句实现循环。
9.了解continue语句和break语句的使用。
10.掌握一维数组的概念、定义和使用。
二、实验内容及步骤1.顺序结构(1)任务写一个程序,读入三个整数并打印他们的平均值。
源代码:public class renwu1 {public static void main(String[] args) {int sum = 0;int aver = 0;Scanner scanner = new Scanner(System.in);for(int i = 1;i <= 3; i++) {System.out.print("请输入第" + i +"个数:");sum +=scanner.nextInt();aver = sum / i;}System.out.println("平均数是:" + aver);}}运行结果:写一个程序,读入两个浮点数并打印他们的和、差和积。
源代码:public static void main(String[] args) {float sum = 0;float cha = 0;float ji = 0;Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个浮点数:");float num1 = scanner.nextFloat();System.out.println("请输入第二个浮点数:");float num2 = scanner.nextFloat();sum = num1 + num2;cha = num1 - num2;ji = num1 * num2;System.out.println("和是:" + sum);System.out.println("差是:" + cha);System.out.println("积是:" + ji);}}运行结果:2.分支结构(1)任务任务1:使用简单if语句编程,从键盘键入三个整数,然后按照从小到大的顺序将其输出。
第3章控制语句学习目标•能够使用if和if…else选择语句来选择各种动作•能够使用for循环结构来重复地执行程序中的语句•能够使用do…while循环和while循环语句重复地执行程序中的语句•能够使用break和continue程序控制语句3.1 实验前检查在学完《Java语言程序设计》的第3章后,请回答以下问题。
这些问题旨在检验和巩固你对关键概念的理解。
既可以在实验课程之前,也可以在实验课程期间完成。
3.1.1 选择题:1.下列语句序列执行后,m 的值是( C )。
int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 52.下列语句序列执行后,k 的值是( B )。
int i=4,j=5,k=9,m=5;if(i>j||m<k) k++; else k--;A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,k 的值是( C)。
int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 334.若a和b均是整型变量并已正确赋值,正确的switch语句是( D )。
A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }5.下列语句序列执行后,j 的值是( A )。
int j=1;for( int i=5; i>0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 06.以下for循环的执行次数是(B )。
for(int x=0;(x==0)&(x<4);x++);A)无限次B)一次C)执行4次D)执行3次7.下列语句序列执行后,j 的值是( D )。
int j=2;for( int i=7; i>0; i-=2 ) j*=2;A) 15 B) 1 C) 60 D) 328.下列语句序列执行后,k 的值是( B)。
int m=3, n=6, k=0;while( (m++) < ( -- n) ) ++k;A) 0 B) 1 C) 2 D) 39.下列语句序列执行后,i 的值是( C )。
int s=1,i=1;while( i<=4 ) {s*=i;i++;}A) 6 B) 4 C) 24 D) 510. 下列语句序列执行后,k 的值是( C )。
int m=3, n=6, k=0;while( m < n ) { ++k; m++; --n; }A) 0 B) 1 C) 2 D) 311.以下由do-while语句构成的循环执行的次数是(B)。
int m = 8;do { ++m; } while ( m < 8 );A)一次也不执行B)执行1次C)8次D)有语法错,不能执行12.下列语句序列执行后,i的值是( A )。
int i=10;do { i/=2; } while( i>1 );A) 1 B) 5 C) 2 D) 013.下列语句序列执行后,i的值是( D )。
int i=10;do { i/=2; } while( i--> 1 );A) 1 B) 5 C) 2 D) –114.下列循环中,执行break outer语句后,所列( B )语句将被执行。
outer:for(int i=1;i<10;i++){inner:for(int j=1;j<10;j++){if(i*j>50)break outer;System.out.println(i*j);}next:A)标号为inner的语句 B)标号为outer的语句C)标号为next的语句 D)以上都不是15.下列循环中,执行continue outer语句后,( B )说法正确。
outer:for(int i=1;i<10;i++){inner:for(int j=1;j<10;j++){if(i*j>50)continue outer;System.out.println(i*j);}}A)程序控制在外层循环中并且执行外层循环的下一迭代B)程序控制在内层循环中并且执行内层循环的下一迭代C)执行标号为next的语句D)以上都不是3.1.2 程序填空题1.下面是一个java应用程序(Application),它的功能是计算 s=1+2+3+...+10 ,请完成程序填空。
public __class_ Class1{public static void main( String args[] ){int s=0;for (int i=1;i<=10;i++){s+=__ i_;}System.out.println("s="+s);}}2.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。
import java.io.*;public class MyClass{public static void main(String[] args){int j=1;for(int i=1; __i<=9_; i++){System.out.println(i+"*"+j+"="+__i*j_);}}}3.1.3 程序改错题下列程序片断有什么错误?如何改正?1.char ch;switch(ch) 标点格式{case ‘A’: System.out.println(“字母是A”);case ‘B’: System.out.println(“字母是B”);}2.i=10; INT I=10,SUM=0;while(i!=0);sum+=i;3.for(int i=10;i>100;i--) int SUM=0sum+=i;4.for(float i=0.0;i>-10.0;i-=1.0) DOUBLESystem.out.println(i);5.int i=10;do{System.out.println(i);i--;}while(i=1) WHILE(I==1);3.2 编程实验3.2.1 编程实验1:直角三角形本实验要求在封闭实验课中在教师指导下完成。
1. 实验目的本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。
在这个实验中学生将练习:•从控制台获取数据•使用IF语句进行判断2. 问题描述编写一个应用程序,读取用户任意输入的3个非零数值,判断它们是否可以作为三角形的3条边,如果可以,则打印打印这3条边,计算并显示这个三角形的面积。
三角形面积计算网站找找啊!!!3. 示例输出4. 程序模板public class Triangle {public static void main(String[] args) {int side1;int side2;int side3;System.out.println(“Enter length of side 1:”);side1 = MyInput.readDouble();System.out.println(“Enter length of side 2:”);side2 = MyInput.readDouble();System.out.pri ntln(“Enter length of side 3:”);side3 = MyInput.readDouble();int side1Square = side1*side1;int side2Square = side2*side2;int side3Square = side3*side3;if ((side1Square + side2Square) == side3Square)System.out.println(“Area is : ”+side1*side2/2);if ((side1Square + side3Square) == side2Square)System.out.println(“Area is : ”+side1*side3/2);if ((side2Square + side3Square) == side1Square)System.out.println(“Area is : ”+side2*side3/2);}}5. 解答提示1)使用教材中的MyInput类中的MyInput.readDouble()方法读入一个非零的双精度浮点数值。
代码中三次使用这个方法,依次从控制台获取三条边的值。
2)对直角三角形的判断依据定理:两条直角边的平方和等于斜边的平方。
依次对每条边判断该边是否为斜边,三次使用IF语句一次判断。
当任何一次判断都不成立时,不输出任何内容,表示该三边不能构成直角三角形。
否则利用直角三角形求面积的方法求出面积,并打印输出该值。
6. 强化练习(1)编写程序对三个整数排序,由键盘输入整数分别存入变量num1、num2和num3,对他们进行排序,使得num1<=num2<=num3。
3.2.2 编程实验2:水仙花数本实验要求在封闭实验课中在教师指导下完成。
1. 实验目的本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。
在这个实验中学生将练习:•水仙花数的概念•FOR语句与IF语句结合使用2. 问题描述水仙花数是指个位、十位和百位三个数的立方和等于这个三位数本身的数,编写程序求出所有的水仙花数。
3. 示例输出4. 程序模板public class Narcissus{public static void main(String args[]){int i, j, k;for(int num = 100; num <=999; num++){i = num % 10; //个位数j =num/ 10 % 10; //十位数k = num / 100; //百位数if(i * i * i + j * j * j + k * k * k == num)System.out.print(num + "\t");}}}5. 解答提示1)水仙花数涉及个位、十位、百位数字,所以水仙花数十个三位数,即100—999之间的数。