语句
Java中流程控制语句分为三大类:
顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行。
分支结构:也被称为选择结构 选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,
逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
循环结构:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
顺序结构就是最基本的按顺序执行代码,不做过多赘述。
分支结构
IF (条件选择语句)
格式1:
if(结果为布尔类型的值或表达式){
需要执行的语句
}
当()中的条件为真时就会执行{}中的语句;
public class MyTest {public static void main(String[] args) {int a=1;int b=2;if(a<b){System.out.println("if语句执行了");}}
格式2:
if(条件){
语句1;
}else{
语句2;
}
当条件为真时,执行语句1,为假时执行语句2;
public class MyTest {public static void main(String[] args) {int a=1;int b=2;if(a==b){System.out.println("a和b相等");}else{System.out.println("a和b不相等");}}
格式3:多重条件选择语句
if(条件1){
语句1;
}else if(条件2){
语句2;
}else if(条件3){
语句3;
}else{
语句4;
}
就是找到符合的条件,然后执行对应的语句;
录入成绩是经典的应用,下面我们来举例
public class MyTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请录入成绩1-100");int a;a=sc.nextInt();if(a>=0&&a<=60){System.out.println("成绩刚好及格,继续努力");}else if(a>60&&a<=85){System.out.println("成绩良好");}else if(a>85&&a<=99){System.out.println("成绩优异,继续保持");}else if(a==100){System.out.println("恭喜你获得了满分");}else{System.out.println("你乱输哦");}}}
switch语句
switch语句的格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
…
default:
语句体n+1;
break;
}
注意事项:
switch所支持的数据类型有byte int short char String 枚举case只能+常量多个case项不可以有相同的,且要统一类型"break"用来结束switch语句,可以省略,省略后会发生“case”穿透现象,你可以利用这个现象default是默认项,位置随意
switch语句其实就是找满足的case语句,满足哪个就执行哪个语句否则就default
public class MyTest {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入月份1-12");int month=scanner.nextInt();switch (month){case 2:case 3:case 4:System.out.println("春季");break;case 5:case 6:case 7:System.out.println("夏季");break;case 8:case 9:case 10:System.out.println("秋季");break;case 11:case 12:case 1:System.out.println("冬季");break;default:System.out.println("你乱输入");}}}
if与switch的区别
if可以对常量和范围进行选择;
但是switch只能对常量进行选择;
根据自己的需求及喜好来选择。
循环结构
For循环:
语法:
for(;;){
语句;
}
eg:for(int a=0;a<5;a++){
System.out.println(“HelloWorld”);
}
int a=0,循环的起始值,只执行一次a<5;循环的条件,当为真时循环继续执行,当为假时结束循环System.out.println(“HelloWorld”);为循环体a++,控制循环的语句重复执行,直到循环的条件为假跳出循环
public class MyTest {public static void main(String[] args) {for(int i=0;i<=10;i++){System.out.println(i);}
以上代码就会循环的输出1-10,这是最简单的应用。
while循环:
初始化条件语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
eg:
public class MyTest {public static void main(String[] args) {int i=0;while (i<10){System.out.println("666");i++;//丢掉的话会成为死循环}}}
do while循环
初始化条件语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
public class MyTest {public static void main(String[] args) {int i=0;do {System.out.println("666");i++;}while(i<10)}}
do while 循环的特点:会先执行do{}中的语句,然后再判断while后语句是否成立,成立则继续循环否则结束循环,但是至少会执行一次。
死循环
while(true){
语句;
}
for(;;){
语句;
}
我们不是为了死循环而写死循环,而是我们不知道应该循环多少次,所以先让其无数次循环,然后我们根据我们的需要去在代码中增加结束循环的条件。
break和continue
break 用在循环语句中,用来中止循环
continue用在循环语句中,跳过这一次循环,继续下次循环。
eg:
for(i=0;i<=10;i++){if(i==6){break;}System.out.println("我");}//会输出六次“我” 因为当i等于6的时候回结束循环,break的作用
for(int i=0;i<=10;i++){if(i==5){continue;}System.out.println(i);}//会跳过5 输出0 1 2 3 4 6 7 8 9 10