Loading

Java_类型转换、常用运算符

Java_类型转换、常用运算符

类型转换

自动类型转换

  • 类型范围小的变量,可以直接赋值类型范围大的变量。

在这里插入图片描述

表达式的自动类型转换

  • 在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。

在这里插入图片描述

  • 注意事项:
    • 表达式的最终结果类型由表达式中的最高类型决定
    • 在表达式中,byte、short、char 是直接转换成int类型参与运算的。

强制类型转换

  • 类型范围大的数据或者变量,不能直接赋值类型范围小的变量,会报错。
  • 可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

在这里插入图片描述

在这里插入图片描述

  • 注意事项
    • 强制类型转换可能造成数据(丢失)溢出;
    • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。

运算符

  • “+”号做连接符:

    • “+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
int a = 5;
System.out.println("abc" + 'a'); // abca
System.out.println("abc" + a); // abc5
System.out.println(5 + a); // 10
System.out.println("abc" + 5 + 'a'); //abc5a
System.out.println(15 + "abc" + 15); //15abc15
System.out.println(a + 'a'); //102
System.out.println(a + "" + 'a'); //5a
System.out.println(a + 'a' + " itheima "); //102 itheima
System.out.println("itheima" + a + 'a'); //itheima5a
System.out.println("itheima" + (a + 'a')); //itheima102
  • 逻辑运算符

    • 逻辑与“&” :有一个为false、结果是false

    • 短路与&&: 一个为false、结果是false。前一个为false,后一个条件不执行了

    • 逻辑或“|”:有一个为true、结果是true

    • 短路或||:一个为true、结果是true。前一个为true,后一个条件不执行了

    • 逻辑非“!”:!false=true、 !true=false

    • 逻辑异或“^” :相同是false、不同是true。

    • 注意:实际开发中、常用的逻辑运算符还是:&& 、 || 、 !

  • 运算符优先级

优先级 运算符 结合性
1 ();[];{} 从左向右
2 !;+;-;~;++;-- 从右向左
3 *;/;% 从左向右
4 +;- 从左向右
5 <<;>>;>>> 从左向右
6 <;<=;>;>=;instanceof 从左向右
7 ==;!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 bool ? true : false 从右向左
14 =;+=;-=;*=;/=;&=;|=;^=;~=;<<=;>>=;>>>= 从右向左
posted @ 2021-11-22 11:00  zhangj9  阅读(69)  评论(0)    收藏  举报