Java06 流程控制

流程控制

输入

指从控制台输入数据,而非直接赋值。

​ 语法为:Scanner 变量名=new Scanner(System.in)

​ 数据类型 新变量名=变量名.next().

​ 注意:此操作需要导包,否则程序无法运行。

if条件分支语句

(1)if单分支语句:

语法结构:

if(布尔表达式1{
	表达式1成立时,执行语句;
}

注意:if语句中只有一条执行语句时,{}可以省略,但不推荐,程序会以第一个分号进行第一条语句的识别,同时if的执行语句也可有多条。

(2)if-else双分支语句

语法结构:

if(布尔表达式1{
	条件1成立时,需要执行的语句;
} 
else{
	条件1不成立时,需要执行的语句; 
}

(3)if多分支语句:

if(布尔表达式1{
	条件1成立时,需要执行的语句;
}else if(布尔表达式2{
	条件2成立时,需要执行的语句; 
}
…………
else{
	不满足上述所有条件时,需要执行的语句。
}

注意:执行语句为一条时{}可以省略,但可能会造成悬垂问题,此时的else和离得最近的if进行匹配。

switch多重条件分支

(1) 语法结构

Switch(表达式){
		Case常量1://表达式=常量1时,需要执行的语句;
		break;
		
		Case常量2://表达式=常量2时,需要执行的语句;
		break;
		………………
		Default:
		表达式不等于上面任何一个时,需要执行的语句;
}

switch选择具有穿透性,即表达式等于某一常量时,不仅执行该常量对应的语句,还会依次执行后面的语句,如果需要避免该情况,则需要在对应的语句后面加break关键字。

case后面必须是常量,而且不可以重复。

表达式可以是byte,short,char,int,字符串,枚举。

while循环

(1)语法结构:

while(条件判断){
	循环体,条件判断为true时执行
}

如果条件判断一直为true,则程序会一直执行, 即死循环,所以需要避免此情况。

do while 循环

(1)语法结构:

do{
	循环体;条件判断为true时执行
}while(条件判断);

与while循环不同的是,do while先执行循环体,再进行判断,若不满足条件,则退出循环。

for循环

根据你的要求,这里总结了关于 for 循环的语法特点,并提供了一个示例代码:

关于 for 循环的语法总结:

  1. 语法结构

    for (①初始化变量; ②条件判断; ③步进语句) {
        ④循环体;
    }
    
  2. 语法解读

    • ①初始化变量:可以是任何数据类型的变量,用于初始化循环控制变量的值。
    • ②条件判断:一个 boolean 表达式,结果为 true 时执行循环体,为 false 时跳出循环。
    • ③步进语句:在每次循环结束后执行,通常是递增或递减循环控制变量的操作。
    • ④循环体:如果条件判断为 true,则执行循环体中的语句。
  3. 执行顺序:循环体执行顺序为 ② -> ④ -> ③,之后循环再次执行时顺序为 ② -> ④ -> ③

  4. 应用场景:适合于已知循环次数的情况,常用于遍历数组或执行固定次数的操作。

  5. 注意事项

    • 《1》:循环体只有一句时,可以省略大括号 {},但不推荐。
    • 《2》:①初始化变量可以省略,但在循环体内定义的变量无法在循环外访问。
    • 《3》:②条件判断可以省略,默认为 true
    • 《4》:③步进语句可以省略,但通常在循环体内手动控制循环变量。
    • 《5》:①②③可以同时省略,形成一个无限循环,一般需要在循环体中使用 break 来退出循环。

示例代码:

以下示例展示了一个简单的 for 循环,用于打印数组中的元素:

public class ForLoopExample {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};

        // 基本的for循环
        for (int i = 0; i < array.length; i++) {
            System.out.println("Element at index " + i + ": " + array[i]);
        }

        // 省略初始化变量,使用定义在外部的变量
        int j = 0;
        for (; j < array.length; j++) {
            System.out.println("Element at index " + j + ": " + array[j]);
        }

        // 省略条件判断,默认为true,形成无限循环
        int k = 0;
        for (;;) {
            if (k >= array.length) {
                break; // 使用break退出循环
            }
            System.out.println("Element at index " + k + ": " + array[k]);
            k++;
        }
    }
}

这段代码展示了三种形式的 for 循环:

  • 第一个使用了完整的 for 循环结构来遍历数组 array
  • 第二个省略了初始化变量,使用了定义在外部的变量 j
  • 第三个省略了条件判断,形成了一个无限循环,通过在循环体内使用 break 来退出循环。

for each循环

(1)语法结构:

for(数据类型 变量名:数组名){
	//要执行的代码块
}

(2)注意事项:for each无法修改数组元素,也无法控制循环的起始位,只能整体遍历数组。

break和continue

(1)break:含义为跳出循环,指整个循环都不会再执行,一般和if配套使用,需要注意的是,break只会跳出本层也就是离它最近的那层循环,在多层循环结构中若要跳出外层循环,则需要使用outer和inner进行区分和强调。

(2)Continue:含义也是跳出循环,但与break不同,它不是直接跳出循环,而是结束当前循环,直接进入下次循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值