第三章 选择与循环结构
1.流程控制结构
在Java中有三种流程结构,分别是:顺序结构、选择结构、循环结构
1.1顺序结构:
程序从上至下依次执行每条语句的结构,中间不包含其他任何的判断、选择与跳转;
1.2选择结构:
根据不同的条件判断结果来执行不同的流程程序,它包括单分支、双分支和多分支结构。Java给出if语句和swtich语句来执行选择结构。
1.2.1 If语句
-
If语句结构:
if(表达式){
语句
}
if是关键字;
表达式为布尔类型的表达式,其值为true或者false;
- 注意:
对表达式结果进行判断:
如果结果为真,则执行该语句;
如果结果为假,则跳过该语句。
int scores=80;
if(scores>=60){
System.out.println("成绩合格");
}
1.2.2 If-else语句
-
if(表达式){
语句1
}else{
语句2
}
- 对表达式结果进行判断:
如果结果为真,则执行语句1;
如果结果为假,则执行语句2。
-
if-else语句由if语句和else语句构成,else语句不能单独使用。
int scores=55; if(scores>=60){ System.out.println("成绩合格"); }else{ System.out.println("成绩不合格"); }
4.多条if-else语句
int scores=55;
if(scores>=80){
System.out.println("A+");
}else if(scores>=60){
System.out.println("B+");
}else{
System.out.println("C+");
}1.2.3 嵌套if语句
1.2.3 嵌套if语句
-
if(表达式){
if(表达式){ 语句1
}else{
语句2
}
}else{
if(表达式){
语句3
}else{
语句4
}
}
int day=6;
int temp=20;
String weather="天气好";
if(day==6 | day==7){
if(temp>=30){
System.out.println("去游泳");
}else{
System.out.println("去爬山");
}
}else{
if(weather.equals("天气好")){
System.out.println("谈业务");
}else{
System.out.println("查资料");
}
}
1.2.3 swtich语句
- swtich语句结构
swtich(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
…
defalut:
语句;
break;
}
switch(score/10){
case 10:
case 9:
System.out.println("A级");
break;
case 8:
System.out.println("B级");
break;
case 7:
System.out.println("C级");
break;
case 6:
System.out.println("D级");
break;
default:
System.out.println("E级");
break;
}
1.3循环结构
根据判断条件来重复性的执行某一程序。Java提供 while循环、do-while循环和for循环,jdk 5.0还提供增强的for循环来遍历数组和集合。
1.3.1 while循环
while(循环条件){
循环体
}
int i=0,sum=0;
while(i<=100){
sum+=i;
i++;
}
System.out.println("1-100求和为:"+sum);
1.3.2 do-while循环
do{
循环体
}while(循环条件);
do-while循环要以 ; 结尾,不能省略
int i=0,sum=0;
do{
sum+=i;
i++;
}while(i<=100);//注意不能忽视了 ";"
System.out.println("1-100求和为:"+sum);
1.3.3 for循环
String y;
do{
System.out.println("请输入学生姓名:");
String name=in.next();
int sum8=0;
double avg=0;
for(int x=1;x<=5;x++){
System.out.println("请输入5门功课中"+x+"门功课成绩:");
int score8=in.nextInt();
sum8+=score8;
avg=sum8/x;
}
System.out.println(name+"的平均分是:"+avg);
System.out.println("继续输入成绩吗?y/n:");
y=in.next();
}while(y.equals("y") | y.equals("Y"));
System.out.println("成绩输入结束");
1.3.4循环对比
1.4 java跳转语句
Java有三种跳转语句,分别是 break、continue、return语句。
1.4.1 break语句
break语句的作用是在循环中终止循环,在swtich中是为了终止break。
for(int a=1;a<=10;a++){
//遇到4的倍数自动终止
System.out.print(a+" ");
if(a%4==0){
break;
}
}
1.4.2 continue语句
continue语句的作用是中断并停止当前的循环,然后开始下一个循环。
//continue:遇到4的倍数时中断并跳过本次循环。
for(int b=1;b<=10;b++){
if(b%4==0){
//本循环跳过b%4==0的情况
continue;
}
System.out.println(b);//输出的数中不包含 4和8;
}
1.4.3 return语句
return:1.结束当前的方法并退出
2.返回至调用该方法的语句处
//return:1.结束当前的方法并退出
// 2.返回至调用该方法的语句处
for(int d=1;d<=10;d++){
if(d%4==0){
break;
}
System.out.print(d+" ");
}
System.out.println("循环结束");
//输出结果为1 2 3,语句 "循环结束"并没有输出。