上海传智播客JAVASE_day03学习笔记

本文详细介绍了Java中的各种运算符(包括比较运算符、逻辑运算符、位运算符等)及其使用方法,并深入探讨了不同类型的控制语句如if-else、switch-case、while循环、do-while循环及for循环的应用场景与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《运算符和语句》总结    Day03  张伦琦
1.    运算符    
    1.1比较运算符
        A:名称:比较运算符又叫关系运算符。
        B:注意:1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
            2:比较运算符“==”不能误写成“=” 。
    1.2逻辑运算符    
         A:注意:1.只能对boolean类型的值进行运算
             2.结果也是boolean类型的值
             3.在Java中不可以写成3<x<6,应该写成(x>3) && (x<6) 。
    1.3位运算符
        A:1.运算方法:
                    
                     00000011    3
                     --------
            ‘<<’右边补0     000000110   3<<1
                      --------
                     00000001100 3<<1
                       ---------
            
            ‘>>’左边补足最高位,‘>>>’左边补0
            System.out.println(3>>1);    //1,3/(2^1)=1
            System.out.println(3>>2);    //1,3/(2^2)=0
            System.out.println(3>>>1);

            
            ‘&’  同时为1才为1,其他为0.
                    0000 0110
                    0000 0011
                    ---------
                    0000 0010=2
            
                System.out.println(6&3);


            ‘|’   同时为0才为0,其他为1。
                    0000 0110
                    0000 0011
                    ---------
                    0000 0111=7
        
                System.out.println(6|3);

            
        
            ‘^’    相同为0,相异为1。
                     0000 0110
                     0000 0011
                     ---------
                     0000 0101=5
                
                System.out.println(6 ^ 3);


            
            '~'    逐位取反,0变1,1变0.
                    6   0000 0110  (补码)
                   ~6   1111 1001  (补码)/*计算机中都是拿补码计算,所以要转化成源码*/

                    1111 1001  (补码)
                    1111 1000  (反码)
                    1000 0111  (原码)  -7
            
                System.out.println(~6);


            
                
           2.位运算的方法巧用做数值无中间量转化
                    int i=3;
                    int j=5;
                    i=i^j;
                    j=(i^j)^j;//j=i;
                    i=(i^j)^((i^j)^j);//i=j;


                
    1.4三元运算符和优先级、结合性
        A:三元运算符,三目运算符
            (条件表达式)?表达式1:表达式2;
            如果条件为true,运算后的结果是表达式1;
            如果条件为false,运算后的结果是表达式2;

        B:表达式:是指用运算符连接起来的,符合java语法的式子。
            Java表达式可以分为如下几种:
            算数表达式:20+10
            关系表达式:800>200
            逻辑表达式:10>5 && 100<80
            赋值表达式:a=10

        C:条件表达式:
            结果是boolean类型的表达式,要么是true,要么是false
        
        D:注意:
            ‘&&’只要判断左端位0,整个表达式为0;
            ‘&’需要把整个表达式遍历完才能出结果。
            ‘||’只要判断左端位1,整个表达式为1;
            ‘|’需要把整个表达式遍历完才能出结果。

2.    控制语句    
    2.1分支语句-IF    
        A:if语句的第一种格式
          if(条件表达式){
            执行语句;
          }
          条件表达式: 结果是boolean 只有为true才执行语句,为false不执行语句。
        
        B:if语句的第二种格式
          if(条件表达式){
             执行语句;//true
          }else{
             执行语句;//false
          }
        
        C:if语句的第三种格式
          if(条件表达式){
             执行语句;//true
          }else if(条件表达式){
             执行语句;
          }
          ·
          ·
          ·else{
            执行语句;
          }
        

        D:注意:
             a.每一种格式都是单条语句。
             b.不要在if()后写;
             c.(j>i)?j:i;最终会产生一个结果,而且结果必须有用,if-else语句没有这个限制。
        
    
    2.2分支语句-switch    
        A:用法:
            switch(表达式){
            case 取值1:
                执行语句;
                break;
            case 取值2:
                执行语句;
                break;
            …...
            default:
                执行语句;
                break;
            }
        B:注意:
              1.表达式:不是条件表达式,byte short int char  (新特性能支持String)
              2.case:情况,不能重复。
              3.break:结束穿透
              4.default:默认选项,可以在最后(推荐写在最后,加上break),
                   也可以在开头,还可以在中间的位置。
              5.switch有两种结束方式,遇到break和遇到switch的结束符号}
              6.好处:1.书写清晰2.执行稍快
        
    2.3循环结构-while
            while语句格式:
                while(条件表达式)
                {
                    执行语句;
                }
            1.条件表达式:boolean,为TRUE执行括号中的语句
            2.执行语句:代表我们要办的事情。而且这事情是重复的
            3.while(true):死循环
            4.注意不要写成无法到达的语句。
            5.凡是重复的就想着用循环
        
    2.4循环结构-do-while
            do while语句格式:
            do
            {
                执行语句;//要办的事情
            }while(条件表达式);
            条件表达式:boolean

            while和do-while的区别
                while是先决条件循环
                while是先判断条件,在执行循环体。
                do-while是后决条件循环
                do-while先执行一次循环体,再判断循环条件,根据判断的结果决定是否循环执行循环体。

            
        
    2.5循环结构-for
                     for(初始化表达式1;循环条件表达式2;循环后的操作表达式3)
            {
                执行语句;
            }

            for(初始化表达式1;循环条件表达式2;循环后的操作表达式3)
            for(int i=1;i<=100;i++){
              System.out.println(i);//执行语句
            }
</pre>            2.6循环结构-循环嵌套    <pre name="code" class="java">    class  ForTest
    {

        
        public static void main(String[] args)
        {

            /*
                打印这个图形状
                *****
                *****
                *****
                *****
                *****
              for (int i=1;i<=5;i++ ){//控制着换行
                //我们的任务,星花和换行
                for(int j=1;j<=5;j++){//5个星花
                   System.out.print("*");
                }
                System.out.println();//换行
              }

               打印以下图形
                 11111
                 22222
                 33333
                 44444
                 55555
               for (int i=1;i<=5;i++ ){
                    for(int j=1;j<=5;j++){
                       System.out.print(i+1);
                    }
                    System.out.println();
                
               }

               打印以下图形  
                 22222
                 33333
                 44444
                 55555
                 66666
              for (int i=1;i<=5;i++ ){
                    for(int j=1;j<=5;j++){
                       System.out.print(i+1);
                    }
                    System.out.println();
              }


              */



               /*
               打印以下图形
                 12345
                 12345
                 12345
                 12345
                 12345
                for (int i=1;i<=5;i++ ){//控制行
                    for(int j=1;j<=5;j++){//控制列
                       System.out.print(j);
                    }
                    System.out.println();
                }
                打印以下图形
                 12345
                 23456
                 34567
                 45678
                 56789
            
                for (int i=1;i<=5;i++ ){//控制着换行
                    for(int j=1;j<=5;j++){
                       System.out.print(i+j-1);
                    }
                    System.out.println();
                }
            */

            /*
             打印以下图形
                *****
                ****
                ***
                **
                *
          //带临时变量k
              for (int i=1,k=0;i<=5;i++ ){
                    for(int j=1;j<=5-k;j++){
                       System.out.print("*");
                    }
                    System.out.println();
                    k++;
              }
              //替换掉带临时变量k
              for (int i=1;i<=5;i++){
                    for(int j=1;j<=5-(i-1);j++){
                       System.out.print("*");
                    }
                    System.out.println();
              }

              11111
              2222
              333
              44
              5
              for (int i=1;i<=5 ;i++){
                    for (int j=1;j<=5-(i-1) ;j++ ){
                        System.out.print(i);
                    }
                    System.out.println();
              }
              12345
              1234
              123
              12
              1
              for (int i=1;i<=5 ;i++){
                    for (int j=1;j<=5-(i-1) ;j++ ){
                        System.out.print(j);
                    }
                    System.out.println();
              }
          12345
              2345
              345
              45
              5
              for (int i=1;i<=5 ;i++){
                    for (int j=1;j<=5-(i-1);j++ ){
                        System.out.print(j+i-1);
                    }
                    System.out.println();
              }

            */

            
             /*
            
                 *
                 **
                 ***
                 ****
                 *****
                for (int i=1,k=4;i<=5 ;i++,k--){
                    for (int j=1;j<=5-k;j++ ){
                        System.out.print("*");
                    }
                    System.out.println();
                }
                 1
                 22
                 333
                 4444
                 55555

                for (int i=1,k=4;i<=5 ;i++,k--){
                    for (int j=1;j<=5-k;j++ ){
                        System.out.print(i);
                    }
                    System.out.println();
                }
                 1
                 12
                 123
                 1234
                 12345
                for (int i=1,k=4;i<=5 ;i++,k--){
                    for (int j=1;j<=5-k;j++ ){
                        System.out.print(j);
                    }
                    System.out.println();
                }

             */

        

        }
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值