java 分支,循环语句汇总

java 分支,循环语句

1.顺序结构

​ 按照原码的编写顺序,从上往下逐句执行


2.分支结构

2.1判断结构

俗称"if语句"

2.1.1 表现形式1: if结构
//语法
if(条件表达式){
	执行体
}

先判断条件表达式结果,如果为true,则运行执行体代码;如果为false,则不运行执行体代码

demo
int a = 10;
if(a >= 10){
    System.out.println("if条件满足,执行体中代码被执行");
}
//在if结构之外的语句,不受条件表达式控制
System.out.println("if结构之外的代码");
//当执行体只有一条语句时,if结构的大括号可省略
//当if结构没有大括号时,条件表达式能且只能控制其最后的第一条语句
if(a == 10)
    System.out.println("a == 10 满足");
System.out.println("语句2");

实际开发中,几十只有一条语句,习惯上也把大括号写上

2.1.2 表现形式2 if-else 结构
//语法
if(条件表达式){
	执行体1
}else{
	执行体2
}

判断条件表达式结果,如果为true,则运行执行体1;如果为false,则运行执行体2

根据条件在两种操作之间做选择

int a = 10;
if(a == 10){
    System.out.println("a == 10");
}else{
    System.out.println("a != 10");
}

当执行体只有一条语句时,大括号可以省略;习惯上还是把大括号写上

if-else与三目运算符

根据条件在类型相同的具体值中做选择,用三木运算符

如果根据条件是在复杂操作(或不同类型的值)之间做选择,用if-else

2.1.3 表现形式3 if - else if 结构
//语法
if(条件表达式1){
    执行体1
}else if(条件表达式2){
    执行体2
}else if(条件表达式3){
    执行体3
}...

先判断条件表达式,如果为true,则运行执行体1;如果为false,在判断表达式2,如果为true,则执行执行体2;如果为false,继续判断后面的条件表达式…直到某个条件表达式为true,运行相应的执行体;…

如果所有的条件表达式结果都为false, 则不会有执行体被运行当某一个分支满足并执行之后, 整个语法结构结束, 即使后面还有能满足的条件, 也不会再判断执行

int a = 10;
if(a < 10){
    System.out.println("a < 10");
}else if(a == 10){
    System.out.println("a == 10");
}else if(a > 10){
    System.out.println("a > 10");
}
2.1.4 if - else if -else
if(条件表达式1){
	执行体1
} else if(条件表达式2){
	执行体2
}...
else{
	执行体n
}

按照从上向下的顺序逐个判断条件表达式, 当某个条件表达式满足时, 执行相应的执行体; 如果所有的条件表达式都不满足, 则运行执行体n

int a = 10;
if (a < 10){
    System.out.println("a < 10");
} else if (a == 10){
    System.out.println("a == 10");
} else if (a > 10){
    System.out.println("a > 10");
}else {
    System.out.println("所有条件都没满足");
}

2.2 选择结构

switch 语句,switch-case结构

// 语法
switch(结果表达式){
    case1:
        执行体1;
        break;
    case2:
        执行体2;
        break;
    case3:
        执行体3;
        break;
        ...
    default:
        执行体n;
        break;
}

用结果表达式的结果, 与各case列出的值进行等值比较

遇到匹配的分支, 运行相应分支下的执行体

如果所有的case值都不匹配, 则运行default分支下的执行体

Scannersc = newScanner(System.in);
System.out.println("请输入一个整数值");
int a = sc.nextInt();
switch (a) {
	case 1:
        System.out.println("星期一");
        break;
    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 0:
        System.out.println("星期日");
        break;
    case 7:
        System.out.println("星期日");
        break;
    default:
        System.out.println("输入有误");
        break;
}

特点:

  • 在进行等值匹配时,匹配顺序与声明顺序无关
  • 如果某个case分支中没有 break 关键字,当该分支执行完成之后,会继续向下执行下一个case分支,知道遇到 break 关键字,或者整个结构运行结束
  • 各个case的执行顺序与声明顺序有关
  • 最后一个声明分支的 break 关键字可省略(最后一个分支没有 break 对整个结构的运行没有影响)\
  • default 分支是可省略的,当没有default分支,且各个case都不匹配时,就没有操作可执行

switch结构支持的数据类型: byte, short, int, char(JDK1.5之后还支持字符串), enum


3.循环结构

3.1 while循环

//语法
while(条件表达式){
    循环体
}

条件表达式结果类型必须是boolean

当条件表达式为true时, 执行循环体; 循环体执行完再执行条件表达式, 决定是否进行一轮执行

直到条件表达式结果为false(或循环体中遇到break关键字), 循环结束

int a = 0;
while (a < 10) {
    System.out.println(a); // 0, 1, 2, 3, 4, 5, 6,7,8, 9 
    a++;
}
int a = 0;
while (a < 10){
    System.out.println(a); // 0, 1, 2, 3, 4, 5, 6,7,8, 9 
    a++;
    if (a == 7){
        break;
    }
}

3.2 do-while 循环

do{
    循环体
}while(条件表达式);

先执行循环体, 再判断条件表达式, 决定是否继续执行

do-while的循环体至少会执行一次

如果循环体只有一条语句, whiledo-while的大括号可以省略, 习惯上还是写上

// 即使循环条件不满足, 循环体也会被执行一次
int a = 0;
do{
    System.out.println(a);
    a++;
    if(a == 7){
        break;
    }
}while(a > 10);

while与do-while的区别

  • while:先判断后执行
  • do-while:先执行在判断

3.3 for循环

// 语法
for( 初始表达式 ; 条件表达式 ; 操作表达式 ){
    循环体
}

执行顺序:

a.初始表达式;

b.条件表达式;

  • 如果条件表达式为 true 则执行 c
  • 如果条件表达式为false则循环结束

c.操作表达式,执行完操作表达式之后回到 b


  • 初始表达式在整个语法结构中, 只执行一次
  • 条件表达式结果必须是boolean类型
  • 当条件表达式为false(或在循环体中执行到了break)语法结构结束
  • 在初始表达式中声明的变量, 其作用域只在for循环语法结构中生效, 循环结束, 变量失效
for(int a = 0; a < 10; a++){
    System.out.println(a);
    if(a == 7){
        break;
    }
}
  • for循环中的各部分可以为空, 当条件表达式为空时表示永恒为true
  • for循环中的各部分可以根据实际需求写相关的表达式

循环结构中的 breakcontinue

  • break :结束整个语法结构
  • continue :跳过当前循环,进入下一次循环

不论是break还是continue, 其后的语句都是无法被执行到的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值