三、JAVA流程控制(选择结构if、while、for、switch)

选择结构

if

结构

if(布尔条件){

//如果条件为真,则执行

}


注意如果if()后不加{}则if/for/while都只对下面第一条语句生效(步推荐使用)


if…else…

结构

if(布尔条件){

//如果条件为真,则执行

}else{

//如果条件为假执行此模块

}

习题

int b = 0 ; 
if(3>2)
    b = 1; 
else
    b = -1 ;
b++ ;
System.out.println(b) ;
//b为2 以为不加括号只执行判断语句的下一句话

多重if

多重if:多重选择

结构

if(){

}else if(){

}else{

}

分析时,可以借助于数轴

多重If ,编写顺序,先写严格的


if嵌套

结构

if(){

​ if(){

​ if(){

​ }

​ }

}


switch

int rank = 2 ;
        switch (rank){
            case 1:
                System.out.println("笔记本电脑");
                break;
            case 2:
                System.out.println("U盘");
                break;
            case 3:
                System.out.println("夏令营");
                break;//break表示整个switch全部结束
            default:
                System.out.println("不奖励");
                break;

switch会用 rank和所有的case匹配,如果匹配成功,则执行相应的case后的语句,知道遇到break结束;

在switch中,如果rank和所有的case都步匹配,则执行default

switch后能放的类型

char、byte、int、Character、Byte、Short、Integer、enum、枚举

case后的值只能是常量 ,不能重复,不支持double类型

default可省略

swtich只有遇到break和最会}才结束;

break一半步建议省略,特殊情况下省略

eg{spictice}

int month = 5 ;
switch(mounth){
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        System.out.println("是大月");
        break;

多重if和switch有什么用法区别?

如果判断的是区间值,用多重if

如果判断的是离散/单点值,switch


随机数

**Math.random() ; **

取值范围:[0,1)

百位随机数

(int)(Math.random()*三位数中最大的整百数)+最小的整百数

eg三位数

(int)(Math.random()*900)+100 ;


循环

生活中的循环

  1. 周一~周五18:00放学
  2. 做100道数学题
  3. 自行车轮子转动

循环操作/循环体、循环条件

while

结构

whlie(循环条件){

​ 循环操作;

}

循环要注意更新变量,防止死循环

先判断后执行

do…while

结构

do{

循环操作

}while(循环条件);

限执行后判断,至少执行一次

//用循环实现 登录操作,若用户名、用户密码错误 则给出提示,并重新登录
        String username = "" ;
        String password = "" ;
        Scanner input = new Scanner (System.in) ;
        do{
            //如果第一次进入不显示这个if
            if(!(username.equals(""))){
                System.out.println("登录错误请重新登录");
            }
            System.out.println("请输入用户名和密码");
            username = input.next() ;
            password = input.next() ;
        }while(!(username.equals("zhao"))&&!(password.equals("123"))) ;
System.out.println("恭喜你登录成功");

for

结构

for(初始值;循环条件;更新变量){

​ 循环操作

}

增强for循环

for(声明语句:表达式){

​ //代码句子

}

int [] unms = {10,20,30,40,50} ;//定义一个数组
//增强for循环
for(int x : unms){
System.out.println(x) ;
}
---------------------------------------------
//正常for循环
for(int i = 0 ; i<5 ; i++){
    System.out.prinlin(unms[i]) ;
}

时候循环次数知的、始末条件已经知道

break、continue

break:退出循环、终止循环

continue:跳出当前循环、继续下一次循环

boolean flag = 3<2 ;
if(flag= true){
    System.out.println("a") ;
}else{
    System.out.println("b");
}
//输出语句为a 因为if括号中是一个=表示赋值所以flag就等于true
//分清=和==一个是赋值一个是等于

二重循环

while(){

​ for(){

​ }

}

二重循环:外层循环执行一次,内层循环执行一次(从头到尾)

打印算法、算法(冒泡排序):【外层循环和内层循环之间的数据关系】

foreach

结构

for(元数据类型 变量值 :数组)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵同学‍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值