java基础数据类型转换及基本运算符

来源:互联网 发布:怎么用万捷网络验证 编辑:程序博客网 时间:2024/05/01 17:29

一,基础数据类型的转换

byte(8) --------》 short(16)--------》 int(32)--------》 long(64)--------》 float(32) --------》double(64)        ps:左到右精度越来越高

1)自动转换:在同一个类型如整型 小转大自动转换   

2)大转小强制转换    强制编译器进行类型转换,必须在程序中编写代码。该类型转换很可能存在精度的损失。

二,基本运算符

1) 算数运算符

 加(+),减(-),乘(*),除(/),取余(%),自增(++),自减(--)

使用的注意事项:

➕ 号:也可以用做字符拼接,在用于拼接时想使用其进行运算 可以用()括号括起来;

例: system.out.println("我今年"+(18+1)+"岁");

除法:注意除法的除数不能为0的问题  // 当除数为0 的时候报异常错误( java.lang.ArithmeticException: / by zero  )

如果整数相除想得到带有小数的结果 必须有一方为浮点型数据(float,double),如果没有则自动去掉小数取整数部分

++/--: 如果++在前 (++x) 那么这个值就会立即➕1 ,如果++在后(X++),则在下一个执行x的代码x加1 ;

注意:自增/自减只能用于变量不能用于常量

2)赋值运算符

  =,+=,-=,*=,/=  

例: sum+=10 ;  等价于 sum = sum+10;

3)比较运算符

 > ,<,==, >= ,<=, !=       用在条件判断中

==: 基本数据类型判断,是比较其中的值;

引用数据类型是比较其中的地址 ;相同返回true,不同返回flase

4)位运算符

>>,>>>,<<,&,|,^,~
  >>  右移动 如果是正数:往前面加0,后面舍去(移除)  
  >>>  无符号右移动  
  <<  左移动,二进制整个往左边移动两位,空白位用0填充。  
  & 按位&,如果两个同时为1返回就是1,其他都是0  
  | 按位或 如果有一位是1 那么就是1 ,其他都是0  
   ^ 按位异或, 两个相同的时候 0 不同时返回1  11 0 00 0   /10 =1  
   ~ 按位非,单数字取反 对补码进行取反,包含符号 ~n = (n+1)、~-n = (n-1)  
注:快速计算一个数字想要得到结果,最终都是以二进制的方式进行计算.     千万不要把看做是一个十进制了,你应该都要把他们转成二进制在进行比较。 

5)逻辑运算符 

&,|,&& , ||,!

&&与&用于逻辑运算: 2边的条件都成立最终结果才成立,否则为false      

&&与&的区别:  区别一定要掌握

&&只能用于逻辑运算,它具备短路行为,它的性能要比&要高   条件为false就短路

& 能用于位运算也能用于逻辑运算,它如果用于逻辑运算,不具备短路行为,用于逻辑运算,性能要比&&低

| 与 ||用于逻辑运算: 只要有1变满足条件,最终结果就成立,否则为false

|与||的区别:

||只能用于逻辑运算,它具备短路行为,它的性能要比|要高   条件为true就短路

| 能用于位运算也能用于逻辑运算,它如果用于逻辑运算,不具备短路行为,用于逻辑运算,性能要比||低

6)三目运算

    语法格式:X?Y:Z  如果X成立则执行Y否则执行Z   
    注意:
        1.X必须是布尔类型的结果值
        2.如果Y与Z返回是同一种类型,那就可以用一个相应类型来接收,否则不能用类型来接收,但是可以用打印语句直接打印
    例:  2>3?2:3  // 2 是否大于3 成立则执行2 不成立则执行3
 









阅读全文
0 0
原创粉丝点击