java数据类型及运算符

1.java数据类型分为基本数据类型和引用数据类型

(1).基本数据类型:8

a).boolean:javaboolean 只能去true 或者false

b).byte:1个字节,八位。取值范围:-27次方~27次方-1。也就是(-128~127

c).short:2个字节,16位。取值范围:-215次方~215次方-1

d).int:4个字节,32位。取值范围:-231次方~231次方-1

e).long:8个字节,64位。取值范围:-263次方~263次方-1

f)字符型:char:是单引号中的内容,且只能有一个字符。2个字节,16位。char类型可以作为一个无符号的整数,取值0-65535.有数字和字符的双重特性,能够参与数学运算。

g).浮点型:java中小数默认为double类型。Doublefloat

h)float:4个字节

i)double:8个字节

j)整数类型:byteshortintlong

(2).引用数据类型:数组、类、接口、枚举等

(3)java中采用了Unicode编码

2.switch中的变量只能是byteshortcharint、枚举类型

3.ifswitch的区别

 If可以取范围值,可以去固定值。Switch只能取固定值,且取值类型固定。

4.基本数据类型之间的转换:

(1).char-->int

(2).byte-->short-->int-->long-->float-->double

a).表示数的范围之内的自动转换

b).小范围到大范围能自动转换

c).子类到父类的转换

d)基本数据类型和包装类(IntegerDoubleFloat)之间的转换

(3).如果不能自动转换,只能强制类型转换。语法:(要转换的类型)要转换的变量。

5.运算时几点注意的地方:

a).对于多种类型的混合运算,都是先转换为大范围的之后在运算

b).所有小于int(charbyteshort)的运算,都是先转换为int在运算 

c).基本数据类型和字符串用+相拼接,都是先转换为字符串在拼接。拼接完之后就是字符串。

运算符

1.算数运算符:+、—、*/%

2.自增自减运算符:++--

(1).++:先计算,在自增。前++:先自增,在运算。

(2)注意:常量不能自增。

3.赋值运算符:=+=-=*=/=

(1).注意+=是一个运算符,内置强制转换。

4.逻辑运算符:&&||、!

5.位运算符:&|^~

6.逻辑运算符只能位运算符之间的区别:

(1).逻辑运算符只能操作boolean表达式,会产生短路

(2)位运算符除了~之外也可以操作布尔表达式,还可以操作×××数据。且不会产生短路

(3)三目运算符:布尔表达式?结果1:结果2。如果布尔表达式的值为true,得到了结果1,为false得到了结果2

7.移位运算符:>> <<等。

下面一段代码介绍部分运算方法

 

package day10;public class TestInt {public static void main(String[] args) {byte b1 = 1;byte b2 = 2;//小于int 转换为int在计算int ni1 = b1+b2;System.out.println("ni1:"+ni1);//ni1:3long l1 = 2;int ni2 = 2;//int与long相加,先转换为大范围long在计算long l2 = l1+ni2;System.out.println("l2:"+l2);//l2:4int ni3 = 2;String str1 = "asd";//基本数据类型和字符串用+相拼接,都是先转换为字符串在拼接,拼接后是字符串String str2 = ni3+str1;System.out.println("str2:"+str2);//str2:2asd//基本数据类型和包装类之间的转换int ni4 = Integer.parseInt("123");System.out.println("ni4:"+ni4);//ni4:123int ni5 = 2;int ni6 = 2;//赋值运算符,内置强制类型转换ni6 += ni5;System.out.println("ni6:"+ni6);//ni6:4//位运算int ni7 = 8|2;System.out.println("ni7:"+ni7);//ni7:10//逻辑运算符boolean f = b1>b2||b1<0;System.out.println("f:"+f);//f:false//三目运算符int ni8 = b1>b2?b1:b2;System.out.println("ni8:"+ni8);//ni8:2}}