【我的Java笔记】第二课
Java三大流程控制
1.顺序控制
顺序依次执行代码
2.条件控制
目的:对程序执行一些不可预知的流程,并进行一个预先的判断
条件:具有真假的特点。并且只能为真,或者为假
(1)if语句
结构:
if(条件){
//实现逻辑
}
//实现逻辑
}
条件:可以是表达式(常量、变量均可);
表达式最终输出boolean类型;
(2)if...else语句
结构:
if(条件){
//实现我们的逻辑
}else{
//实现我们的逻辑
}
//实现我们的逻辑
}else{
//实现我们的逻辑
}
(3)if(条件)...else if(条件)...else
注:可以跟多个else if,并且else可以省略
仅会执行第一次匹配到的条件,之后就会退出语句
(4)switch case语句
结构:
switch(判断值){
case 值1:
break;
case 值2:
break;
.......
case 值n:
break;
default:
}
case 值1:
break;
case 值2:
break;
.......
case 值n:
break;
default:
}
注:switch后的()不能省略
switch后跟的是整型或者字符型
case的值只能是字面常量(1,2,'A','C');常量表达式(2*3,'a'+3)
default: 可省略,且可以放到任何位置
对于char型来说,先转换为ASCⅡ码再进行比较
3.循环控制
(1)while循环
结构:
while(循环条件){
//循环实现的代码
}
while(循环条件){
//循环实现的代码
}
注:循环条件可以是一个变量,也可以是一个字面常量
可以是表达式(常量、变量表达式)
(2)do...while循环
结构:
do{
//实现的代码
}while(循环的条件);
//实现的代码
}while(循环的条件);
(3)for循环
结构:
for(循环变量初始化 ;循环条件判断; 循环变量的改变){
//循环需要实现的逻辑
}
//循环需要实现的逻辑
}
注:for中的三个条件都可以省略,但"“;”不能省略
执行流程:
a.循环变量初始化,这个在整个的循环过程中,只会执行一次
b.进行循环条件的判断,如果满足条件,则执行,否则结束循环
c.当循环条件满足之后,并且执行了我们循环中定义的代码,最后就会进行循环变量的改变
a.循环变量初始化,这个在整个的循环过程中,只会执行一次
b.进行循环条件的判断,如果满足条件,则执行,否则结束循环
c.当循环条件满足之后,并且执行了我们循环中定义的代码,最后就会进行循环变量的改变
4.关键字(continue&break):
循环控制中,continue的含义是跳出当次的循环,break的含义是跳出整个循环
(1)continue:
在循环的代码体中,如果遇到continue,则会跳出当次循环,循环体内continue之后的代码都不会执行,并且循环变量进行一次改变操作,之后再次进行条件判断, 如果满足条件,则进入循环,否则直接结束循环。跳出的仅是continue外层直接包裹的循环
在循环的代码体中,如果遇到continue,则会跳出当次循环,循环体内continue之后的代码都不会执行,并且循环变量进行一次改变操作,之后再次进行条件判断, 如果满足条件,则进入循环,否则直接结束循环。跳出的仅是continue外层直接包裹的循环
(2)break:
在循环的代码体中,如果遇到break则会跳出本循环代码块,break后的代码不会执行。并且整个循环的过程结束。
break后退出的循环也是直接包围break的循环。
课堂练习:
1.定义一个变量,保存年龄。 当年龄大于60岁,输出老年.;当年龄在 40 到 60 之间,输出中年;当年龄在
18 - 40之间,输出少年。 若小于18岁,则输出未成年.
18 - 40之间,输出少年。 若小于18岁,则输出未成年.
public class Demo1{
public static void main(String[] args){
int age=0;
if(age>60){
System.out.println("老年");
}
else if(age>40&&age<=60){
System.out.println("中年");
}
else if(age<=40&&age>18){
System.out.println("少年");
}
else if(age<=18&&age>0){
System.out.println("未成年");
}
else{
System.out.println("年龄输入错误");
}
}
}
public static void main(String[] args){
int age=0;
if(age>60){
System.out.println("老年");
}
else if(age>40&&age<=60){
System.out.println("中年");
}
else if(age<=40&&age>18){
System.out.println("少年");
}
else if(age<=18&&age>0){
System.out.println("未成年");
}
else{
System.out.println("年龄输入错误");
}
}
}
2.求1-100自然数,其中所有偶数的和,所有奇数的和,并且求所有偶数的和与所有奇数的和的差.
public class Demo2{
public static void main(String[] args){
int sum1=0;
int sum2=0;
for(int i=1;i<100;i++){
if(i%2==0){
sum1+=i;
}
else{
sum2+=i;
}
}
System.out.println(sum1-sum2);
}
}
public static void main(String[] args){
int sum1=0;
int sum2=0;
for(int i=1;i<100;i++){
if(i%2==0){
sum1+=i;
}
else{
sum2+=i;
}
}
System.out.println(sum1-sum2);
}
}
3.在控制台输出:*****
****
***
**
*
**
***
****
*****