顺序结构
例子:
1 public classSequenceDemo{2 public static voidmain(String[] args){3 System.out.println("1");4 System.out.println("2");5 System.out.println("3");6 System.out.println("4");7 }8 }
运行结果:
选择结构
1. 条件语句 - if...else
单if语句:
if(关系表达式){
语句体
}
例子:
1 public classIfDemo{2 public static voidmain(String[] args){3 System.out.println("今天天气不错,发现一个快乐的地方-----网吧");4 //int age = 16;
5 int age = 19;6 if(age >= 18){7 System.out.println("进入网吧,开始high!");8 System.out.println("玩的不爽,结账走人");9 }10 System.out.println("回家吃饭");11 }12 }
运行结果:
标准的if-else语句
if(关系表达式){
语句体
}else{
语句体
}
例子:
1 public classIfElseDemo{2 public static voidmain(String[] args){3 int num = 13;4 if(num%2==0){5 System.out.println("偶数");6 }else{7 System.out.println("奇数");8 }9 }10 }
运行结果:
扩展的if-else语句
if(判断条件1){
执行语句1;
}else if(判断条件2){
执行语句2;
}
....
}else if(判断条件n){
执行语句n;
}else{
执行语句n+1;
}
例子:
public classIfElseExtDemo{public static voidmain(String[] args){//int x = 10;//int x = 2;
int x = -10;inty;if(x >= 3){
y= 2 * x + 1;
}else if(-1
y= 2 *x ;
}else{
y= 2 * x - 1;
}
System.out.println("结果是"+y);
}
}
运行结果:
例子2:
1 //题目:给对应的成绩打出评价,2 //100-90为优秀,80-90为好,80-70为良,3 //大于60为及格,小于60为bujig
4 public classIfElsePractice{5 public static voidmain(String[] args){6 int score = 98;7 if(score >= 90 && score <= 100){8 System.out.println("优秀");9 }else if(score < 90 && score >= 80){10 System.out.println("好");11 }else if(score < 80 && score >= 70){12 System.out.println("良");13 }else if(score < 70 && score >= 60) {14 System.out.println("及格");15 }else if(score <60 && score >=0){16 System.out.println("不及格");17 }else{ //单独处理边界之外不合理的情况
18 System.out.println("数据错误");19 }20 }21 }
运行结果:
例子3:
1 //题目:使用三元运算符和标准if-else分别事现:取俩个数字中的最大值
2 public classMaxDemo{3 public static voidmain(String[] args){4 int a = 10;5 int b = 20;6 //首先使用三元运算符7 //int max = a > b ? a :b;8
9 //使用if语句
10 intmax ;11 if(a >b){12 max =a;13 }else{14 max =b;15 }16 System.out.println("最大值:"+max );17 }18 }
运行结果:
2.选择语句-switch
例子:
1 public classSwitchDemo{2 public static voidmain(String[] args){3 int num = 1;4 switch(num){5 case 1:6 System.out.println("星期一");7 break;8 case 2:9 System.out.println("星期二");10 break;11 case 3:12 System.out.println("星期三");13 break;14 case 4:15 System.out.println("星期四");16 break;17 case 5:18 System.out.println("星期五");19 break;20 case 6:21 System.out.println("星期六");22 break;23 case 7:24 System.out.println("星期日");25 break;26 default:27 System.out.println("数据格式不正确");28 }29 }30 }
运行结果:
switch语句使用的注意事项:
1.多个case后面的数值不可以重复
2.switch后面的小括当中只能是下列数据类型
基本数据类型:byte/short/char/int
引用数据类型:String字符串,enum枚举
3.switch语句格式可以很灵活:
前后顺序可以颠倒,而break语句可以省略
"匹配哪一个case就从哪个位置向下执行,知道遇到break或者整体结束为止"
例子:
1 public classSwitchNoticeDemo{2 public static voidmain(String[] args){3 int num = 3;4 switch(num){5 case 1:6 System.out.println("1");7 break;8 case 3:9 System.out.println("3");10 //break;
11 case 2:12 System.out.println("2");13 default:14 System.out.println("数据之外");15 break;16 case 4:17 System.out.println("4");18
19
20 }21 }22 }
运行结果:
循环结构
循环结构的基本组成部分,一般可以分成四个部分:
1.初始化语句:在循环开始最初执行,而且只做唯一一次
2.条件判断:如果成立,则循环继续,如果不成立,则退出循环
3.循环体:重复要做的事情,若干行语句
4.步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要进行一次
1.for循环语句
for循环语句格式:
for(初始化表达式;布尔表达式;步进表达式){
循环体
}
例子:
1 public classForDemo{2 public static voidmain(String[] args){3 for(int i = 0;i <100;i++){4 System.out.println("Hello,For!");5 }6 System.out.println("程序停止");7 }8 }
运行结果:
2.while循环语句
while循环有一个标准格式,还要一个拓展格式
标准格式:
while(条件判断){
循环体
}
拓展格式:
初始化语句;
while(条件判断){
循环体;
步进语句;
}
例子:
1 public classWhileDemo{2 public static voidmain(String[] args){3 for(int i = 0;i < 10 ; i++){4 System.out.println(i);5 }6 System.out.println("================");7
8 int i = 0;//1.初始化语句
9 while(i < 10 ){ //2.条件判断
10 System.out.println(i);//3.循环体
11 i ++;//步进语句
12 }13
14 }15 }
运行结果:
3.do-while循环
do-while循环的标准格式:
do{
循环体
}while(条件判断);
拓展格式:
初始化语句;
do{
循环体
步进语句
}while(循环判断);
注意事项:
1.第一次执行是无条件执行的,至少执行一次
例子:
1 public classDoWhileDemo{2 public static voidmain(String[] args){3 for(int i = 1; i <= 10; i++){4 System.out.println(i);5 }6 System.out.println("==========");7
8 int i = 1;//1.初始化语句
9 do{10 System.out.println(i);//3.循环体
11 i++;//4.步进语句
12 }while(i <= 10);//2.判断条件
13 }14 }
运行结果:
4.三种循环的区别
1.如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,
但是do-while循环将会执行1次
2.for循环的变量再小括当中定义,只有再循环内部才可以使用。
while循环和do-while循环初始化语句本来就在外面,
所以出来循环之后还可以继续使用
例子:
1 public classLoopDifferenceDemo{2 public static voidmain(String[] args){3 for(int i = 1;i<0;i++){4 System.out.println("Hello");5 }6 //System.out.println(i);//这行代码是错误写法,因为变量i定义再for循环括内,只有for循环自己使用
7 System.out.println("=============");8 int i = 1;9 do{10 System.out.println("World");11 i++;12 }while(i < 0);13 //现在已经超出了do-while循环范围,我们仍然可以使用
14 System.out.println(i);//2
15
16 }17
18 }
运行结果:
5.条件控制语句
1.break
break关键字的用法有常见的两种:
1.可以用在switch语句当中,一旦执行,整个switch语句立结束
2.还可以用在循环语句当中,一旦执行,整个循环语句立结束,打断循环
关于循环的选择,有一个小建议:
凡是次数确定的场景多用for循环,否则多用while循环
例子:
1 public classBreakDemo{2 public static voidmain(String[] args){3 for(int i = 1;i <= 10 ; i++){4 //希望从第四次开始,后续全部都不要了,就打断循环
5 if(i == 4){//如果当前是第四次
6 break;//那么就打断整个循环
7 }8 System.out.println("Hello"+i);9 }10 }11 }
运行结果:
2.break
continue关键字:
一旦执行,立逃过当前次循环剩余内容,马上开始下一次循环
例子:
1 public classContinueDemo{2 public static voidmain(String[] args){3 for(int i = 1;i <=10 ; i++){4 if(i == 4){//如果当前是第四层
5 continue;//那么跳过当前次循环,马上开始下一次循环
6 }7 System.out.println(i+"层到了");8 }9 }10 }
运行结果:
6.死循环
永远停不下来的循环,叫做死循环
死循环的标准格式:
while(true){
循环体
}
例子:
1 public classDeadLoopDemo{2 public static voidmain(String[] args){3
4 /*
5 for(int i = 1;i <= 10 ; ){6 System.out.println("Hello");7 }8 */
9 while(true){10 System.out.println("I LOVE JAVA");11 }//CTL+C强制停止12
13 //System.out.println("Hello");//错误写法-
14 }15 }
运行结果:
7.嵌套循环
例子:
1 public classLoopHourAndMinuteDemo{2 public static voidmain(String[] args){3 for(int hour = 0 ; hour < 24 ; hour++){4
5 for(int minute = 0; minute < 60 ; minute ++){6 System.out.println(hour + "点" + minute+"分");7 }8
9 }10 }11 }
运行结果: