当前位置:   article > 正文

Java运算符及其运用规则_java运算符运算规则

java运算符运算规则

1、算数运算符

  1. 符号:+、-、*、/、%、++、--

  2. ++ 自增1,a++:先使用,在+1。++a:先+1,在使用。

  3. -- 自减1,a--:先使用,在-1。--a,先-1,在使用。

int a = 8;
int b = (a++)+(++a)+a*10;
//        8  +  10 + 10*10
System.out.println(b);

特殊点:byte和short类型做运算会向上转型成int,其余数值按照取值范围大的类型进行转型。

byte a = 10,b = 20;
byte resule = (byte)(a+b);
//底层原理:
//a:0000,1010
//a->int:0000,0000,0000,0000,0000,0000,0000,1010
//b同理

整数和整数运算后得到的也是整数,

浮点类型数做运算后会失去精度(浮点类型数据不要直接做运算,使用大数值的运算类(BigDecimal))

char类型可以跟数值类型做运算。

char c = 'a';
int i = 1+c;
char str = (char)(i+c);

a++,++a,分号表示语句结束,不管先加还是后加,都会自增。

//a++,++a底层原理:
int a=0
int i = a++;
//int tape = a; a=a+1;i=tape;
int j = ++a;
//j = a+1;

2、赋值运算符

  1. 符号:=、+=、-=、/=、*=、%=

  2. 赋值规则: 如果s 是 short 类型的 s += 1 -> s =(int)(s + 1)

3、关系运算符

  1. 符号:==、!=、>、>=、<、<=

  2. 关系运算符的结果都是boolean类型的,true或者false。

4、Scanner类

  1. 理解:Java提供的专门从控制台输入数据的类

  2. 步骤:导包->import java.util Scanner;

    创建对象->Scanner scan = new Scanner(System.in);

    使用对象-> int i = scan.nextInt();

5、字符串拼接符

  1. 符号:+

  2. 加号两侧都是数值,该符号为算术运算符。

  3. 加号两侧有一侧是字符串,该符号为字符串拼接符。

6、逻辑与算符

  1. 符号: &与 &&短路与 |或 ||短路或 ^异或 !非

  2. & && | || ^前后都必须是boolean值。

  3. && 判断前者为false后,不会判断后者,& 会全判断完。||判断前者为true后不会判断后者,|会全判断完

  4. 逻辑运算符结果都是boolean类型

7、表达式

  1. 5+6 算数表达式,5>6 关系表达式

8、三目运算符

  1. 语法规则:变量 = (表达式)?值1:值2

  2. 表达式的值必须是boolean类型。

  3. 值1和值2都是数字字面量,按照取值范围大的类型进行返回

  4. 值1和值2都是变量,按照取值范围大的类型进行返回

  5. 值1和值2分别为数字字面量和变量时,判断值1是否在值2所属类型的取值范围,在--按照值2类型返回,不在--按照值1类型返回

9、位运算符

  1. 符号:& 、|、^、<< 左移、 >>右移、 >>>无符号位右移

  2. 将十进制数据转换为二进制,在做运算

  3. 底层逻辑

//&与:同位比较,两者为1,结果才为1
        byte b1 = 23;//0001,0111
        byte b2 = 29;//0001,1101
        
        byte result = (byte)(b1 & b2);
        //底层执行逻辑:
        //b1 - byte :0001,0111
        //      int :0000,0000,0000,0000,0000,0000,0001,0111
        //b2 - byte :0001,1101
        //      int :0000,0000,0000,0000,0000,0000,0001,1101
        //     结果 :0000,0000,0000,0000,0000,0000,0001,0101
        //   (byte) :0001,0101

10、运算符的优先级

灵活运用小括号

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/290864
推荐阅读
相关标签
  

闽ICP备14008679号