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-22 08:58:20

Java核心技术之基本数据类型的相关文章

[基础] Java目录(摘自Java核心技术·卷1 基础知识)

Java核心技术·卷1 基础知识(原书第9版) 第1章 Java程序设计概述 1.1 Java程序设计平台 1.2 Java"白皮书"的关键术语 1.2.1 简单性 1.2.2 面向对象 1.2.3 网络技能 1.2.4 健壮性 1.2.5 安全性 1.2.6 体系结构中立 1.2.7 可移植性 1.2.8 解释型 1.2.9 高性能 1.2.10 多线程 1.2.11 动态性 1.3 Java applet与Internet 1.4 Java发展简史 1.5 关于Java的常见误解

Java核心技术 卷1 读书笔记 (3 Java基本程序设计结构)

3.3 数据类型 Java是强类型语言,必须为每一个变量声明一种类型. 3.3.1 整型 Java 提供四种整型 int 4字节 short 2字节 long 8字节 byte 1字节 长整型(long)数值有一个后缀L(例如40000000000L),十六进制数值有一个前缀0x(例如0xCAFE),八进制数值有一个前缀0(例如010). 3.3.2 浮点型 Java提供两种浮点类型 float 4字节 double 8字节 float类型的数值有一个后缀F(例如3.42F),没有后缀F的浮点数

读《java核心技术卷一》有感

过去一个多月了吧.才囫囵吞枣地把这书过了一遍.话说这书也够长的,一共706页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多也是有始无终,毕竟在之前研究研究程序也只是自己的一个爱好而已,但没有想到签了一个程序员的工作.唉,这老天也太捉弄人了吧,让一个学电气工程(强电方向)学生毕业之后去写代码,而且是与硬件完全无关的代码.真是白念几年大学了.行了,就行发这么多牢骚吧. <java核心技术>有两个卷,我只看了卷一,从我的感

java核心技术卷一

java核心技术卷一 java基础类型 整型 数据类型 字节数 取值范围 int 4 +_2^4*8-1 short 2 +_2^2*8-1 long 8 +_2^8*8-1 byte 1 -128-127       浮点类型 数据类型 字节数 取值范围 小数位数 float 4 10^-38~10^38和-10^-38~-10^38 小数位数6-7 double 4 10^-308~10^308和-10^-308~-10^308 15位小数         boolean 类型和char 类

java基础知识《JAVA 核心技术》学习笔记(一)

一:数据类型 (1)java整形: 类型                         存储要求 int                              4字节 short                          2字节 long                           8字节 byte                           1字节 (2)浮点类型 类型                         储存要求 float            

【学习笔记】java核心技术学习笔记整理

<java核心技术>  花了半天到一天又认真读了一下java核心技术中的类部分,感觉最近编程时候好多迷迷糊糊,“这样对不对呢,试一试.怎么不对呢”这类的迷糊问题原来都早有定义.  main函数必须在主类中  一个class就是一个机器,要使用其中的方法,需要构建这个类的实例. 一个class中如果定义构造器,构造器的类型是public 类名,类名就是原类名   一个类可以有多个构造器,构造器没有返回值.  变量标记为private,代表只有该类的方法才能使用这些变量,别的类的不可以  方法标记

《Java核心技术卷I》观赏指南

Tomxin7 如果你有想看书的计划,但是还在纠结哪些书值得看,可以简单看看"观赏指南"系列,本文会简单列出书中内容,给还没有买书的朋友提供一个参考. 前言 秋招过去很久了,虽然在学校的时候有恶补java基础,但是都是为了面试而准备的,有些技术并没有进行全面的了解,再加上java现在疯狂的更新版本,很多新东西没有了解过,所以就打算再过一遍.java的书籍很多,也不想重复的看,所以就买了两本写的比较系统的<java核心技术卷I II>,本篇文章主要是想分享一下卷I,如果你正打

《Java核心技术 卷1 基础知识 原书第9版》pdf

下载地址:网盘下载 内容简介 编辑 CayS.Horstmann等编著,公飞编译的<Java核心技术>(CoreJava)自第1版出版以来,一直备受广大Java程序设计人员的青睐,畅销不衰,是Java经典书籍.第8版针对JavaSE6平台进行了全面更新,囊括了Java平台标准版(JavaSE/J2SE)的全部基础知识,提供了大量完整且具有实际意义的应用实例,详细介绍了Java语言基础知识.面向对象程序设计.接口与内部类.事件监听器模型.swing图形用户界面程序设计.打包应用程序.异常处理.登

java核心技术学习笔记之一程序设计概述

Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向对象的语言: 网络技能:Socket,FTP,Http,URL编程简单: 健壮性:避免指针错误使用: 安全性:构建防病毒防篡改系统: 体系结构中立:字节码: 可移植性: 解释性:可以解释任何移植了的字节码: 高性能: 多线程 动态性: 二.   Internet 和 Java Applet 在网页中