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,可在变量前也可在变量后

       - 单独使用时,在前在后都一样
       - 被使用时,在前在后不一样
         - a++的值为a----------(a--的值为a)
         - ++a的值为a+1--------(--a的值为a-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;
       int c = a++; //1)将a++的值5赋值给c  2)a自增1变为6
       int d = ++b; //1)将++b的值6赋值给d  2)b自增1变为6
       System.out.println(a); //6
       System.out.println(b); //6
       System.out.println(c); //5
       System.out.println(d); //6

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

     ```java
     1)>(大于)、<(小于)
       >=(大于或等于)、<=(小于或等于)
       ==(等于)、!=(不等于)
     2)关系运算的结果为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(a>=c); //true
     System.out.println(a<=b); //true
     System.out.println(a==c); //true
     System.out.println(a!=c); //false
     System.out.println(a+c>b);  //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

   - 逻辑:&&、||、!

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

     - &&:短路与(并且),两边都为真则为真,见false则false

       - 当第1个条件为false时,则发生短路(后面的不执行了)

   - ||:短路或(或者),有真则为真,见true则true

       - 当第1个条件为true时,则发生短路(后面的不执行了)

//演示短路:
       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

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

     - 简单赋值运算符:=

     - 扩展赋值运算符:+=,-=,*=,/=,%=    

       - 注意:扩展赋值运算符自带强转功能

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 = 38;
       System.out.println("age="); //age=
       System.out.println(age);    //38
       System.out.println("age="+age); //age=38
       System.out.println("我的年龄是"+age); //我的年龄是38
       System.out.println("我今年"+age+"岁了"); //我今年38岁了
       
       String name = "WKJ";
       System.out.println("name="+name); //name=WKJ
       System.out.println("大家好,我叫"+name); //大家好,我叫WKJ
       System.out.println("大家好,我叫"+name+",今年"+age+"岁了"); //大家好,我叫WKJ,今年38岁了
       
       System.out.println(10+20+""+30); //3030-----------String
       System.out.println(""+10+20+30); //102030---------String
       System.out.println(10+20+30+""); //60-------------String

条件/三目:

     - 语法:

       - 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); //max=55

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

- if结构:1条路
            1)语法:
         if(boolean){
            语句块--------------基于条件执行的语句
         }


     2)执行过程:
         判断boolean的值:
            若为true,则执行语句块(整个结束)
            若为false,则直接结束
 

int num = 5; //带数(6,5)
     if(num%2==0){
         System.out.println(num+"是偶数");
     }

 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("继续执行...");

# 补充:

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

   - 顺序结构:从上往下逐行执行,每句必走
   - 分支结构:有条件的执行某语句,并非每句必走