java学习记录五:流程语句和循环语句

一、if语句

1.第一种写法

1.写法

if(布尔表达式){
        语句体;
    }
	其它语句;

2.执行流程:
(1)使用计算if后面()中布尔表达式的结果,看是true,还是false
(2)如果if后面()中布尔表达式的结果是true,执行if后面{}中的语句体,接着执行其它语句
(3)如果if后面()中布尔表达式的结果是false,跳过if后面{}中的语句体,直接执行其它语句

3.注意:
(1)if语句的第一种格式,适用于有一种情况的场景
(2)if后面()中表达式不管写的多么简单或者多么复杂,最终的结果一定是布尔类型,要么是true,要么是false
(3)if后面{}中的语句体,要么执行(布尔表达式结果为true)要么不执行(布尔表达式结果为false)
(4)if后面{}中的语句体: 一条或者多条语句(每条语句末尾处使用分号结尾)
(5)if后面{}中的语句体的语句体只有一条语句,此时{}可以省略,最好别省。

2.第二种写法

1.写法

if(布尔表达式){
        语句体1;
    } else {
        语句体2;
    }
	其它语句;

2.执行流程:
(1)使用计算if后面()中布尔表达式的结果,看是true,还是false
(2)如果if后面()中布尔表达式的结果是true,执行if后面{}中的语句体1,接着执行其它语句
(3)如果if后面()中布尔表达式的结果是false,执行else后面{}中的语句体2,接着执行其它语句

3.注意:
(1)if语句的第二种格式,适用于有两种情况的场景
(2)if后面()中表达式不管写的多么简单或者多么复杂,最终的结果一定是布尔类型,要么是true,要么是false
(3)语句体1和语句体2,只有一个会被执行
(4)适用于二选一的场景(是与否的场景)

3.第三种写法

1.写法
if (布尔表达式1) {
语句体1;
} else if (布尔表达式2) {
语句体2;
}
…else if (布尔表达式n) {
语句体n;
} else {
语句体n+1;
}
其它语句;

2.执行流程:
(1)首先计算布尔表达式1的值
(2)如果值为true就执行语句体1;如果值为false就计算布尔表达式2的值
(3)如果值为true就执行语句体2;如果值为false就计算布尔表达式3的值
(4)…如上
(5)如果没有任何布尔表达式为true,就执行语句体n+1。

3.注意:
(1)if语句的第三种格式,适用于有多种情况(大于等于3)的场景
(2)if后面()中表达式不管写的多么简单或者多么复杂,最终的结果一定是布尔类型,要么是true,要么是false
(3)语句体1到语句体n+1,只有一个会被执行
(4)适用于多选一的场景
(5)有if就可以在后面写条件,没有if,不能写条件,不能直接在else后面写条件
(6)最后一个else后面没有if,是用来兜底的,如果上面所有if后的条件都不成立,直接执行最后一个else中的代码

二、switch语句

1.写法

switch(表达式) {
	case 常量值1:
        语句体1;
        break;
    case 常量值2:
        语句体2;
        break;
    ...
    case 常量值n:
        语句体n;
        break;
    default:
        语句体n+1;
        break;
}
其它语句;

2.执行流程:

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

3.注意事项:

(1)break的作用是用来结束switch语句的,一旦执行break,直接跳出到switch外面的其它语句继续执行
(2)switch后面()中的表达式的数据类型,只能是以下几种类型:
基本类型: byte/short/char/int 都可以
引用类型: String或者枚举
(3)case 后面只能写常量,而且常量值不能重复
(4)最后一个default的作用:
用来兜底的,如果所有的case后面的常量值和switch中表达式的值都不相同,就执行default中的内容
(5)如果default放在最后的话: 后面的break可以省略
(6)如果所有的case和default后面都有break,那么default和case的顺序可以任意排列,不影响最终的结果

4.缩写代码,case穿透

当多个case里的执行语句重复时,可以写在一起,这其实就是case穿透,当匹配case 常量值1;时,会继续向后执行,不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。所以可以缩写在一起

switch(表达式) {
	case 常量值1:
	case 常量值2:       
	 语句体1;
        break;
    case 常量值3:
	case 常量值4:
        语句体2;
        break;
    ...
    case 常量值n:
        语句体n;
        break;
    default:
        语句体n+1;
        break;
}
其它语句;

三、for循环

1.写法

//for(初始化表达式1;布尔表达式2;步进表达式4){
//        循环体3;
//    }
      for (int count = 1; count <= 5; count++) {
            System.out.println("HelloWorld....."+count);
        }

知道循环次数的可以使用这个

四、while语句

不知道多少次循环用这个

1.写法

初始化表达式1;
//	while(布尔表达式2) {
   //     循环体3;
   //     步进表达式4;
  //  }
//	其它语句
   //使用while
        int j = 1;
        while(j<=5) {//j: 1,2,3,4,5    6<=5 --> false --> 结束while循环
            System.out.println("HelloWorld~~~~~"+j);
            j++;
        }
        System.out.println("main......end.....");


五、do-while循环

必定先执行一次

1.写法

初始化表达式1;
//do {
//    循环体3;
//    步进表达式4;
//}while(布尔表达式2);
    int i = 1;
        do {
            System.out.println("HelloWorld~~~~~"+i);
            i++;
        }while(i<=5);//2,3,4,5   6<=5: false,结束do-while循环,执行后面的语句
        System.out.println("main....end....");

六、break

1.作用

1.使用在switch语句中,用来结束switch语句,执行switch语句后面的其它语句
2.使用在循环中,用来结束循环(1.本次循环的循环体中break后面的代码不再执行 2.剩余次数的循环也不再执行),
执行循环后面的其它语句
3.break不能使用在出switch和循环语句以外的其它位置

七、continue

1.作用
1.只能使用在循环中,作用是提前结束本次循环,继续进行下一次循环
2.不能使用在除循环结构中的其它位置

八、returen

跳出循环或者退出方法

九、随机数

1.作用

java.util.Random类就是用来产生随机数字的,也是一种引用类型

2.使用

(1)导包(找到我们要使用的东西)

//import 包名.类名;
import java.util.Random;

快捷键:
alt + 回车
注意:
a.java.lang包下的东西可以直接使用,不用导包
b.当前类和要使用的类,处于同一个包中,也不用导包

(2)创建对象

//类名 对象名 = new 类名(...);
//类名: 之前写代码时,class关键字后面的名称
    
//创建Scanner类的对象:
 Scanner sc = new Scanner(System.in);//其中: System.in 是固定写法

//创建Random类的对象:
 Random r = new Random();//其中: ()中什么都不用写,固定格式

(3)使用

//Scanner中获取键盘录入的整数: 
int num = sc.nextInt();
//Random中产生随机整数数字:
r.nextInt(): //产生一个int范围内(正负21亿)的随机数字
r.nextInt(int类型整数数字n): //产生一个0到n之间的随机数字(包含0,但是不包含n)
			              //其中: 圆括号()中的int类型整数数字n表示产生随机数字的上限范围
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值