java中流程控制主要分为三种结构:1.顺序结构;2.条件结构;3.循环结
顺序结构:
程序由上至下的执行每一条语句
条件结构:
if单选择结构
在很多时候我们会遇到判断一个东西是否需要去执行,在这个过程中我们就会使用到if单选结构,当条件成立的时候那么我们就执行,不成立则不执行
代码演示:
当s等于100时,由于if中的条件s==100为true,程序就会告诉你赋值的数字以及End,当s赋值不是100时,那么条件为false,程序就不执行if中的代码块,直接输出End
public static void main(String[] args) {
int s = 100;
if (s==100){
System.out.println("您赋值的数字是:"+s);
}
System.out.println("End");
}
语法:
if(条件){
//代码块
}
if双选择结构
条件成立时为true,执行代码块1,反正条件不成立为false则执行代码块2
列如:下楼买东西,成功了,支付店家100元,反之店家没有货了,也就购买失败了,就回家,到遇到这样需要请求时一个if就搞不定了,这时候我们就需要一个双选择结构,所以就有了if-else结构。
代码演示:
当score赋值为80时,score大于60,因为score>60为true,程序输出及格,当score赋值为59时,因为scor>60条件为false,所以程序会输出不及格
public static void main(String[] args) {
int score = 80;
if (score>60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
}
语法:
if(条件){
//条件的值为true执行
}else{
//条件的值为false执行
}
if多选择结构
先执行条件1的条件判断,若条件判断为true,则执行代码块1,若条件判断为false,则进行else if后面的条件2的条件判断,若判断为true,则执行代码块2,若判断为false,则执行else后面的代码块3.
语法:
if(条件 1){
//代码块1
}else if(条件 2){
//代码块2
}}else {
代码块3
}
代码演示:
学校根据学生的成绩分为:满分,A级,B级,C级,D级,不及格以及成绩不合法
当score的值为100时那么输出恭喜满风,当score的值为90时,由于score的值大于等于就是比并且小于一百,所以会输出A级,以此类推,当score的值为110时由于里面的条件全部不成立,程序就会执行成绩不合法
public static void main(String[] args)
int score = 90;
if (score==100){
System.out.println("恭喜满分");
}else if (score<100 && score >=90){
System.out.println("A级");
}else if (score<90 && score >=80){
System.out.println("B级");
}else if (score<80 && score >=70){
System.out.println("C级");
}else if (score<70 && score >=60){
System.out.println("D级");
}else if (score<60 && score >=0){
System.out.println("不及格!");
}else {
System.out.println("成绩不合法!");
}
}
嵌套if结构
使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语 句。你可以像 if 语句一样嵌套 else if...else。
语法:
if(条件 1){
//代码块1
if(条件 2){
//代码块2
}
}else{
//代码块3
}
程序在运行时,条件1成立时执行代码块1,则进行条件2的判断,条件2成立时执行代码块2,不成立时结束if结构,当条件1不成立时执行代码块3,执行完结束if结构
switch多选择结构
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法:
switch(expression){
case value :
//语句
break;
case value :
//语句
break;
//你可以有任意数量的case语句
default : //可选
//语句
break;
}
switch 语法使用规则:
- JDK7之后,switch后面的表达式可以是int、short、byte、char、枚举类型、String类型的数据,但不能用长整型long、浮点型float、double和布尔型boolean.
- switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
- case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现 才会跳出 switch 语句。
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语须句不必 要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
- default 在没有 case 语句的值和变量值相等的时候执行。default 分 支不需要 break 语句。
循环结构
Java中有三种主要的循环结构:
- while循环
- do...hile循环
- for循环
while循环结构
while循环,只有在条件为false的时候会跳出循环,条件如果一直为true时则会陷入死循环,while循环可能会一次都不会执行。
语法:
while(条件){
代码块
}
do...while循环结构
do...while循环于while循环同理,但是不同的是do...while至少会循环一次。
语法:
do{
代码块
}while(条件);
while跟do...while区别:while是先判断在执行,do...while是执行后判断。主要差别是do...while至少会执行一次,while可能会一次不执行。
for循环结构
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
语法:
for(初始化值;条件;更新值){
//代码块
}
注意:初始化值,条件,更新值中间是使用分号隔开,不是使用逗号。
break 和 continue
break:主要用在循环语句于switch中,用来跳出整个语句块
continue:适用于任何循环控制结构中,作用是跳出本次循环执行下一次循环
区别
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循 环中剩余的语句,break也在switch中使用。
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行 下一次是否执行循环的判定。