Java程序流程控制

Java程序流程控制,第1张

Java程序流程控制 Java程序流程控制

文章目录

Java程序流程控制

流程控制语句三大结构

顺序结构分支结构

if分支switch 循环结构

forwhiledo...while三种循环的区别死循环循环嵌套 跳转关键字

breakcontinue注意事项 案例技术

随机数Random类

流程控制语句

Java提供一些流程控制语句,来控制程序的执行流程

三大结构 顺序结构

程序默认流程

分支结构 if分支

根据判定的结果决定执行某个分支的代码

格式1
if(条件表达式){
	语句体;
}
格式2
if(条件表达式){
	语句体1;
}else{
	语句体2;
}
格式3
if(条件表达式1){
	语句体1;
}else if(条件表达式2){
	语句体2;
}else if(条件表达式3){
	语句体3;
}
...
else{
	语句体n+1;
}

switch

  也是匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好
执行流程:
1、先执行表达式的值,再拿这个值去与case后的值进行匹配
2、匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支
3、如果case后的值都不匹配则执行default代码

注意事项:
1、表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7支持String、不支持double,float,long。
2、case给出的值不允许重复,且只能是字面量,不能是变量。
3、不要忘记写break,否则会出现穿透现象。
小数运算在Java中是不精确的
switch的穿透性:
  如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性

循环结构 for

控制一段代码反复执行很多次

格式:
for(初始化语句;循环语句;迭代语句){
	循环体语句(重复执行的代码);
}

while
初始化语句;
while(循环条件){
	循环体语句(被重复执行的代码);
	迭代代码;
}

什么时候用for循环,什么时候用while循环?
  功能上是完全一样的,for循环能解决的事情while也能解决,反之亦然。使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while

do…while

  先执行再判断循环条件

初始化语句;
do{
	循环体语句;
	迭代语句;
}while(循环条件);


特点:一定会先执行一次循环体。
eg:抢票

三种循环的区别

1、for 和 while (先判断后执行),do…while (第一次执行后判断)
2、for循环和while循环的执行流程是一模一样的,如果已知循环次数使用for循环,如果不清楚循环多少次建议使用while循环
3、for循环中,控制循环的变量只在循环中可以使用。While循环中,控制循环的变量在循环后还可以使用

死循环

一直循环的执行下去,如果没有干预不会停下来

for(;;){
	System.out.println("Hello World");
}

//经典做法
while(true){
	System.out.println("Hello World");
}

do{
	System.out.println("Hello World");
}while (true);

eg:

循环嵌套

循环中又包含循环

for(int i = 0; i < 3; i++){
	for (int j = 0; j < 5; j++){
		System.out.println("我爱你");
	}
}



特点:外部循环每循环一次,内部循环全部执行完一次

跳转关键字 break

跳出并结束当前所在循环的执行

continue

用于跳出当前循环的当次执行,进入下一次循环

注意事项

break:只能用于结束所在循环,或者结束所在switch分支的执行
continue:只能在循环中进行使用

案例技术 随机数Random类

Random随机数技术
作用:用于在程序中获取随机数的技术
使用步骤:
1、导包:告诉程序去JDK中哪个包找随机数技术
import java.util.Random;
2、写一行代码代表得到随机数对象
Random r = new Random();
3、调用随机数的功能获取0-9的随机数
int number = r.nextInt(10);
注意:nextInt(n)功能只能生成:0至(n-1)之间的随机数,不包含n。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5712799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存