基于java中的流程控制语句总结(必看篇)
程序的结构分类:
顺序结构:按照写代码的顺序一次执行
选择结构:根据条件的不同有选择的执行不同的代码
循环结构:在一定条件下反复执行某一片代码
选择结构:
也叫分支结构根据条件的不同,有选择的执行某一片代码,Java提供了两种if结构switch结构
if分为三种格式:
if的第一种格式
if(条件){
语句块
}
执行流程:
先判断条件,如果为真则语句块执行,否则语句块不执行
代码演示:
publicstaticvoidmain(String[]args){
System.out.println("开始");
//定义两个变量
inta=10;
intb=20;
if(a==b){
System.out.println("a等于b");
}
intc=10;
if(a==c){
System.out.println("a等于c");
}
System.out.println("结束");
}
if的第二种格式:
if(条件){
语句块1
}else{
语句块2
}
执行流程:
先判断条件的真假,如果为真则只执行语句块1,否则,只执行语句块2
代码演示:
publicstaticvoidmain(String[]args){
System.out.println("开始");
//判断给定的数据是奇数还是偶数
//定义变量
inta=100;
//给a重新赋值
a=99;
if(a%2==0){
System.out.println("a是偶数");
}else{
System.out.println("a是奇数");
}
System.out.println("结束");
}
if语句的第三种格式:
if(条件1){
语句块1
}elseif(条件2){
语句块2
}elseif(条件3){
语句块3
}
...
elseif(条件n){
语句块n
}else{
语句块n+1
}
执行流程:
先判断条件1,如果为真则执行语句块1,执行完毕,跳出整个if结构执行if下面的语句,否则判断条件2,
如果条件2为真,则执行语句块2,执行完毕跳出
整个if结构执行if下面的语句,如果条件2也为假,则判断条件3,如果为真...如果判断到条件n都为假,
则执行else中的语句块n+1
代码演示:
x和y的关系满足如下:
x>=3y=2x+1;
-1<=x<3y=2x;
x<=-1y=2x–1;
根据给定的x的值,计算出y的值并输出。
publicstaticvoidmain(String[]args){
intx=5;
inty;
if(x>=3){
y=2*x+1;
}elseif(x>=-1&&x<3){
y=2*x;
}else{
y=2*x-1;
}
System.out.println("y的值是:"+y);
}
选择结构switch
语法结构
switch(表达式){
case目标值1:
语句块1
break;
case目标值2:
语句块2
break;
case目标值3:
语句块3
break;
...
case目标值n:
语句块n+1
break;
default:
语句块n+1
break;
}
执行流程:
先计算表达式的结果A,使用A顺次的与对应的目标值进行比较,一旦发现有相等的目标值,就停止比较,
执行对应的语句块,再执行break跳出整个switch结构,如果从上往下比较都没有目标值与A相等则执行
语句块n+1结束switch
要求:
表达式:表达式的结果,在JDK1.1~1.4时代表达式的结果的数据类型只能是charbyteshortint
在JDK1.5~1.6时代表达式的结果的数据类型只能是charbyteshortintenum(枚举)
在JDK1.7+时代表达式的结果的数据类型只能是charbyteshortintenum(枚举),String(字符串)
目标值:
目标值的数据类型与表达式结果的数据类型要匹配
目标值不能重复
代码演示:
根据键盘录入的数值1、2、3...7输出对应的星期一、星期二、星期三...星期日
publicstaticvoidmain(String[]args){
//创建键盘录入对象
Scannersc=newScanner(System.in);
//接收数据
System.out.println("请输入一个数字(1-7):");
intweekday=sc.nextInt();
//switch语句实现选择
switch(weekday){
case1:
System.out.println("星期一");
break;
case2:
System.out.println("星期二");
break;
case3:
System.out.println("星期三");
break;
case4:
System.out.println("星期四");
break;
case5:
System.out.println("星期五");
break;
case6:
System.out.println("星期六");
break;
case7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数字有误");
break;
}
}
循环结构:
同一件事反复做,反复执行同一片代码
循环的构成:
初始化语句
循环出口(条件)
循环体
循环增量
有三种循环结构:
for循环while循环do...while循环
for循环:
语法格式:
for(初始化语句;条件;步进表达式){
循环体
}
执行流程:
第一步:初始化语句
第二步:判断条件,如果条件为真则进入第三步,条件为假则进入第五步
第三步:执行循环体
第四步:执行步进表达式进入第二步
第五步:结束循环
代码演示:
统计“水仙花数”共有多少个
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
publicstaticvoidmain(String[]args){
//1.定义一个统计变量,初始值为0
intcount=0;
//2.使用for循环获取所有的三位数
for(intx=100;x<1000;x++){
//3.拆分三位数的百位,十位,个位
intge=x%10;
intshi=x/10%10;
intbai=x/10/10%10;
//4.利用公式判断这个三位数是否为水仙花数,如果是,统计变量++
if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==x){
count++;
}
}
//5.循环结束之后,打印统计结果
System.out.println("水仙花数共有:"+count+"个");
}
while循环:
语法结构:
初始化语句
while(条件){
循环体
步进语句
}
执行流程:
第一步:初始化语句
第二步:判断条件,如果条件为真,则进入第三步,如果条件为假,则进入第五步
第三步:执行循环体
第四步:执行步进语句,再进入第二步
第五步:结束循环
do...while循环
语法格式:
初始化语句
do{
循环体
步进语句
}while(条件)
执行流程:
第一步:初始化语句
第二步:执行循环体
第三步:执行步进语句
第四步:判断条件,如果条件为真,进入第二步,否则进入第五步
第五步:结束循环
三种循环的区别:
虽然可以完成同样的功能,但是还是有小区别:
do…while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
for循环语句和while循环语句的小区别:
使用区别:控制条件语句所控制的那个变量,在for循环结束后,
就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,
就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,
能够提高内存的使用效率。
循环使用推荐for--while--do..while
跳转语句可以控制循环的执行:
有两种
break:在循环中使用的时候表示结束当前循环
在switch语句中使用表示跳出当前的switch结构
continue:在循环中使用,表示结束本次循环进行下一次循环
跳转语句脱离循环没有意义
以上这篇基于java中的流程控制语句总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。