Java基本数据类型及运算符小结

Java数据类型及运算符

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

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

a).boolean:在java中boolean 只能去true 或者false

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

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

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

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

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

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

h)float:4个字节

i)double:8个字节

j)整数类型:byte、short、int、long

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

(3)java中采用了Unicode编码

2.switch中的变量只能是byte、short、char、int、枚举类型

3.if和switch的区别

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

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

(1).char-->int

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

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

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

c).子类到父类的转换

d)基本数据类型和包装类(Integer、Double、Float等)之间的转换

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

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

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

b).所有小于int(char、byte、short)的运算,都是先转换为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:3
long l1 = 2;
int ni2 = 2;
//int与long相加,先转换为大范围long在计算
long l2 = l1+ni2;
System.out.println("l2:"+l2);//l2:4
int 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:123
int 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
}
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2204170513e73dd2b5a361a821d7576c.html