java总结 流程结构语句(二)

一、三元运算符

三元运算符的格式:
    (表达式)?执行语句1(具体的结果):执行语句2(具体的结果);

1)先判断表达式的结果是否成立,如果结果为true,就执行成立的语句1;
    否则不成立,则执行不成立的语句2;
    
    需求:
            1)定义两个变量,求两个变量中的最大值
            2)定义三个变量,求三个变量中的最大值
            3)定义两个变量,求两个变量是否相等  (boolean :true/false)

二、文本录入

1)导包 用哪个一类,就需要导入到当前Java文件中(只要不是java.lang包下的类,都需要导入)
        
​
    固定写法:
            import java.util.Scanner; //用谁导谁
    书写位置:在class的上面
    
2)固定格式:创建文本扫描器对象
    Scanner 对象名 = new Scanner(System.in) ; //对象名:自己起名字
    
3)提示并录入数据 (默认录入int类型)
    System.out.println("请您输入数据:") ;
    int 变量名= 对象名.nextInt() ; //录入一个int类型的数据
    
4)完成自己的业务操作:使用这个变量名(求两个数据是否相等/比较数据最大值等等...) 

三、流程控制语句

三个分类:

顺序结构语句
选择结构语句
循环结构语句
​
顺序结构语句: 
    当进入到类中之后,jvm调用main方法,代码由上而下依次加载
    除非一种特例:当jvm退出了就不会进行执行了!
            后期System类中有一个功能:exit(int status) 参数里面为0,表示正常终止jvm

四、if语句

1.if语句 有三种格式

if语句格式1:
        
        if(表达式){
            
            语句;
        }
        
执行流程: 
    1)首先表达式是否成立,成立,则执行该语句
    2)不成立,不会进入if里面;
    
应用场景:针对一种情况判断   
​
if语句格式注意事项:
​
    1)有{括号的地方不能有分号;
        2)当前if(表达式){    //{}可以省略不写,但是开始学习建议!
            语句 ;
}
If选择结构语句格式2:
    
​
开发中使用最多:针对两种情况进行判断!
​
if(表达式){
    语句1;
}else{
    语句2;
}
​
执行流程:
    1)先判断表达式是否成立,如果成立,执行执行语句1;
    2)如果不成立,则执行语句2;
    
需求:键盘录入两个数据,比较两个数据是否相等

if语句格式3 针对多种情况进行判断

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

}
​
2.执行流程:
        1)首先判断表达式1是否成立,如果成立,则执行语句1;
        2)如果上面表达式1不成立,继续判断表达式2是否成立,如果成立,执行语句2
        3)如果表达式2也不成立,继续判断表达式3是否成立,如果成立,执行语句3
        ...
        ...
        4)如果上面的条件表达式都不成立,则执行最终语句n+1 ;

3.if语句格式2和三元运算符有什么区别?

    if是一个流程控制语句,不仅能够表示具体的结果,而且还可以一个输出语句体现;
    但是三元运算符,一般情况:就是最终是具体的结果体现!
    
    if范围大于三元;能够使用三元运算符实现的一定能够使用if格式2;反之,不一定!
​
if(表达式){
    语句1;
}else{
    语句2;
}
​
(表达式)?执行true的结果:执行false的结果;
​
举例:  
            没有提示,int
​
        1)键盘录入两个数据,获取两个数据中的最大值;
        2)键盘录入一个数据,判断这个数据是否是偶数!(能够被2整除...)

五、switch

1.switch语句的格式:

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

2.执行流程:

1)switch中的表达式的结果值和case语句匹配,值1和结果匹配,
            就执行语句1,遇见break,switch结束;
    2)    值1和switch表达式结果不匹配,继续判断值2是否匹配,如果匹配,就执行语句2,switch语句结束
    3)如果case语句后面值都不匹配,这个执行default语句,执行语句n+1,程序执行到末尾结束...

    break:属于跳转控制语句中的一种    
    结束,中断意思!    (不能单独使用,只能在switch和循环语句中使用)

3.面试题

 switch跟的表达式可以是什么数据类型?    
            能够跟的基本类型:int,byte,short,char
            Jdk版本不同的跟的类型不一样
            JDK5以后,可以 跟枚举: enum : 枚举类(引用类型,里面的都常量!)
                                                        JDK5以后新特性                                            
            JDK7以后:可以跟String类型 

3.Switch语句的注意事项:

    1)case语句后面只能是常量(Java是一个强类型语言: 语法,结构非常严谨)
                相对来说:前端:javascript :简称"js",Switch语句的case中不仅可以常量,也可以是变量
                                    是一个弱类型语言(语法结构非常不严谨)
    
    2)case语句中beark 最好携带上,如果没有携带break语句,会造成"case穿透"
            "case穿透": (要灵活使用,并不是说这个情况不好)
            某个case语句中没有带break,此时当跟case的值匹配,这个时候继续就往下执行,不会在判断case!
    
    3)default语句可以在switch语句中的任何位置,不会影响switch的执行流程
        如果在语句中,
            default里面的break千万不能省略;省略,造成case穿透(考点)
        如果在语句末尾,break可以省略不写,前期不建议
        
    4)switch语句的结束条件是什么?
        a)遇见break结束
        b)程序默认执行到末尾

六、for循环

1.for循环语句的格式

for(初始化语句;条件表达式;步长语句/控制体语句){
        循环体语句;
    }
    

2.执行流程

1)初始化语句对变量进行赋值 
2)判断条件表达式是否成立;
    如果是成立,执行循环体语句;
3)继续执行控制体语句 
4)继续回到2)里面判断
    如果是成立,执行循环体语句;
继续回到3)  
...
...
...
一直执行到条件不成立结束;

七、while循环

1.格式

while循环的格式:
        常用的格式
        初始化语句;
        while(条件表达式){
            循环体语句;
            控制体语句;
        }

2.执行流程

1)先初始化赋值
            2)判断条件表达式是否成立,成立,则执行循环体语句-
            3)执行控制体语句---继续判断条件是否成立,----循环,,,
            ...
            ...
            4)执行到条件表达式不成立,while语句结束

3. while和for循环的区别

1)共同点:都时能够实现循环的效果;
​
2)从格式有些差异
    通用格式:
    for循环:整个操作(初始化语句;条件表达式;控制体语句){
            
    }
    初始化语句;
    while(条件表达式){
        循环体
        控制体语句
    }
    
    a)从内存角度考虑:for循环结束之后,当前里面的局部变量被释放了,节省内存空间!
        相对来说,while循环,结束之后,依然可以访问到这个变量,
        整个main方法结束之后,才释放内存,使用过程中,消耗内存空间!
        for循环比while更好一些!
        
    b) 当前明确循环次数时候,优先使用for循环;不明确循环次数使用的while循环
        for使用最多;

八、常见的两种死循环

for循环的死循环格式(开发中使用不多,jdk原码中会见到这种格式)
for(;;){
    
    //当满足某个条件的时候,结束 ----->break;
    循环体语句;
}
​
开发中,使用多:while循环:死循环格式
while(true){
    //当满足某个条件的时候,结束 ----->break;
    循环体语句;
}

九、 for循环语句的嵌套:

1.格式

for(初始化语句;条件表达式;控制体语句){---外层循环
        //循环体语句
        for(初始化语句;条件表达式;控制体语句){--- 内层循环
            循环体语句...
        }
    }
    
将一个for循环语句作为 "循环体"去执行;  
​
​

2.举例//99乘法表

//为了表示有效数据:从1开始
        for(int x = 1 ; x <= 9 ; x++){//控制行数
            //内层循环:列数在变化
            for(int y = 1; y <=x ; y++){
                System.out.print( x+"*"+y+"="+(y*x)+"\t") ;
                //使用制表符号:
                //转义字符"\x" 
                //\n :表示换行
                //\t :制表符,类似于tab键的效果,缩进空格
                
​
        }
    System.out.println() ;
    }
}
​
}

十、跳转控制语句

   break ;
    continue ;
    return ;
break:中断,结束
不能单独使用,
1)只能在switch或者循环语句中使用;  单循环for循环中使用
​
2)在for循环嵌套中使用 
        break 标签语句 ;(现在很少见)
        
        给外层循环,或者内层循环起名字--->标签语句;
    3)  continue:继续---->结束当前循环,立即进入下次循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值