就是控制代码怎么去执行
按照从上到下的顺序执行
if
作用:可以判断条件来决定执行哪个分支
格式:
if(条件表达式){语句体;}
if(条件表达式){语句体1;}else{语句体2;}
if(条件表达式1){语句体1;}else if(条件表达式2){语句体2;}……else{语句体n+1;}
switch
作用:根据表达式的值来进行匹配选择对应的分支执行
格式:
switch(表达式){
case 值1:执行代码……;break;……
default:执行代码n;}
if和switch的区别
都是做分支的
if的功能更强大:适合做区间匹配
如果是值匹配的操作建议用switch,格式清晰,性能较好
switch的注意事项
表达式类型只能是:byte、short、int、char,JDK5开放支持枚举,JDK7开始支持String,不支持double、float、long
case给出的值不允许重复,只能是字面量,不能是变量
不要忘记写break,否则会出现穿透现象
switch的穿透性
是什么?
switch中没有写break,遇到了这个case会一直往下走,直到遇到break才会跳出
适合做什么?
多个值对应的case块的操作是相同的。可以穿透到一个位置集中处理,这样可以提高开发效率,降低代码重复率
作用:控制一段代码重复执行多次
分类:
for
格式:
for(初始化语句;循环条件;迭代语句){
循环体控制语句(重复执行的代码)}
while
格式:
初始化语句;while(循环条件){
循环体语句(重复执行的代码);
迭代语句;}
do……while
格式:
初始化语句;do{循环体语句(重复执行的代码);
迭代语句;} while(循环条件);
特点:一定会执行一次循环体语句,在判断循环条件
区别:
for和while都是先判断后执行,do……while第一次先执行后判断
for和while在功能上完全一样,流程也是一样
如果一开始就知道要循环几次用for
如果一开始不知道要循环几次用while
死循环
一直执行下去
写法:
for( ; ; ){循环语句;}
(经典写法)while(true){循环语句;}
do{循环语句;}while(true);
break:跳出并结束当前所在循环的执行,或者结束switch分支的执行
continue:
用于跳出当前循环的当次执行,进入下一次循环
只能在循环中使用
作用:产生一个随机数
步骤:
导包(自动导包):import java.util.Random;
创建随机数对象:Random r = new Random();
开始得到随机数:int data = r.nextInt(10); //0~9
产生指定区间的随机数
减加法
1~10==>-1==>(0~9)+1;
Java其实给了我们一些直接就能得到指定区间的随机数:
Random r = new Random();
//10~30
for(int i = 0; i < 100; i++){
int data = r.nextInt(10,31);
System.out.println(data);}