流程控制
条件语句
if
单分支
语法结构:
lf(表达式结果是boolean){
执行语句;
}
执行顺序: 1:判定表达式的值,如果表达式的值是true执行{}中的执行语句。
2:如果表达式值是false 整个if语句都不执行。
注意事项:当{}中执行语句只有一条时,{}可以省略。
代码:
public class Demo01{
public static void main(String[]args){
if(100>99){
System.out.println("我被执行了");
}
}
}
双分支
语法结构:
lf(表达式结果是boolean){
执行语句;
}
else{
执行语句;
}
执行顺序: 1:判定表达式的值,如果表达式的值是true执行{}中的执行语句。
2:如果表达式值是false,则执行else{}。
代码:
public class Demo02{
public static void main(String[] args){
if(100>99){
System.out.println("如果100>99=true,我就被执行");
}
else{
System.out.println("如果100>99=false,我就被执行");
}
}
}
多分支
语法结构:
lf(表达式结果是boolean){
执行语句;
}
else if(表达式结果是boolean){
执行语句;
}
…
else{}
执行顺序: 1:顺序判定表达式的值,如果表达式的值是true执行{}中的执行语句。
2:当前面的匹配到符合条件时,不会再往下进行判断。
3:如果所有的判定条件都为假,执行最后的else内容。
代码:
/**
从键盘输入一个成绩,系统给予评语。
*/
import java.util.Scanner;
public class Demo02{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("成绩评语,请输入你的分数");//提示输入分数
int score=input.nextInt();//将键盘中获得的成绩,赋值给score
if(score>=90&&score<=100){
System.out.println("所学隔山海,山海皆可平。");//当成绩在90-100分时候的评语
}
else if(score>=80&&score<90){
System.out.println("读书破万卷,下笔如有神。");//当成绩在80-90分时候的评语
}
else if(score>=70&&score<80){
System.out.println("欲穷千里目,更上一层楼。");//当成绩在70-80分时候的评语
}
else if(score>=60&&score<70){
System.out.println("黑发不知勤学早,白首方悔读书迟。");//当成绩在60-70分时候的评语
}
else if(score>=0&&score<60){
System.out.println("少壮不努力,老大徒伤悲。");//当成绩在0-60分时候的评语
}
else{
System.out.println("未觉池塘春草梦,亭前梧桐已秋深。");//当成绩错误的时候
}
}
}
swtich
语法结构:
switch(表达式){
case 值1:
执行语句1;
break;
case 值2:
执行语句2;
break;
case 值3:
执行语句3;
break;
…
default: 执行语句3;
}
注意事项
1、首先计算switch中的表达式的值然后依次匹配对应的 case,如果匹配成功,执行对应的执行语句
2、这里注意要使用break防止上面的语句穿透
3、 如果所有的case都不匹配执行最后的default
4、不易用于判断区间,局限性大
代码:
public class Demo{
public static void main(String[] args){
int month=(int)(Math.random()*12+1);//声明一个变量month,并且赋值一个1-12的随机整数
switch(month){
case 3:
case 4:
case 5:
System.out.println(month+"\n春眠不觉晓,处处闻啼鸟");//当随机数month为3、4、5时输出
break;
case 6:
case 7:
case 8:
System.out.println(month+"\n接天莲叶无穷碧,映日荷花别样红");//当随机数month为6、7、8时输出
break;
case 9:
case 10:
case 11:
System.out.println(month+"\n秋风萧瑟,洪波涌起");//当随机数month为9、10、11时输出
break;
case 12:
case 1:
case 2:
System.out.println(month+"\n忽如一夜春风来,千树万树梨花开");//当随机数month为12、1、2时输出
break;
default:
System.out.println(month+"\n天地一逆旅,同悲万古尘");//当随机数month为其他时输出
}
}
}
循环语句
for
语法结构:
for(变量初始化;变量条件判断;变量变值){
执行语句;
}
执行顺序:
1、首先变量初始化,然后变量条件判断;
2、判断条件结果为ture,则执行{}中的执行语句,为false则不再执行;
3、变量变值,再次做步骤1开始循环。
代码:
/**
输出1-100之间的奇数
*/
public class text10{
public static void main(String[] args){
for(int i=1;i<=100;i++){//循环判断1-100之间的数
if(i%2==0){
}
else{
System.out.print(i+"\t");
}
}
}
}
while
语法结构:
while(条件){
执行语句;
}
执行顺序:
1、首先判断()中的条件,若为false,则执行{}中执行语句,若为true则结束语句,退出循环;
2、执行完语句,再次回去判断条件,循环,直到条件不成立为止
do while
语法结构:
do{
执行语句;
}
while(条件);
执行顺序:
1、先做do{}里的执行语句;
2、再判断()中的条件,若结果为false,则继续循环do{},若为true,则退出循环
代码:
public class text15{
public static void main(String[] args){
int a=0;//声明一个变量,用于接收随机数
do{
a=(int)(Math.random()*101);//随机生成0-100随机数
System.out.print(a+"\t");//输出该随机数
}
while(a!=88);//当该随机数不等于88时候,继续循环
}
}