您的位置:首页 > 编程语言 > Java开发

温故而知新(一)Java基础:基本数据类型

2017-08-16 10:16 218 查看

java基本数据类型

变量是用来申请内存的存储值。变量创建的时候需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,被分配的空间只能用来储存该类型的数据。

java中有两大数据类型:内置数据类型、引用数据类型。

内置数据类型

java一共八种基本数据类型,4种整型、2种浮点型1种字符、1种布尔型



float的有效长度是7位:

321.022f


double的有效长度是15位:

321.022d
321.215//不带任何标志的浮点型数据,系统默认是 double 类型。


Test:

public class Test {

public static void main(String[] args) {
System.out.print("Byte.MAX_VALUE="+Byte.MAX_VALUE+"\n"+"Byte.MIN_VALUE="+Byte.MIN_VALUE+"\n");
System.out.print("Short.MAX_VALUE="+Short.MAX_VALUE+"\n"+"Short.MIN_VALUE="+Short.MIN_VALUE+"\n");
System.out.print("Long.MAX_VALUE="+Long.MAX_VALUE+"\n"+"Long.MIN_VALUE="+Long.MIN_VALUE+"\n");
System.out.print("Integer.MAX_VALUE="+Integer.MAX_VALUE+"\n"+"Integer.MIN_VALUE="+Integer.MIN_VALUE+"\n");
System.out.print("Float.MAX_VALUE="+Float.MAX_VALUE+"\n"+"Float.MIN_VALUE="+Float.MIN_VALUE+"\n");
System.out.print("Double.MAX_VALUE="+Double.MAX_VALUE+"\n"+"Double.MIN_VALUE="+Double.MIN_VALUE+"\n");
System.out.print("Character.MAX_VALUE="+(int)Character.MAX_VALUE+"\n"+"Character.MIN_VALUE="+(int)Character.MIN_VALUE+"\n");

}

}


/**
*日志信息:
*/
Byte.MAX_VALUE=127
Byte.MIN_VALUE=-128
Short.MAX_VALUE=32767
Short.MIN_VALUE=-32768
Long.MAX_VALUE=9223372036854775807
Long.MIN_VALUE=-9223372036854775808
Integer.MAX_VALUE=2147483647
Integer.MIN_VALUE=-2147483648
Float.MAX_VALUE=3.4028235E38
Float.MIN_VALUE=1.4E-45
Double.MAX_VALUE=1.7976931348623157E308
Double.MIN_VALUE=4.9E-324
Character.MAX_VALUE=65535
Character.MIN_VALUE=0


引用类型

1.在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型。变量一旦声明后,类型就不能被改变了。

2.对象、数组都是引用数据类型。

3.所有引用类型的默认值都是null。

4.一个引用变量可以用来引用与任何与之兼容的类型。

例如:A a=new A(“bice”);

Java语言支持一些特殊的转义字符序列



数据类型的转换

主要分为:自动转换、强制性转换

自动转换(是从低——>高)

注意:必须满足转换前的数据类型的位数要低于转换后的数据类型

byte,short,char-> int -> long -> float -> double


数据类型转换必须满足如下规则:

1. 不能对boolean类型进行类型转换。

2. 不能把对象类型转换成不相关类的对象。

3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

4. 转换过程中可能导致溢出或损失精度,例如:

int i =128;
byte b = (byte)i;
//因为byte类型时8位,最大值为127,所以当强制转换为int类型值128时候就会导致溢出。


浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,

(int)23.7 == 23;
(int)-45.89f == -45


强制性转换(必须在代码中声明)

int x = (int)14.76 + (int)11.21;  // 丢失精度
System.out.print("强制性转换:"+x);
//日志:强制性转换25
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 基本数据类型