java中流程控制语句分为三类: 顺序结构语句,选择结构语句,循环结构语句。
一,顺序结构语句:
定义: 当前jvm执行java文件的时候执行main方法按照顺序依次由上向下加载!
例:
//依次输出1234;
class Test2{
public static void main(String[] args){
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
}
}
结果:
二,选择结构语句:
选择结构指的是进行逻辑判断,当满足与某些条件的时候才会执行某些语句。而对选择结构分类有两类:if分支结构,switch分支结构两种。我们依次来展示他们的体现形式。
if语句:
格式一:
if(表达式){
语句;
}
class IfTest2{
public static void main(String[] args){
int x= 0; //定义一个变量
if(x==0){ //判断这个数是不是等于0等于输出0
System.out.println("正确");
}
}
}
格式二:
应用场景:针对两种结果来进行判断。
格式;
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1:
首先判断表达式是否成立;
2:
如果成立,执行语句1;
3:
如果不成立,执行语句2;
代码体现:
class IfTest2{
public static void main(String[] args){
int x= 0; //定义一个变量;
if(x>5){ //判断是否成立,成立执行此处代码。
System.out.println("正确");
}else{ //不成立,执行此处代码。
System.out.println("错误");
}
}
}
运行结果:
if语句格式二和三元院算的区别:
三元运算针对的是某个数据值在进行判断;(表达式)?true的结果:false的结果。
if语句格式二针对两个结果进行判断,输出一个结果(可能是一个输出语句,也可能是具体的值)。
三元运算符能过使用的,一定可以使用if,但是if可以使用的,不一定能够使用三元(一般开发过程中没有特别要求,都是用if语句)。
格式三:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
……..
else{
语句体n+1;
}
执行流程:
1:
表达式1是否成立,成立的话,执行语句体1。
2:
如果不成立,在判断语句体2是否成立,成立的话执行语句体2。
3:….
最终上面的都不成立,执行else语句n+1;
代码体现:
import java.util.Scanner; //导包;
class IfTest2{
public static void main(String[] args){
Scanner sc = new Scanner(System.in); //创建键盘录入对象;
System.out.println("请输入您要查询的月份:");
int moon = sc.nextInt(); //接收
if(moon > 12||moon < 1){
System.out.println("没有对应的月份");
}else if (moon >=3 && moon <= 5){
System.out.println("是春天");
}else if(moon >=6 && moon <=8){
System.out.println("是夏天");
}else if(moon >=9 && moon <=10){
System.out.println("是秋天");
}else{
System.out.println("是冬天");
}
}
}
if语句的
注意事项:
1:
有左大括号的地方{ 不能有分号;有分号的地方不能有大括号,二者不能共存。
2:
if语句中如果是单条语句,大括号可以省略,但不建议那样做。
3:
java中有一个代码块的概念。
4:
表达式:无论是复杂还是简单的,都是Boolean类型。
运行结果:
switch语句:
格式: switch(表达式){
case 值1:
语句体1;
break;
case 值 2:
语句体2;
break;
………
default:
语句体n+1;
break;
}
执行流程:
1:
表达式中的值和case中的值1进行比较,如果成立,就执行语句体1,遇见break,switch结束了。
2:
依次执行case值2,进行比较,成立,执行语句2,语句结束。以此类推
3:
如果上述都不匹配,执行default的语句,break语句,语句结束。
代码体现:
import java.util.Scanner; //导包;
class SwitchTest{
public static void main(String[] args){
Scanner sc = new Scanner(System.in); //创建键盘录入对象;
System.out.println("请输入(1-7):");
int week = sc.nextInt(); //接收数据;
switch(week){ //启用当前switch语句
case 1: //需要将case的值和switch的值进行比较
System.out.println("星期一");
break; //break表示结束,中断switch语句。
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default: //case后面都不匹配执行defult
System.out.println("查询不到该日期");
break;
}
}
}
运行结果:
switch语句的
注意事项:
1:
Java语言中,case后面的值只能是常量不能是变量。
2:
break一般情况下建议不要省略,如果没有书写break,会出现case穿透现象(当case符合switch要求时输出case因为case后面没有break所以就会继续往下执行,直到遇见break或者语句结束的时候停止);
3:
default可以在程序中的任何位置,但是还是要遵循switch按照顺序执行case中都不匹配才执行default,default中的break可以省略,但是不建议那样做,如果default中有表达式,那是不可以省略的。