天天看点

java 基本类型和常量讲解

  Java是一种强类型语言,第一次声明变量必须说明数据类型,而且变量在使用之前必须进行初始化。基本类型或者叫做内置类型,是Java中不同于类的特殊类型。java采用与C/C++相同的方法,不用new来创建基本类型的变量,而是创建一个并非是引用的变量,这个变量直接存储“值”,并置于栈中,因此效率更高。

1. Java的基本类型

java 基本类型和常量讲解
主类型 大小 包装器类型   最小值    最大值   默认值
void —— Void —— —— ——
boolean 8位/32位 Boolean —— —— false
char 16 位 Character ‘\u0000’ ‘\uffff’ ‘\u0000’
byte 8 位 Byte -128 +127 
short 16 位 Short −215 +215−1
int 32 位 Integer −231 +231−1
long 64 位 Long −263 +263−1 0L
float 32 位 Float IEEE754 IEEE754 0.0f
double 64 位 Double IEEE754 IEEE754 0.0d

如果使用boolean声明一个基本类型的变量时,那么该变量占4个字节;

如果使用boolean声明一个数组类型 的时候,那么每个数组的元素占 一个字节。

总结:
1. Java基本类型共有八种,可以分为三类: 字符类型、布尔类型以及数值类型。数值类型又可以分为整数类型和浮点数类型。
2.Java中的数值类型不存在无符号的。每种基本类型所占存储空间的大小不会随着机器硬件环境或者操作系统的改变而改变。这正是Java程序具有很强移植能力的原因之一。java中无sizeof关键字。
3.Java中还存在另外一种基本类型void。不过我们无法直接对它们进行操作。
4.boolean:只有true和false两个取值。
5.对于基本类型的取值范围,我们无需去记忆,因为它们的值都已经以常量的形式定义在对应的包装器类型中了。如基本类型char的最小值:Character.MIN_VALUE(即’\u0000’)最大值:Character.MAX_VALUE(及’\uffff’)。注意这两字字符都是不显示的字符,可以强制转换成int型,然后输出到屏幕。
6.float、double两种类型的最小值Float.MIN_VALUE和Double.MIN_VALUE分别指的是float和double类型所能表示的最小正数。

0到±Float.MIN_VALUE之间的值float类型无法表示,0到±Double.MIN_VALUE之间的值double类型无法表示。因为这些范围内的数值超出了它们的精度范围。Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的”E+数字”表示E之前的数字要乘以10的多少倍。

2.Java中的常量

(1)定义:在程序执行的过程中,其值不发生改变的量

(2)分类: A:字面值常量。 B:自定义常量(后面讲)

整数常量 二进制: 由0,1组成。以0b和0B开头。(JDK7新特性)
八进制: 由0,1,…7组成。以0开头。
十进制 :由0,1,…9组成。整数默认是十进制。
十六进制: 由0,1,…9,a,b,c,d,e,f(大小写均可)组成。以0x或0X开头。
long型常量 长整型必须以L或l(小写L)作结尾,如9L,342L。
double常量 小数常量的默认类型是double型,可以有后缀d或D。如3.14、3.14D、3.14d
float常量 小数后面一定要加f或F。如3.14f、3.14F
boolean常量 仅有两个常量:true和false
char常量 用两个单引号括起来,一个字符占2byte。如’A’、’b’ 、’\t’
byte和short 没有常量形式。他们都是接收一个不超过他们取值范围的int常量(隐式转换);如果这个int常量超过了他们的取值范围必须使用强制转换

注意事项:

在字符常量中,’\n’代表换行、’\r’代表回车,这两个字符都源自打字机的动作,但意义不同。(见下图)

在字符常量中,’\b’代表退格,在输出’\b’时,在eclipse中和cmd中执行的效果不同。

java 基本类型和常量讲解