判断与循环-Java入门-黑马程序员2022年新视频DAY4笔记

本文详细介绍了Java的流程控制结构,包括顺序结构、分支结构(if和switch,强调了switch的default位置和case穿透现象)以及循环结构(for和while,分析了两者区别)。通过实例讲解了不同场景下选择if和switch的考量,并探讨了for循环与while循环的适用情境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程控制结构

顺序结构

1.顺序结构语句时Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。

分支结构

  • if:
//第一种格式,先判断关系表达式的值,若为真,执行语句体,否则不执行
//若括号内只有一句代码,那么花括号可以不写,但建议不要省略
//如果对一个布尔类型的变量进行判断,直接把变量写在if()括号中
if(关系表达式){
    语句体;
}

//第二种格式,先判断关系表达式的值,若为真,执行语句体1,否则执行语句体2
if(关系表达式){
    语句体1;
} else{
    语句体2;
} 

//第三种格式(相当于在else中嵌套了另一个判断)
if(关系表达式1){
    语句体1;
} else if(关系表达式2){
    语句体2;
}
…… 
  else{
    语句体 n + 1;
} 
  • switch
/*  执行过程:
    1.首先计算表达式的值。
    2.依次和case后面的值进行比较,有对应的值就执行相应的语句,
      遇到break就会结束switch语句。
    3.如果所有的case后面的值和表达式的值都不匹配,就会执行
      default里面的语句体,然后结束整个switch语句。
    
    注意:表达式中数据类型只能是 byte、short、int、char,
         jdk5后可以是枚举,jdk7后可以是String。
         case给出的值不允许重复。
         break不要忘记写。
*/
switch(表达式){
    case 值1:
        语句体1;
        break;
    case 值2:
        语句体2;
        break;
    ……
    default:
        语句体 n + 1;
        break;
}

switch补充

1.default的位置和省略:default可以省略,语法不会有问题,但是不建议省略(default作用是兜底,所以一般是不省略同时放最后,但实际上default的位置不会影响代码的执行,只是习惯)

2.case穿透:根本原因是语句体中没有写break。执行的流程为:小括号中表达式的值于下面每一个case进行匹配,如果匹配上了就会执行对应语句 ,如果执行完没有发现break,那么程序会继续执行下一个case的语句体(不需要表达式的值与case匹配!),知道遇到break或者右花括号为止。当语句体重复的时候可以考虑使用case穿透。

3.switch新特性(JDK12之后才有),主要是格式稍微发生了变化,在花括号中也可以不写break了。如果语句体中只有一行,那么可以直接去掉花括号,同时也不用写break,可以有效减少代码的书写。

 switch和if的使用场景

当场景是对范围进行的判断时,使用if会更加地方便,而在所有情况都穷举出来后任选其一的场景,使用switch会比较方便.

循环结构

循环的类别

  • for
  • while
  • do...while

for循环

1.执行流程

  • 执行初始化语句
  • 执行条件判断语句,若是false,循环结束,若是true,执行循环体语句
  • 执行条件控制语句

2.初始化语句只会执行一次,初始化语句,条件判断语句,条件控制语句都可以为空(按照实际情况使用)

//格式
for(初始化语句;条件判断语句;条件控制语句){
    循环体语句;
}

//实例,重复打印十次HelloWorld
for(int i = 1;i <= 10;i++){
    System.out.println("HelloWorld");
}

while循环

1.执行流程与for循环一致。

//格式
初始化语句;
while(条件判断语句){
    循环体语句;
    条件控制语句;
}

for循环与while循环的区别

1.for循环和while循环的主要区别是初始化语句中定义的变量,在for循环中,初始化语句因为是属于for语句的,因此在for循环结束后变量不可以再使用,而在while循环中,初始化语句是在while语句外,所以可以继续使用。

2.for循环一般是在知道循环次数或者循环的范围时进行使用。

3.while循环一般是在不知道循环的次数和范围,只知道循环的结束条件时使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值