浏览以下内容前,请点击并阅读 声明
八种基本数据类型
java有八种基本数据类型,其中包括:
- byte,字节型,是8位带符号的整数,即其范围在-128和127之间(包括)
- short,短整型,是16位带符号的整数,范围在-32768和32767之间(包含)
- int,整型,是32位带符号的整数,范围在-231到231-1之间(包含)
- long,长整型,是64位带符号的整数,范围在-263和263-1之间(包含)
- float,浮点型,单精度32位
- double,双精度浮点型,64位
- boolean,布尔型,只能为true或false
- char,字符型,是一个16位的Unicode字符,其值介于'\u0000'(0)和'\uffff'(65535)之间。
除了八种基本类型外,还有一种特殊的数据类型就是字符串(String),java中将字符串归类为对象,而不是基本数据类型。代码中双引号中间的内容将会被视为不可更改字符串对象。
默认值
当定义一个字段之后而未将其初始化(赋值)时,编译器会将其设置为一个默认值,根据其类型,通常是0或者是null,基本类型的默认值如下表:
数据类型 | 默认值 (字段) |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | '\u0000' |
String (or any object) | null |
boolean | false |
字段有默认值,而局部变量没有默认值,如果定义一个局部变量而未进行初始化,使用时编译器将无法编译通过。
基础类型表示
当创建一个对象时,我们要用到new 关键词,而基本类型都是固定的值,直接在代码中书写,如:
boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;
整数表示
如果数字后面跟上L或者是l(小写字母),则表明该表达式为长整型,否则为整型,byte,short,int,long都可以由整型的表达式赋值,long型也可由长整形的表达式赋值。
整数可由十进制,十六进制和二进制表示,使用方法如下:
// 整型数字26, 以十进制表达
int decVal = 26;
// 整型数字26, 以十六进制表达,数字前加0x
int hexVal = 0x1a;
// 整型数字26, 以二进制表达,数字前加0b
int binVal = 0b11010;
浮点表示
小数的表达式后接f或者F表示位单精度浮点型,否则位双精度浮点,也可在小数后加D或者d表示为双精度型。除小数形式外,还可用科学计数法(E或者e)表示,如
double d1 = 123.4;
double d2 = 1.234e2;//科学计数法
float f1 = 123.4f;
字符和字符串
字符和字符串类型可以包含任何Unicode字符,字符型用单引号,而字符串用双引号,如下所示:
//字符型
char charVar='a';
//字符串型
String stringVar="abc";
对于一些特殊的字符,可以使用转义字符,如\b 表示回退,\t 表示制表符,\n表示
换行符, \f
表示
换页符, \r
表示回车符, \"
表示
双引号, \'
表示单引号, \\
表示
反斜杠。
字符串和字符型表达式也可用Unicode转义的表示形式,如:'\u006a'代表字母j。
有两种特殊的表达式null和".class",前者可用于赋值除基本数据类型以外的任何变量,而后者则表示特定类的对象。如 String.class表示代表String类的对象。
从java7开始,数字之间也可以使用下划线(‘_’)分隔,以便于查看,如同数字中的逗号分隔符一样,但是下划线的使用不会对表达式的值产生影响,注意,下划线只能在数字或者代表十六进制的字母之间使用 ,例如:
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;