目录
在Java中不同于c语言,因为数据类型所占用的字节是固定的,不会随着电脑是多少位的而有所改变。
1.基本数据类型
总过有4类8种
与c语言的不同点
(1)char类型字节
其中的char类型于c语言中的char类型所占的字节数不同,这是因为使用的编码格式不同,c语言重使用的是ASCIIl来进行表示字符型,而在Java中使用UTF-8来进行编码,在Java中,字符型占用的字节多了但是显示的内容也多了,在Java中字符型可以显示汉字,这就是优势。
(2)布尔类型
Java中多了一种布尔类型,由于这种类型的存在,故类型不能相互转换。
(3)类型提升
数据类型小的向大的转换会自动的进行类型提升,但是类型大的向类型小的转换会出现数据丢失,不安全,但是可以进行强制类型转换,来实现数据大向数据小转换。
(4)类型自动提升
byte与short这两种类型字节数小于4的在参与运算时会自动的提升为int类型然后在进行计算,如下会报错,类型不兼容
对于这种问题的处理可以使用强制类型转换,来进行解决,如下:
在上述问题中,可能会有这样的疑问,数字默认为整形类型,为什么在给byte赋值时不会出现类型不兼容的错误呢?
首先,在进行赋值时,编译器首先会检查这个值是否会超过这种类型的范围,在面对常量时,编译器直接会进行判断出结果,但是对于两个变量而言,如果两个byte类型的变量相加,对于结果是否超过了byte类型的取值范围,编译器是不能进行判断,所以在进行编译的时候会出现错误。
2.基本数据类型的使用
(1)long和浮点类型使用注意事项
在使用这些基本数据类型的时候,其他的都和之前c语言的使用都差不多,但是这里需要注意浮点类型和整型中long的使用,在使用这两种类型时需要在float类型后加f,在long类型后加L,这是因为Java对于数据类型要求比较高,在使用小数的时候,系统会默认小数为double类型,所以需要在float类型数字后面要f;对于整型中的数字,整数会默认为int类型,如果定义了一个超过int类型的数,而数字后没有加L,会出现数据溢出,错误显示如下:
正确地定义如下:
(2)除法和取余,自增和自减运算注意事项
在使用这两种运算时,需要保证除数不能为0。
在进行自增自减运算时,不能对常数进行操作。
注意:如下是错误的使用用法
3.引用数据类型
String类型的使用
(1)字符串的拼接
//字符串类型与int 类型之间的转换
String str1 = "abcdef";
String str2 = "ghijk";
System.out.println(str1+str2);//关于两个字符串的拼接
//结果为:abcdefghijk
(2)字符串类型与int类型之间的转换
int--->String
使用字符串将整形转化为字符串
int a = 10;
String str3 = ""+a;
String str4 = String.valueOf(a);
System.out.println(str3+10);//1010
String---->int
使用int类型的包装类Integer中的方法来将字符串转化为整型数字
String str5 = "1000";
int num = Integer.parseInt(str5);
System.out.println(num+10);//1010