流程控制语句
顺序结构
按照从上到下,从左到右的代码一次执行。
分支结构
if语句
- 第一种格式(单条件)
if(关系表达式){
语句体;
}
//计算关系表达式,如果为true就执行语句体
//如果为false就不执行语句体
- 第二种格式(双条件)
if(关系表达式){
语句体1;
}else{
语句体2;
}
- 第三种格式(多条件)
if(关系表达式){
语句体1;
}else if{
语句体2;
}...else{
语句体n
}
switch语句
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
......
default:
语句体n+1;
break;
}
格式说明: 1.表达式:(将要匹配的值)取值为byte、short、int、char。JDK5以后可以是枚举,JDK7以后可以是String。 2.case:后面跟的是要和表达式进行比较的值(被匹配的值)。 3.break:表示中断,结束的意思,用来结束switch语句。 4.default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。 5.case后面的值只能是字面量,不能是变量 6.case给出的值不允许重复
-
语句格式
-
default的位置和省略
-
位置:defu1e不定是写在最下面的,我们可以写在任意位置,只不过习惯会可在最下面
-
省略:defu1e可以省略,语法不会有问题,但是不建议省略,
-
-
case穿透
-
就是语句体中设行break导致的,会导致没有添加break的所有语句全部执行,知道遇到break或者右大括号。
-
如果多个语句体重复,可以使用case穿透去简化代码。
-
-
-
switch新特性(jdk12)
switch(表达式){ //更改为箭头加大括号 //如果语句体只有一个可以省略大括号 case 值1 -> { 语句体1 } case 值2 -> 语句体2; case 值3 -> 语句体3; ...... default -> == 语句体n+1; }
-
switch和if的第三种格式使用场景
-
if一般使用在对范围的判断
-
switch一般使用在固定值选择的场景
-
循环结构
for循环
- 格式
//先执行初始化语句int i = 1;
//执行条件判断语句i <= 10 ;判断如果是true则执行循环体,判断如果是false则执行跳出循环体
//执行条件控制语句i++,返回第二步判断语句
for(int i = 1 ;i<=10;i++){
System.out.println("hello");
}
while循环
- 格式
int i = 1 ;//初始化语句
while(条件判断语句:i<=10){
循环体语句;System.out.println("hello");
条件控制语句;i++
}
for和while的区别:
for循环中,控制循环的变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
while循环中,控制循环的变量对于while循环来说不归属其语法结构中在while循环结束后该变量还可以继续使用
for循环中:知道循环次数或者循环的范围
while循环中:不知道循环的次数和范围只知道循环的结束条件。
do-while循环(先执行后判断)
- 格式
初始化语句
do{
循环体语句
条件控制体语句
}while(条件判断语句);
跳转控制语句
- continue(跳过本次循环,继续执行下次循环)
for (int i = 1; i <= 5; i++ ) {
if (i==3) {
continue;}
System.out.println("小老虎吃第"+i+"个包子");
}
//运行结果
//小老虎吃第1个包子
//小老虎吃第2个包子
//小老虎吃第4个包子
//小老虎吃第5个包子
- break(结束整个循环)
for (int i = 1; i <= 5; i++ ) {
if (i==3) {
break;}
System.out.println("小老虎吃第"+i+"个包子");
}
运行结果
//小老虎吃第1个包子
//小老虎吃第2个包子
扩展:获取随机数:Java帮我们写好一个类叫Random,这个类就可以生成一个随机数。
使用步骤:1.导包
创建对象
输入范围(包头不包尾,包左不包右)import java.util.Random; Random rand = new Random(); int value = rand.nextInt(100) ;
每天都要坚持学习哟!