JavaSE04-运算符

  1. 算术运算符

    1. 运算符和表达式

      • 运算符:对常量或者变量进行操作的符号
      • 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
      • ​ 不同运算符连接的表达式体现的是不同类型的表达式。
      int a = 10;
      int b = 20;
      int c = a+b;
      

      +是运算符,并且是算术运算符。

      a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。

      byte a = 10;
      byte b = 20;
      int c = a + b; ——>表达式中有"变量";叫变量表达式
      byte c = 10 + 20;——>表达式中没有"变量";都是"常量",叫常量表达式。
      
    2. 算术运算符

      符号作用说明
      +相加
      -相减
      *两数之积
      /
      %取余(取模)获得的是两个数据做除法的余数

      注意事项

      /和%的区别:两个数据做除法,/取结果是商,%取结果得余数。

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

    3. 字符的“+”操作

      拿字符在计算机底层对应的数值来进行计算的。Unicode表

      ‘A’ → 65 A-Z是连续的

      ‘a’ → 97 a-z是连续的

      ‘0’ → 48 0-9是连续的

      算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型自动进行提升

      提升规则:

      • byte类型,short类型和char类型将被提升到int类型(无论是否有int参与)
      • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
      • 等级顺序:byte,short,char–>int–>long–>float–>double
      int a =10;
      char b = 'a';
      int e = a+b;//变量b  char类型自动提升到int类型 故不能用char类型进行接收
      double f = 10+10.14;//10自动提升到double类型,故不能用int类型进行接收
      
    4. 字符串的"+"操作

      当"+"操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算。

      System.out.println("World"+666);//输出World666
      

      当‘’“+”操作中,如出现了字符串,就是连接,否则就是算术运算。

      当连续进行“+”操作时,从左到右逐个执行。

      System.out.println(1+99+"年");//输出100年,先执行1+99=100再连接
      System.out.println('a'+5+'b'+"呵呵"+'c');//97+5+98=200呵呵c 字符本质是数字 
      
  2. 赋值运算符

    1. 赋值运算符

      符号作用说明
      =赋值a=10,将10赋值给变量a
      +=加后赋值a+=b,将a+b的值给a
      -=减后赋值a-=b,将a-b的值给a
      *=乘后赋值a*=b,将a×b的值给a
      /=除后赋值a/=b,将a÷b的商给a
      %=取余后赋值a%=b,将a÷b的余数给a

      注意事项:

      扩展的赋值运算符隐含类强制类型转换

      short i = 10;
      
      i+=20;//扩展赋值运算符隐含类强制类型转换
      System.out.println("+=后i:"+i);
      		
      i= (short)(i+20);//i自动提升到int 故不能直接用short进行接收,需先强制类型转换
      System.out.println("=+后i:"+i);
      

      运算优先级

       byte i = 10;
       i *= 5+2;//i=70;i=(byte)(i * (2+5));先算算术符号再算赋值符号
      
  3. 自增自减运算符

    符号作用说明
    ++自增变量的值加1
    --自减变量的值减1

    注意事项:

    • ++和--既可以放在变量的后边,也可以放在变量的前边。

    • 单独使用的时候,++和--无论放在变量的前边还是后边,结果都是一样的。

    • 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。

      参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。

      最常见的用法:单独使用。

      int i = 10;
      int j = i++;
      System.out.println("i:"+i);//11;
      System.out.println("j:"+j);//10;i先赋值给j(=),再进行的自增操作(++)
      
      int j = ++i;
      System.out.println("i:"+i);//11;
      System.out.println("j:"+j);//11;i先进行自增操作(++),再进行的赋值操作(=)
      
       char h = 'a';//字符本质是数字,97
       System.out.println(h++ == 'b');//false,先对比,后自增  	b字符本质是数字98
       System.out.println(++h == 'b');//true,先自增,后对比  b字符本质是数字98
      

      有多种运算符的时候,从左到右逐个进行!(暂时结论,算术运算符除外)

  4. 关系运算符

    符号说明
    ==a==b,判断a和b的值是否相等。成立为true,不成立为false
    !=a!=b,判断a和b的值是否不相等。成立为true,不成立为false
    >a>b,判断a是否大于b。成立为true,不成立为false
    >=a>=b,判断a是否大于等于b。成立为true,不成立为false
    <a<b,判断a是否小于b。成立为true,不成立为false
    <=a<=b,判断a是否小于等于b。成立为true,不成立为false

    注意事项:

    关系运算符的结果都是boolean类型,要么是true,要么是false。

    千万不要把"==“误写成”="。

  5. 逻辑运算符

    1. 概述

      在数学中,一个数据x,大于3,小于6,我们可以这样进行表示:3<x<6

      在Java中,需要把上面的式子先进行拆解,再进行合并表达。

      • 拆解为:x>3x<6

      • 合并后:x>3&&x<6

      &&其实就是一个逻辑运算符。

      我们可以这样说,逻辑运算符,上用来连接关系表达式的运算符。

      当然,逻辑运算符也可以直接连接布尔类型的常量或者变量

    2. 逻辑运算符

      符号作用说明
      &逻辑与a&b,a和b都是true,结果为true,否则为false
      |逻辑或a|b,a和b都是false,结果为false,否则为true
      ^逻辑异或a^b,a和b结果不同为true,相同为false
      !逻辑非!a,结果和a的结果正好相反
    3. 短路逻辑运算符

      符号作用说明
      &&短路与作用和&相同,但是有短路效果
      ||短路或作用和|相同,但是有短路效果

      注意事项:

      • 逻辑与&,无论左边真假,右边都要执行。

        短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行

      • 逻辑或|,无论左边真假,右边都要执行。

        短路或||,如果左边为假,右边执行;如果左边为真,右边不执行

        最常用的逻辑运算符:&&、||、!

  6. 三元运算符

    格式:关系表达式?表达式1:表达式2;

    short i = 10;
    short j = 20;
    		
    //获取i和j两个数据中的较大值
    short k = i > j ? i:j;
    System.out.println("k:"+k);//k:20
    

    计算规则:

    ​ 首先计算关系表达式的值

    ​ 如果值为true,表达式1的值就是运算结果

    ​ 如果值为false,表达式2的值就是运算结果果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值