Java基本数据类型的小结

这篇文章,我们讨论一些java的最基本的东西,这些东西我们一般刚刚学java的时候就学过,但是不一定真正明白。正好,我在做一个读取内存的值,涉及到bit位的值的读取和写。那就可以讨论一个java的基本数据类型的值在机器的详细情况:

Java基本数据类型共有八种三类:字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。

Java决定了每种简单类型的大小。这些大小并不随着机器结构的变化而变化。这种大小的不可更改正是Java程序具有很强移植能力的原因之一。

下面,我们就是要分析java基本数据类型的取值范围和占多少字节多少bit(1字节 = 8 bit)。

代码如下:

public class BaseDataInfo{ 

public static void main(String[] args) {  

	System.out.println("Boolean.FALSE:"+Boolean.FALSE);
	System.out.println("Boolean.TRUE:"+Boolean.TRUE);

	int maxByte = Byte.MAX_VALUE;
	int minByte = Byte.MIN_VALUE;
	int sizeByte = Byte.SIZE;
	System.out.println("Byte.MAX_VALUE:"+maxByte);
	System.out.println("Byte.MIN_VALUE:"+minByte);
	System.out.println("Byte.SIZE:"+sizeByte);

	int maxChar = Character.MAX_VALUE;
	int minChar = Character.MIN_VALUE;
	int sizeChar = Character.SIZE;
	System.out.println("Character.MAX_VALUE:"+maxChar);
	System.out.println("Character.MIN_VALUE:"+minChar);
	System.out.println("Character.SIZE:"+sizeChar);

	int maxShort = Short.MAX_VALUE;
	int minShort = Short.MIN_VALUE;
	int sizeShort = Short.SIZE;
	System.out.println("Short.MAX_VALUE:"+maxShort);
	System.out.println("Short.MIN_VALUE:"+minShort);
	System.out.println("Short.SIZE:"+sizeShort);

	int maxInt = Integer.MAX_VALUE;
	int minInt = Integer.MIN_VALUE;
	int sizeInt = Integer.SIZE;
	int bitCount = Integer.bitCount(10);
	System.out.println("Integer.MAX_VALUE:"+maxInt);
	System.out.println("Integer.MIN_VALUE:"+minInt);
	System.out.println("Integer.SIZE:"+sizeInt);
	System.out.println("Integer.bitCount(1):"+bitCount);

	long maxLong = Long.MAX_VALUE;
	long minLong = Long.MIN_VALUE;
	int sizeLong = Long.SIZE;
	System.out.println("Long.MAX_VALUE:"+maxLong);
	System.out.println("Long.MIN_VALUE:"+minLong);
	System.out.println("Long.SIZE:"+sizeLong);

	float maxFloat =  Float.MAX_VALUE;
	float minFloat =  Float.MIN_VALUE;
	int sizeFloat = Float.SIZE;
	System.out.println("Float.MAX_VALUE:"+maxFloat);
	System.out.println("Float.MIN_VALUE:"+minFloat);
	System.out.println("Float.SIZE:"+sizeFloat);	

	Double maxDouble =  Double.MAX_VALUE;
	Double minDouble =  Double.MIN_VALUE;
	int sizeDouble = Double.SIZE;
	System.out.println("Double.MAX_VALUE:"+maxDouble);
	System.out.println("Double.MIN_VALUE:"+minDouble);
	System.out.println("Double.SIZE:"+sizeDouble);	

  }
}

输出结果:

Boolean.FALSE:false

Boolean.TRUE:true

Byte.MAX_VALUE:127

Byte.MIN_VALUE:-128

Byte.SIZE:8

Character.MAX_VALUE:65535

Character.MIN_VALUE:0

Character.SIZE:16

Short.MAX_VALUE:32767

Short.MIN_VALUE:-32768

Short.SIZE:16

Integer.MAX_VALUE:2147483647

Integer.MIN_VALUE:-2147483648

Integer.SIZE:32

Integer.bitCount(1):2

Long.MAX_VALUE:9223372036854775807

Long.MIN_VALUE:-9223372036854775808

Long.SIZE:64

Float.MAX_VALUE:3.4028235E38

Float.MIN_VALUE:1.4E-45

Float.SIZE:32

Double.MAX_VALUE:1.7976931348623157E308

Double.MIN_VALUE:4.9E-324

Double.SIZE:64

从输出结果可以看出:


boolean


只有true和false两个取值


byte


8位,最大存储数据量是255,存放的数据范围是-128~127之间


short


16位,最大数据存储量是65536,数据范围是-32768~32767之间


int


32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1(也就是-2147483648~2147483647)。从int取值范围可以看,int适合20亿级别的整形数据。


long


64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2 的63次方减1(也就是-9223372036854775808~9223372036854775807)。从long的取值范围可以看出,long适合海量级(亿亿级)的整形数据。


float


32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。从float的取值范围可以看出,float适合e38级的float数据。


double


64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。从double的取值范围可以看出,double适合e308的double数据。


char


16位,存储Unicode码,用单引号赋值


基本数据类型


boolean


byte


char


short


int


long


float


double


bit位数


1


8


16


16


32


64


32


64


字节位数


0.125


1


2


2


4


8


4


8


封装类


Boolean


Byte


Character


Short


Integer


Long


Float


Double

参考资料:

Java基本数据类型总结

http://www.cnblogs.com/doit8791/archive/2012/05/25/2517448.html

时间: 2024-10-29 14:51:59

Java基本数据类型的小结的相关文章

Java 基本数据类型

基本数据类型 所占用空间大小 byte b; 1字节 short s; 2字节 int i; 4字节 long l; 8字节 char c; 2字节(C语言中是1字节) float f; 4字节 double d; 8字节 boolean bool; false/true 1字节 基本数据类型注意事项: 1.未带有字符后缀标识的整数默认为int类型: 未带有字符后缀标识的浮点数默认为double类型. 2.如果一个整数的值超出了int类型能够表示的范围,则必须增加后缀“L”(不区分大小写,建议用

Java中数据类型及其之间的转换

Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种: 1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits). 2)float长度数据类型有:单精度(32bits float).双精度(64bits double),JAVA中将小数默认为double类型,若要定义float需在数据后面用f声明: 3)boolean类型变量的取值有:ture.false 4)char数据类型有:unicode字符,16位 对

JAVA的数据类型

JAVA的数据类型:基本类型: 四类:整型:byte(1字节) ,short(2字节), int(4字节), long(8字节) (整数类型) 浮点型: float(4字节)  ,double(8字节) (小数类型) 字符型: char(2字节) 布尔型: boolean(不确定) 引用类型: 类:class 接口:interface

深入理解Java之数据类型

一.概述 我们通过编程解决一个具体问题时,首先要做的工作是用各种“数据结构”表示问题中的实体对象,而后才能着手研究描述具体业务逻辑的算法.这也正印证了”程序 = 数据结构 + 算法“.而这里的数据结构,便对应着各种数据类型. 数据类型指的是一组值以及相关的一组操作.Java中有两大类数据类型:一类是原始(primitive)数据类型,包括boolean.int.double等等:还有一类是引用类型,也就是类(class),包括Java类库提供给我们的类和我们自己使用关键字class定义的类.Ja

Java基本数据类型与位运算

Java基本数据类型与位运算 >>赋值运算符 赋值使用操作符“=”.它的意思是“取右边的值(即右值),把它复制给左边(即左值)”.右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名的变量.也就是说,必须有一个物理空间可以存储等号右边的值.分类 基本数据类型 与 类数据类型 的不同1. 对基本数据类型的赋值是很简单的.基本数据存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方.2. 但是在为

Java学习笔记之一:Java基本数据类型

(本内容纯属个人总结,如有不当,欢迎读者指正!! Java 基本数据类型: 1.整型 Java中的整型数据类型有 十进制,十六进制,八进制. 十进制的就不用多说了,和C语言里的十进制数是一样的. 例如:inti=12; iny j=10; int m=-1223;等 八进制: 满8进1,数字是0~7, 在整数前面加上一个0表示八进制, int i=09; int j=-012; 十六进制: 也和c语言里的十六进制数一样,在数字的前面加上0x或0X int i=0x12; int j=0X123;

java基本数据类型四类八种

第1类:整型:byte.short.int.long 第2类:浮点型:float.double 第3类:逻辑型:boolean 第4类:字符型:char 字节长度从小到大: boolean型: 1/8 byte字节类型:1 char字符型:2 一个字符能存储一个中文汉字 short短整型:2 int整数类型:4 float浮点类型(单精度):4 long长整型:8 double双精度类型(双精度)8 注:java中默认的整数类型是int类型,若要定义为float型,加上l或L; 默认的浮点型也是

Java内部类的使用小结

内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可以是静态static的,也可用public,default,protected和private修饰.(而外部顶级类即类名和文件名相同的只能使用public和default). 注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类.对于一个名为outer的外部类和其内部定义的名为inner的内部类.编译完成后出现outer.class和outer$inner.class两类.所以内部类的成员变量/方法名可

java学习手札(3) java基本数据类型和引用数据类型

java的基本数据类型有八种,每一种都对应一种引用数据类型. java基本数据类型:1)数值型  byte 1个字节 范围-128--127(计算方法  -2^(字节数*8-1)--2^(字节数*8-1)-1) short 2个字节  范围 -2^15--2^15 - 1 int 4个字节      范围  -2^31--2^31-1 long 8个字节  范围  -2^63--2^63-1 定义时通常加一个f 2)布尔类型  boolean 1个字节   true 或 false通常用于判断