day03(位运算+三元运算+if+switch+while)

传智播客java基础班冯佳老师整理,还会持续更新,请关注冯佳老师的微

fengjia_2553868@qq.com

1:位运算符

  • 位运算符2<<3 2 * 8 == 2 * 2^3
    • <<一个整数向左移动几位就乘以2的几次幂
    • >>一个整数向右移动几位就除以2的几次幂,高位是0就补0,高位是1就补1
    • >>>无符号右移无论最高位的符号位是0还是1,用无符号右移后高位符号位都是补0
    • 使用为运算符计算2*8效率最高

2:三元运算符

  • 格式 :(条件表达式)?表达式1:表达式2;
    • 如果条件为true,运算后的结果是表达式1;
    • 如果条件为false,运算后的结果是表达式2;
    • 条件运算符运算完之后一定有一个结果

  
  
1
2
3
4
int  x,y,z;
x =  5 ;
y =  10 ;
z = x > y ? x : y;
  • 表达式
  • 运算符的优先级。
  • 简单一定有局限,三元运算符简化了if-else操作,但是条件表达式需要有结果才行。就几个数的最值可以使用三元运算符。

3:程序运行流程&顺序结构

  • 顺序结构
  • 判断结构
  • 选择结构
  • 循环结构

4:if语句

  • 三种格式:
  • 第一种:

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (条件表达式){
         执行语句;
    }
    System.out.println();
     
    举例:
    int  age =  17 ;
    if  (age >=  18 )
        System.out.println( "可以浏览本网站" );
     
    System.out.println( "完了" );
  • 第二种:

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if (条件表达式){  
         执行语句;       
    } else {          
         执行语句;   
    }
     
    举例:
    int  x =  1 ;
    if  (x ==  1 ){
         System.out.println( "男厕所欢迎您" );
    } else  {
         System.out.println( "女厕所欢迎您" );
    }
     
    if  else  与三元运算符的区别
  • 第三种:

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if (条件表达式){
            执行语句;
    } else  if  (条件表达式){
           执行语句;
    } else {
           执行语句;
    }
     
    举例:
    int  x =  1 ;
    if  (x ==  1 ){
         System.out.println( "男厕所欢迎您" );
    } else  if (x ==  0 ){
         System.out.println( "女厕所欢迎您" );
    } else  {
         System.out.println( "无法识别您的性别" );

5:if语句嵌套


  
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     int  x =  2 , y =  1 ;
     if (x== 1 ){
         if (y== 1 ){
             System.out.println( "a" );
         } else {
             System.out.println( "b" );
         }
     } else {
         if (y== 1 ){
             System.out.println( "c" );
         } else {
             System.out.println( "d" );
         }
    

6:switch

  • 格式:

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int  x =  10 ;
    switch  (表达式){ //byte,short,int,char,String 枚举
     
    case  表达式里对应的值:
         执行语句;
    break ;
    case  表达式里对应的值:
         执行语句;
    break ;
    ......
    default :
         执行语句;
    break ; //最后一句的break可写可不写,因为程序已经执行到了末尾
    }
  • 案例:

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int  x =  10 ;
    String name =  "张三" ;
    String gender =  "先生" ;
    switch  (gender){
    case  "先生" :
         System.out.println(name +  "是一位"  + gender +  "喜欢吃饭睡觉打dota" );
    break ;
    case  "女士" :
         System.out.println(name +  "是一位"  + gender +  "逛街购物美容" );
    break ;
    default :
         System.out.println(name +  "是一位"  + gender +  "打雌性激素保持美貌容颜" );
     
    }
  • switch结束的两种情况
    • 1,当程序执行过程中遇到了break
    • 2,当程序执行到了末尾处
  • switch语句需要注意的两个细节
    • 1,当switch表达式的值与其中一个case匹配的时候,这个case里没有写break;语句,那么程序会继续执行下个case里的执行语句,不会再对case值进行判断,应用于当几个case里的值所要执行的语句都一样的时候,我们可以不写break
    例如:我们做一年有四季的例子:

  
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
     int  month =  4 ;
     switch  (month){
     case  3 :
     case  4 :
     case  5 :
         System.out.println(month+ "月是春季" );
     break ;
     case  6 :
     case  7 :
     case  8 :
         System.out.println(month+ "月是夏季" );
     break ;
     case  9 :
     case  10 :
     case  11 :
         System.out.println(month+ "月是秋季" );
     break ;
     case  12 :
     case  1 :
     case  2 :
         System.out.println(month+ "月是冬季" );
     break ;
     default :
         System.out.println(month+ "月没有这样的月份" )
 
     } //上述例子就是三个case里面的值输出都一样的,所以我们省略了break;这样会少写几行代码,提高效率
* 2,当我们把 default 不是写在最后,default 里面还没有写break的是时候,switch里的表达式与各个case里的值都不匹配的时候,上面两个条件同时满足的话,程序在default里执行完了还会再去执行case里的语句
    例如:

  
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     int  x =  3 ;
     switch  (x){
 
     case  4 :
         System.out.print( "a" );
     break ;
     default :
         System.out.print( "b" ); //当程序执行到了default但是他没有break,下面的case值不再判断,程序继续执行
     case  5 :
         System.out.print( "c" );
     case  6 :
         System.out.print( "d" );
     break ; //遇到break,程序跳出
     case  7 :
         System.out.print( "e" );
     }

7:while

  • while循环

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    格式:
    while  (条件表达式){
         循环体;
    }
     
    例如:
    int  x =  3 ;
    while  (x< 6 ){
    }
         System.out.println( "x=" +x); //循环体
         x++; //用x自增来控制循环次数
  • do while 循环

    
        
        
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    格式:
    do {
         循环体;
         控制循环次数
    }
    while  (条件表达式);
    例如:
    int  x =  3 ;
    do {
         System.out.println( "x=" +x); //循环体
         x++; //用x自增来控制循环次数
    }
    while  (x< 6 );
  • while和do while的区别:
    • dowhile语句会先执行循环体,再去判断条件,也就是说无论条件是否满足他都至少要执行一次循环体,先执行,再判断
    • while 先判断条件,只要条件不满足就不在执行循环体了,先判断,再执行.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值