运算符、分支结构day03

  1. 运算符:

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

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

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

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

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

          //++单独使用:
          int a=5,b=5;
          a++; //相当于a=a+1
          ++b; //相当于b=b+1
          System.out.println(a); //6
          System.out.println(b); //6
          ​
          //--单独使用:
          int a=5,b=5;
          a--; //相当于a=a-1
          --b; //相当于b=b-1
          System.out.println(a); //4
          System.out.println(b); //4

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

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

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

          //++被使用:
          int a=5,b=5;
          int c = a++; //1)记录a++的值5  2)a自增1变为6  3)将刚刚记录的a++的值5 赋值给c
                       //简便记法: a++的值为5,所以c就是5
          int d = ++b; //1)记录++b的值6  2)b自增1变为6  3)将刚刚记录的++b的值6赋值给d
                       //简便记法: ++b的值为6,所以d就是6
          System.out.println(a); //6
          System.out.println(b); //6
          System.out.println(c); //5
          System.out.println(d); //6
          ​
          //--被使用:
          int a=5,b=5;
          int c = a--; //a--的值为5,所以c就是5
          int d = --b; //--b的值为4,所以d就是4
          System.out.println(a); //4
          System.out.println(b); //4
          System.out.println(c); //5
          System.out.println(d); //4

    • 关系:

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

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

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

    • 逻辑:

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

        int a=5,b=10,c=5;
        boolean b1 = b>=a && b<c;
        System.out.println(b1);          //true&&false=false
        System.out.println(b<=c && b>a); //false&&true=false
        System.out.println(a==b && a>c); //false&&false=false
        System.out.println(a!=b && c<b); //true&&true=true
        ​
        //演示短路
        int a=5,b=10,c=5;
        boolean b3 = a>b && c++>2;
        System.out.println(b3); //false
        System.out.println(c);  //5,发生短路了

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

        int a=5,b=10,c=5;
        System.out.println(b>=a || b<c); //true||false=true
        System.out.println(b<=c || b>a); //false||true=true
        System.out.println(a!=b || c<b); //true||true=true
        System.out.println(a==b || a>c); //false||false=false
        ​
        //演示短路
        int a=5,b=10,c=5;
        boolean b4 = a<b || c++>2;
        System.out.println(b4); //true
        System.out.println(c);  //5,发生短路了

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

        int a=5,b=10,c=5;
        boolean b2 = !(a<b);
        System.out.println(b2);     //!true=false
        System.out.println(!(a>b)); //!false=true

      • 逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是boolean型

    • 赋值:

      • 简单赋值运算符:=

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

        int a = 5;
        a += 10; //相当于a=(int)(a+10)
        System.out.println(a); //15
        a *= 2; //相当于a=(int)(a*2)
        System.out.println(a); //30
        a /= 6; //相当于a=(int)(a/6)
        System.out.println(a); //5
        ​
        
        short s = 5;
        //s = s+10; //编译错误,需强转,改为:s=(short)(s+10);
        s += 10; //相当于: s=(short)(s+10);

    • 字符串连接:

      • +:

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

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

                int age = 26;
                String name = "王涛";
                System.out.println("我的名字叫"+name+",我的年龄是:"+age);
        
                System.out.println(10+10+""+20);//2020
                System.out.println(10+""+10+20);//101020
                System.out.println(""+10+20+30);//102030

    • 条件:

      • 语法: boolean?数1:数2

      • 执行过程:

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

        • 计算boolean的值:

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

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

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

  2. 分支结构:

    • if结构:1条路

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

精华笔记:

  1. 运算符:

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

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

    • 逻辑:&&、||、!

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

    • 字符串连接:+

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

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

    • if结构:1条路

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

补充:

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

    • 顺序结构:从上往下逐行执行,每句必走

    • 分支结构:有条件的执行某语句,并非每句必

 java的八种基本数据类型是什么?

1)byte:字节型,用于存储整数的,占用1个字节,范围-128到127

2)short:短整型,用于存储整数的,占用2个字节,范围-32768到32767

3)int:整型,用于存储整数的,占用4个字节,范围-2^31到2^31-1

4)long:长整型,用于存储整数的,占用8个字节,范围-2^63到2^63-1

5)float:单精度浮点型,用于存储小数的,占用4个字节,不能表示精确的值

6)double:双精度浮点型,用于存储小数的,占用8个字节,不用表示精确的值

7)boolean:布尔型,用于存储true或false的,占用1个字节

8)char:字符型,采用Unicode字符编码格式,用于存储单个字符,占用2个字节

 

  闰年的判断公式:
  1)能被4整除,并且,不能被100整除
    或者
  2)能被400整除
 
int year = 2000; //年份   带数(2022,2020,2000)
if((year%4==0 && year%100!=0) || year%400==0){
    System.out.println(year+"是闰年");
}else{
    System.out.println(year+"是平年");
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值