美文网首页
Java 运算符

Java 运算符

作者: 向祥祥 | 来源:发表于2020-04-11 19:05 被阅读0次

    1. 概念

    运算符:进行特定操作的符号。
    例如:+
    表达式:用运算符连起来的式子。
    例如:1+2、a+b

    2.算数运算符

    包括:
    ①加法运算、字符串连接运算:+;
    1.整数相加:

    System.out.println(20+30);//输出50
    

    2.对char数据类型,在计算前会将char数据提升为int,然后计算
    3.对字符串String,加号代表字符串连接:

    String str1=”Hello”;
    System.out.println(str1+”World”); //输出HelloWorld
    System.out.println(str1+20); //输出Hello20
    System.out.println(str1+20+30); //输出Hello2030
    

    ②减法运算:-;

    int a=20;
    int b=30;
    System.out.println(a-b);//输出-10
    

    ③乘法运算:*;

    int a=20;
    System.out.println(a*10);//输出200
    

    ④除法运算:/;

    int a=10;
    int b=3;
    System.out.println(a/b);//输出3
    

    ⑤取模运算,两个数字相除取余数:%;

    int a=10;
    int b=3;
    System.out.println(a%b);//输出1
    

    ⑥自增运算:++;(变量自己增长1)
    如果是前++,先加后用:变量立刻+1,然后拿着结果进行使用;
    如果是后++,先用后加:变量先拿来使用,然后变量+1。

    int a=20;
    System.out.println(a);//输出20
    ++a;
    System.out.println(a);//输出21
    a++;
    System.out.println(a);//输出22
    b=10;
    System.out.println(b);//输出10
    System.out.println(++b);//输出11
    c=10;
    System.out.println(c++);//输出10
    System.out.println(c);//输出11
    

    ⑦自减运算:--。(变量自己减少1)
    如果是前--,先减后用:变量立刻-1,然后拿着结果进行使用;
    如果是后--,先减后加:变量先拿来使用,然后变量-1。

    int a=20;
    System.out.println(a);//输出20
    --a;
    System.out.println(a);//输出19
    a--;
    System.out.println(a);//输出18
    b=10;
    System.out.println(b);//输出10
    System.out.println(--b);//输出9
    c=10;
    System.out.println(c--);//输出10
    System.out.println(c);//输出9
    

    Java中,整数使用以上运算符,无论如何计算,得到的都是整数。

    public static void main(String[] args) {
        int i=1234;
        System.out.println(i/1000*1000);//输出1000
    }
    

    注意:运算中有不同数据类型的数据,结果为数据类型范围大的哪个数据类型。

    int a=10;
    System.out.println(a+2.5);//输出12.5
    

    3.赋值运算符

    赋值运算符:将符号右边的值,赋给左边的变量。
    赋值运算符分为基本复制运算符(=)和复合赋值运算符(+=、-=、*=、/=、%=)
    包括:
    ①等于号:=;
    ②加等于:+=;(a += 3相当于a=a+3)

    public static void main(String[] args) {
        int i=5;
        i+=5;
        System.out.println(i);//输出10
    }
    

    ③减等于:-=;(b -= 4相当于b=b-4)
    ④乘等于:*=;(c = 5相当于c=c5)
    ⑤除等于:/=;(d /= 6相当于d=d/6)
    ⑥取模等:%=。(e%= 7相当于e=e%7)

    public static void main(String[] args) {
        int i=23;
        i%=5;
        System.out.println(i);//输出3
    }
    

    注意:
    ①只有变量才能使用赋值运算符,常量不能使用;
    ②复合赋值运算符隐含了一个强制类型转换。

    byte a=5;
    a+=5;//实际上为:a = (byte)  a + 5;
    System.out.println(a);
    

    4.比较运算符

    比较运算符:两个数据之间进行比较的运算符,结果是true或false。
    包括:
    ①比较符号两边数据是否相等(相等结果为true):==;
    ②比较符号左边数据是否小于右边数据(如果小于,结果为true):<;
    ③比较符号左边数据是否大于右边数据(如果大于,结果为true):>;
    ④比较符号左边数据是否小于或等于右边数据(如果小于或等于,结果为true):<=;
    ⑤比较符号左边数据是否大于或等于右边数据(如果大于或等于,结果为true):>=;
    ⑥比较符号两边数据是否不相等(如果不相等,结果为true):!=。

    public static void main(String[] args) {
        System.out.println(1==1);//输出true
        System.out.println(1<2);//输出true
        System.out.println(3>2);//输出true
        System.out.println(1<=2);//输出true
        System.out.println(3>=2);//输出true
        System.out.println(3!=2);//输出true
    }
    

    注意:
    ①比较运算符的结果一定是boolean值,成立是true,不成立是false;
    ②进行多次判断不能连写。

    System.out.println(1<2<3);//编译报错
    

    5.逻辑运算符

    包括:
    ①与(并且,连接两个boolean值,两个都为true结果才为true,否则为false):&&

    System.out.println(false && true);//输出false
    

    ②或(或者,连接两个boolean值,两个都为fasle结果才为false,否则为true):||

    System.out.println(false || true);//输出true
    

    ③非(取反,用于boolean前,原来是true,结果为false;原来是false,结果为true):!

    System.out.println(!true);//输出false
    

    与“&&”、或“||”,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。

    int a=10;
    System.out.println(3>4 && ++a<100);输出false
    System.out.println(a);//输出10
    

    注意:
    ①逻辑运算符只能用于boolean值;
    ②与、或需要左右各有一个boolean值,但是取反只要有唯一的一个boolean值;
    ③与、或两种运算符,如果有多个条件,可以连续写。
    条件A && 条件B && 条件C

    6.三元运算符

    一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减--;
    二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值=;
    三元运算符:需要栅格数据才可以进行操作的运算符。
    三元运算符格式:数据类型 变量名称 = 条件判断 ? 表达式A:表达式B;
    流程:
    ①判断条件是否成立;
    ②如果成立为true,将表达式A的值赋值给左侧的变量;如果不成立为false,将表达式B的值赋值给左侧的变量。

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
    int max = a > b ? a : b;
    System.out.println("最大值:"+max);
    }
    

    注意:
    ①必须同时保证表达式A和表达式B都符合左侧数据类型的要求;
    ②三元运算符的结果必须被使用。

    相关文章

      网友评论

          本文标题:Java 运算符

          本文链接:https://www.haomeiwen.com/subject/nonumhtx.html