• Java语言基础第三天


    1. 运算符:

      • 算术:+、-、*、/、%、++、--

        • %:取模/取余,余数为0即为整除

          1. System.out.println(5%2); //1,商2余1
          2. System.out.println(8%2); //0,商4余0----整除
          3. System.out.println(2%8); //2,商0余2

        • ++/--:自增1/自减1,可在变量前也可在变量后

          • 单独使用时,在前在后都一样

            1. //++单独使用:
            2. int a=5,b=5;
            3. a++; //相当于a=a+1
            4. ++b; //相当于b=b+1
            5. System.out.println(a); //6
            6. System.out.println(b); //6
            7. //--单独使用:
            8. int a=5,b=5;
            9. a--; //相当于a=a-1
            10. --b; //相当于b=b-1
            11. System.out.println(a); //4
            12. System.out.println(b); //4

          • 被使用时,在前在后不一样

            • a++的值为a----------(a--的值为a)

            • ++a的值为a+1--------(--a的值为a-1)

            1. //++被使用:
            2. int a=5,b=5;
            3. int c = a++; //1)记录下a++的值5 2)a自增1变为6 3)将记录的5赋值给c--了解
            4.             //简便记法:a++的值为5,所以c的值就是5
            5. int d = ++b; //1)记录下++b的值6 2)b自增1变为6 3)将记录的6赋值给d--了解
            6.             //简便记法:++b的值为6,所以d的值就是6
            7. System.out.println(a); //6
            8. System.out.println(b); //6
            9. System.out.println(c); //5
            10. System.out.println(d); //6
            11. //--被使用:
            12. int a=5,b=5;
            13. int c = a--; //a--的值为5,所以c就是5
            14. int d = --b; //--b的值为4,所以d就是4
            15. System.out.println(a); //4
            16. System.out.println(b); //4
            17. System.out.println(c); //5
            18. System.out.println(d); //4

      • 关系:>、<、>=、<=、==、!=

        • 大于>,小于<,大于或等于>=,小于或等于<=,等于==,不等于!=

        • 关系运算的结果为boolean型,关系成立则为true,关系不成立则为false

          1. int a=5,b=10,c=5;
          2. boolean b1 = a>b;
          3. System.out.println(b1);   //false
          4. System.out.println(c//true
          5. System.out.println(b>=a); //true
          6. System.out.println(a<=c); //true
          7. System.out.println(a==c); //true
          8. System.out.println(a!=c); //false
          9. System.out.println(a+c>10); //false
          10. System.out.println(a%2==0); //false
          11. System.out.println(a++>5); //false------a自增1变为6
          12. System.out.println(a++>5); //true-------a自增1变为7

      • 逻辑:&&、||、!

        • &&:短路与(并且),两边都为真则为真,见false则false ---若第1个条件为false,则发生短路(后面的不执行了)

        1.  int a=5,b=10,c=5;
        2.  boolean b1 = b>=a && b
        3.  System.out.println(b1);          //true&&false=false
        4.  System.out.println(b<=c && b>a); //false&&true=false
        5.  System.out.println(a==b && c>b); //false&&false=false
        6.  System.out.println(b!=c && a//true&&true=true
        7.  
        8.  //演示短路:
        9.  boolean b3 = a>b && c++>2;
        10.  System.out.println(b3); //false
        11.  System.out.println(c);  //5,发生短路了(c++>2并没有被执行)

        ||:短路或(或者),有真则为真,见true则true ---若第1个条件为true,则发生短路(后面的不执行了)

        1.  System.out.println(b>=a || b//true||false=true
        2.  System.out.println(b<=c || b>a); //false||true=true
        3.  System.out.println(b!=c || a//true||true=true
        4.  System.out.println(a==b || c>b); //false||false=false
        5.  
        6.  //演示短路:
        7.  boolean b4 = a2;
        8.  System.out.println(b4); //true
        9.  System.out.println(c);  //5,发生短路了(c++>2并没有被执行)

        !:逻辑非(取反),非真则假,非假则真

        1.  boolean b2 = !(a>b); //!的优先级高,所以需要将a>b括起来
        2.  System.out.println(b2);     //!false=true
        3.  System.out.println(!(a//!true=false
        • 逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是boolean型

      • 赋值:=、+=、-=、*=、/=、%=

        • 简单赋值运算符:=

        • 扩展赋值运算符:+=、-=、*=、/=、%= ---扩展赋值自带强转功能

          1. int a = 5;
          2. a += 10; //相当于a=(int)(a+10)
          3. System.out.println(a); //15
          4. a *= 2; //相当于a=(int)(a*2)
          5. System.out.println(a); //30
          6. a /= 6; //相当于a=(int)(a/6)
          7. System.out.println(a); //5
          8. //小面试题:
          9. short s = 5;
          10. //s = s+10; //编译错误,需强转,改为:s=(short)(s+10);
          11. s += 10; //相当于: s=(short)(s+10);

      • 字符串连接:

        • +:

          • 若两边为数字,则做加法运算

          • 若两边出现了字符串,则做字符串连接 ---任何类型的数据与字符串相连,结果都会变为字符串类型

            1. int age = 38;
            2. System.out.println("age="); //age=
            3. System.out.println(age);    //38
            4. System.out.println("age="+age); //age=38
            5. System.out.println("我的年龄是"+age); //我的年龄是38
            6. System.out.println("我今年"+age+"岁了"); //我今年38岁了
            7. String name = "WKJ"; //String是字符串数据类型
            8. System.out.println("大家好,我叫"+name); //大家好,我叫WKJ
            9. System.out.println("大家好,我叫"+name+",今年"+age+"岁了"); //大家好,我叫WKJ,今年38岁了
            10. System.out.println(10+20+""+30); //3030------String
            11. System.out.println(""+10+20+30); //102030----String
            12. System.out.println(10+20+30+""); //60--------String

      • 条件/三目:boolean?数1:数2

        • 语法: boolean?数1:数2

        • 执行过程:

          • 整个表达式是有值的,它的值要么是?号后的数1,要么是:号后的数2

          • 计算boolean的值:

            • 若为true,则整个表达式的值为?号后的数1

            • 若为false,则整个表达式的值为:号后的数2

        1. int num = 5;
        2. int flag = num>0?1:-1;
        3. System.out.println(flag); //1
        4. int a=8,b=55;
        5. int max = a>b?a:b;
        6. System.out.println("max="+max);

    2. 分支结构:基于条件执行某语句

      • if结构:1条路

        1)语法:
           if(boolean){
              语句块----------有条件执行的语句
           }
        2)执行过程:
           判断boolean的值:
             若为true,则执行语句块(if整个结束)
             若为false,则if直接结束
        1. //1)偶数的判断:
        2. int num = 6; //带数(6,5)
        3. if(num%2==0){
        4.    System.out.println(num+"是偶数");
        5. }
        6. System.out.println("继续执行...");
        7. //2)满500打8折:
        8. double price = 300.0; //消费金额 带数(600.0,300.0)
        9. if(price>=500){ //满500
        10.    price = price*0.8; //打8折
        11. }
        12. System.out.println("最终结算金额为:"+price);

      • if...else结构:2条路

        1)语法:
          if(boolean){
              语句块1
          }else{
              语句块2
          }
        2)执行过程:
            判断boolean的值:
               若为true,则执行语句块1(整个结束)
               若为false,则执行语句块2(整个结束)
        3)说明:
            语句块1和语句块2,必走其中之一-------2选1
        1. //1)偶数、奇数的判断:
        2. int num = 5; //带数(6,5)
        3. if(num%2==0){
        4.    System.out.println(num+"是偶数");
        5. }else{
        6.    System.out.println(num+"是奇数");
        7. }
        8. System.out.println("继续执行...");
        9. //2)满500打8折,不满500打9折:
        10. double price = 300.0;
        11. if(price>=500){ //带数(600.0,300.0)
        12.    price *= 0.8;
        13. }else{
        14.    price *= 0.9;
        15. }
        16. System.out.println("最终结算金额为:"+price);

    精华笔记:

    1. 运算符:

      • 算术:+、-、*、/、%、++、--

      • 关系:>、<、>=、<=、==、!=

      • 逻辑:&&、||、!

      • 赋值:=、+=、-=、*=、/=、%=

      • 字符串连接:+

      • 条件/三目:boolean?数1:数2

    2. 分支结构:基于条件执行某语句

      • if结构:1条路

      • if...else结构:2条路

    补充:

    1. 任何复杂的程序逻辑都可以通过三种结构来实现:

      • 顺序结构

      • 分支结构

      • 循环结构

  • 相关阅读:
    零信任沙盒,加密沙盒,防泄密沙盒
    代码随想录66——额外题目【回溯、贪心】:52N皇后II、649Dota2 参议院、1221分割平衡字符串
    软件设计师 下午题第6题
    提高APP安全性的必备加固手段——深度解析代码混淆技术
    软件压力测试:测试方法与步骤详解
    万字手撕七大排序(代码+动图演示)
    解决 vue 项目开发越久 node_modules包越大的问题
    解决uni-app中使用webview键盘弹起遮挡input输入框问题
    R语言——taxize(第四部分)
    医疗HIS行业短信发送解决方案
  • 原文地址:https://blog.csdn.net/weixin_68522070/article/details/134521400