Java基础 | if语句和循环结构

举报
几分醉意. 发表于 2022/10/20 19:50:30 2022/10/20
【摘要】 本文主要详细介绍了Java中的选择结构中的if语句、switch语句、for循环、While循环、do…while循环、三种循环的区别、Break语句、Continue语句、死循环、循环嵌套。然后通过举例代码实战,更加深入了解if语句和循环结构。

本文主要详细介绍了Java中的选择结构中的if语句、switch语句、for循环、While循环、do…while循环、三种循环的区别、Break语句、Continue语句、死循环、循环嵌套。然后通过举例代码实战,更加深入了解if语句和循环结构。

选择结构

选择结构分为:if语句,switch语句

if语句

if语句第一种格式:if

格式:
if (关系表达式) {
	语句体;
}

执行流程:
首先判断关系表达式结果是ture还是false
如果是true就执行语句体
如果是false就不执行语句体

if语句第二种格式:if…else

格式:
if(关系表达式){
	语句体1} else{
	语句体2}

执行流程:
首先判断关系表达式看其结果是ture还是false
如果是true就执行语句体1
如果是false就执行语句体2
例:
int num=13;
if (num % 2 == 0 ) {       //如果除以2能够余数为0,说明是偶数
	System.out.println("偶数")
}else{
	System.out.println("奇数")					
}

if语句第三种格式:if…else if…else

格式:
if (判断条件1){
	执行语句1;
} else if (判断条件2){
	执行语句2}
...
} else if (判断条件n){
	执行语句n;
} else {
	执行语句n+1}

执行流程:
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式...看其结果是ture还是fales
...
如果上面的ekse if 都没有符合条件的南那么就执行最后一个elseelse就是用来收尾的

三元运算符和if-else可以等效替换

选择语句–switch

语句格式:
switch(表达式){     //表达式:他并不是booklan值,而是被检测量;如果是表达式,直接把表达式的值计算出来;如果是变量,直接把变量放进去就行
	case 常量值1:
		语句体1breakcase 常量值2:
		语句体2break...
	
	default:                                     
		语句体n+1break}

执行流程:
首先计算出表达式的值
其次,和case后面的常量值依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

switch语句使用的注意事项:
1. 多个case后面的数值不可以重复。
2. switch后面的小括号只能是下列数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3. switch语句格式可以很灵活:前后顺序可以颠倒(casedefault的顺序可以随意颠倒),
break语句还可以省略,”匹配哪一个case就从哪个位置向下执行,直到遇到了break或者整体结束为止“ (如果匹配到的这个case没有break,那么就继续执行下一个case,知道碰到break或者整体结束为止)

循环结构

循环结构的基本组成部分,一般可以分成四个部分:

  1. 初始化语句: 在循环开始最初执行,而且只做唯一一次。
  2. 条件判断: 如果成立,则循环继续;如果不成立,则循环退出。
  3. 循环体: 重复要做的事情内容,若干行语句。
  4. 进步语句: 每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。也就是结束循环的条件。

for循环

for循环语句格式:
for (初始化表达式1;布尔表达式2;进步语句4){
	循环体3
}

执行流程:

-执行顺序:1234>234>234…2不满足为止。
-1负责完成循环变量初始化
-2负责判断是否满足循环条件,不满足则跳出循环体
-3 具体执行的语句
-4循环后,循环条件所涉及变量的变化情况

例子:
public class aabb{
	public static void main (String[] args){
		for (int i = 1; i<=100; i++){
			System.out.println("你好你好");
		}
		System.out.println("你好你好");
	}
}

While循环

While循环语句格式:

初始化表达式a
	While(布尔表达式b){
		循环体c;
		步进表达式d;
}

执行流程:abcd>bcd>bcd…b不满足为止。
a负责完成循环变量初始化。
b负责判断是否满足循环条件,不满足则跳出循环。
c具体执行的语句。
d循环后,循环变量的变化情况。

例子:
public class aabb{
	public static void main (String[] args){
		int i =1;  //a初始化条件语句
		while (i<=100;){   //b条件判断
			System.out.println("你好你好"); //c循环体
			i++; //d步进语句
		}
	}
}

do…while循环

格式:
初始化表达式1;
do{
	循环体3;
	步进语句4}while(条件判断2);

执行流程:
执行顺序:134>234>234…2不满足为止
1负责完成循环变量初始化。
2负责判断是否满足循环条件,不满足则跳出循环。
3具体执行的语句。
4循环后,循环变量的变化情况。
只要有do,无脑执行一次它的大括号里面的代码一次,然后在看后面的判断语句,只要满足条件就一直继续执行do后面大括号的代码,不满足的话循环退出。

例子:
public class aaaa{
	public static void main (String[] args){
		int i =1;  //a初始化条件语句
		do{   /
System.out.println("你好你好"); //c循环体
			i++;      //步进语句
		}whiln(i<=10);   //条件判断
	}
}

循环小练习

题目:求出1-100之间的偶数和。
思路:
1.既然范围已经确定,那么就从1-100之间这么多数字一个一个进行检查。
2.100个数字,必须偶数才能用,判断(if语句)偶数:num%2==0
3.需要一个变量,用来进行累加操作,就好比一个存钱安罐。
例子:用的for循环,三种循环都可以做
public class aaaa{
public static void main (String[] args){
	int sum = 0;    //用来累加的存钱罐
	for (int i= 1;i <=100;i++){
		if (i%2==0){  //如果是偶数
		sum+=1;
	        }
	      }
	 System.out.println("你好你好");
	}
}

三种循环的区别

1.如果条件判断从来没有满足过过,那么for循环和while循环将会执行零次,但是do…while循环至少会执行一次(注意:尽管条件不满足,它也会执行一次,也就意味着里面的布加语句也会执行,外面的初始化语句就会改变)

2.For循环的变量在小括号当中定义,只有循环内部才可以使用。While和do…whiled的初始化语句本来就在外面,所以出来循环也可以继续使用。

3.关于循环的选择的小建议:凡是次数确定的场景多用for循环;否则多用while。

Break语句

常见的两种用法:

1.可以用在switch语句,一旦执行,整个switch语句立刻结束。

2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。

例子:
Public class aaaa{
	Public static void main(String[] arge{
	for (int i = 1;i<=10;i++){
	//如果希望从第四次开始,后续全都不要了,就要打断循环
	If(i==4){
		break;
	       }
			System.out.println(“heal”);	
 	     }
     }
}

Continue语句

一旦执行,立刻跳过当前次循环,马上开始下一次循环

例子:
Public class aaaa{
	Public static void main(String[] arge{
	for (int i = 1;i<=10;i++){
		If(i==4){  //如果当前是四层
			continue;  // 那么跳过当前次循环,马上开始下一次(第五层)
	     	 }
		System.out.println(I + 层到了”);	
    	}
	}
}

死循环

永远停不下来的循环,叫死循环

死循环标准格式:

While(true){
	循环体
}

循环嵌套

指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环。总共循环次数=外循环次数*内循环次数

例子:
public class aa{
	public static void main(String[] args){
		for (int hour = 0;hour<24;hour++){           // 外层控制小时
		    for(int miute = 0; miute<60; miute++){    // 内层控制小时之内的分钟
		        System,out,println(hour+”点”+miute+”分”);
			}
		}
	}
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。