数算运算符

 +加

 -减

 *乘

 /除整,取商

 %取余数

 整数操作只能得到整数, 想得到小数, 必须有浮点数参与运算

字符"+"操作字符

 在计算机底层对应数值来进行运算

 'A' = 65     A-Z是连续的
 'a' = 97 a-z
 '0' = 48 0-9

 算术表达式中包含多个基本数据类型的值时,正个算术表达式的类型会自动进行提升
 byte -> short -> int -> long -> float -> double   从小到大

字符串"+"操作

 当"+"操作出现字符串时,这个"+"是字符串连接符
 在"+"操作中,出现了字符串,就是连接符,否则算数运算
 当连续进行"+"操作时,从左到右执行
public class Stu_3_1 {
    public static void main(String[] args) {
        //1. 数算运算符
        int a = 10;
        int b = 20;
        System.out.println(a + b);
        System.out.println(a - b);

        //2. 字符"+"操作
        char c = 'A';
        int sum = a + c;  //自动类型转换 小->大
        System.out.println(sum);

        byte bsum = (byte) (a + c); // 强制类型转换 大->小
        System.out.println(bsum);

        //3. 字符串"+"操作
        String name = "LZF";

        //当连续进行"+"操作时,从左到右执行
        System.out.println(name + 10 + 20); // LZF1020
        System.out.println(10 + 20 + name); // 30LZF
    }
}

赋值运算符

 =  等于
 -= 减等于 如: a-=1 --> a= a-1;
 += 加等于 
 *= 乘等于
 /= 除等于  取整
 %= 余等于  取余

自增自减运算符 

 ++ 自增
 -- 自减
 ++, -- 可放变量后边,也可放在变量前边

 单独使用时,++, --无论放在前边还是后边,结果都一样
 参与操作时, 如放在变量后边, 先拿变量参与操作, 后拿变量做++, --
 如:
   int i = 1;
   int a = i++; //a=1, i=2 先执行赋值,后做自增
   int b = ++i; //b=3, i=3 先自增,后做赋值

关系运算符

 ==  等等于
 != 不等于
 >  大于
 >=  大于并等于
 <  小于
 <=  小于等于
 关系运算符的结果都是boolean类型
public class Stu_3_2 {
    public static void main(String[] args) {
        //1. 赋值运算符
        int a = 10;
        a += 10;
        System.out.println(a);

        //注: 拓展的赋值运算符隐含了强制类型转换
        byte b = 1;
        b += a;
        //b = (byte)(b + a);
        System.out.println(b);

        //2. 自增自减运算符
        int i = 1;

        //int j = i++; // 先赋值给j, 后i自增
        int j = ++i; // 先i自增, 后赋值j
        System.out.println(j);
        System.out.println(i);
    }
}

逻辑运算符

 & 与      a&b a和b都是true, 结果为true, 否则false
 | 或      a|b a和b都是false, 结果为false, 否则true
 ^ 异或    a^b a和b结果不同为true, 相同为false
 ! 非      !a  结果和a相反

短路逻辑运算符

 &&  短路与     
 ||  短路或
 逻辑&, 无论左边真假,右边都会执行
 短路与&&, 如果左边真,右边执行, 如果左边假,右边不执行
 逻辑|, 无论左边真假,右边都会执行
 短路或||, 如果左边假,右边执行, 如果左边真,右边不执行
 常用: && || !

三元运算符

 格式: 关系表达式 ? 表达式1 : 表达式2;
 如: a > b ? 表达式1 : 表达式2;
  如果a>b为true,则表达式1的值就是运算结果
  如果a>b为false,则表达式2的值就是运算结果
public class Stu_3_4 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //三目运算, 获取最大值
        int max = a > b ? a : b;
        System.out.println(max);
    }
}