流程控制分类
- 顺序语句:从上到下按顺序依次执行
- 分支语句:根据条件不同,执行不同语句
- 循环语句:重复执行某些动作
单分支条件判断语句
条件语句
只是单独的判断条件是否成立
if选择结构是根据条件判断之后再做处理
语法
if(布尔表达式) { //如果布尔表达式为true将执行的语句 }
注意:条件必须是boolean类型
if只带一条语句可以省略{}
双分支条件判断语句
if...else...需要对条件成立和不成立的情况分别处理
if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
语法
if(条件){ //代码块1 }else{ //代码块2 }
多分支条件判断语句
if...else if...else 语句
语法
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else { //如果以上布尔表达式都不为true执行代码 }
注意:多个条件用多个 else if,而if只能有一个;
else可以省略,表示以上条件都不成立执行else
if,else if,else只带一条语句可以省略{}
String类型比较字符串相等的方法
字符串1.equals("字符串2");//相等 true 不相等false
== 判断的是内存地址,是否为同一对象,不是字符串值。
int num2 = input.nextInt(); boolean flag = num2.equals("+");
switch语句
switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
语法
witch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
switch和多重if的区别
【1】switch只能进行等值的条件判断;多重if可以判断任何情况,但多用于范围的判断;
【2】同样都是等值的判断,switch效率要高一些
switch注意:
【1】支持标签堆叠:空标签罗列在一起
【2】多个条件判断可以有多个case标签
【3】default:标签可以省略
【4】break;结束switch不加 继续执行;
【5】表达式的类型与值的类型要一致,只能是byte,short,int,char,String,枚举
1 package test; 2 3 import java.util.Scanner; 4 5 public class Test { 6 public static void main(String[] args) { 7 Scanner input = new Scanner(System.in); 8 System.out.println("输入一个月份:"); 9 int month = input.nextInt(); 10 switch(month) { 11 case 3: 12 case 4: 13 case 5: 14 System.out.println("春天"); 15 break; 16 case 6: 17 case 7: 18 case 8: 19 System.out.println("夏天"); 20 break; 21 case 9: 22 case 10: 23 case 11: 24 System.out.println("秋天"); 25 break; 26 case 12: 27 case 1: 28 case 2: 29 System.out.println("冬天"); 30 break; 31 default: 32 System.out.println("输入的月份不正确!"); 33 } 34 System.out.println("Game Over!"); 35 } 36 }
分支语句嵌套
if(条件1){ if(条件2){ 代码块; } }
注意:只有外层 条件1 成立true,才能进行内层 条件2 的判断。
循环语句
循环:重复执行的操作。
特点:循环条件
循环操作
分类:
非固定次数循环
while
do - while
固定次数循环
for
非固定次数循环
while(条件){ 循环体;//循环操作 }
特点:先进行条件判断,后执行循环操作。
解决循环次数固定的问题:
三要素:1.循环变量的初值;
2.循环变量的终止值(条件)
3.循环变量变化的值(迭代,增量)
解决非固定次数问题:
解题方法:1.确定循环条件
2.确定循环体;
do-while循环
do{ 循环体; }while(循环条件);
注意:先执行,后判断条件;
固定次数循环
for(初值;条件终止值;增量){ 循环操作; }
注意:先条件判断
支持逗号表达式
跳转语句
break
【1】用在switch和循环中
【2】用在单层循环中,用来结束循环
continue
【1】continue语句用来结束本次循环
【2】用在循环语句中