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

[Java]Java学习笔记(一)——基本内置类型

2015-02-25 19:12 239 查看
基本内置类型
基本数据类型
整型int short long byte

浮点型float double

字符型char

布尔类型bollean

基本构造类型
数组

枚举类型与类类型

基本内置类型

以下按基本数据类型、基本构造类型两个部分对java的类型做一个简单描述。

穿插一些说明。

参考了《Java核心技术 · 卷1 · 基础知识》(第九版)《疯狂Java讲义》(第二版)

基本数据类型

java的基本数据类型有 int, short, long, byte, float, double, char, boolean。

Integer, Short, Long, Byte, Float, Double, Character 为对应的类类型。

java里的数值类型都是有符号的。

整型:int, short, long, byte

类型存储需求取值范围
int4 bytes−231-2^{31} ~ 231−12^{31}-1
short2 bytes−215-2^{15} ~ 215−12^{15}-1
long8 bytes−263-2^{63} ~ 263−12^{63}-1
byte1 bytes−27-2^{7} ~ 27−12^{7}-1
对于整形常量,默认是 int 型,十进制数。

可通过加后缀 L 声明为长整型 long,如 2L。

可通过加前缀 0x 声明为十六进制数,如 0x2;

加前缀 0 声明为八进制数,如 02。

java7+ 加前缀 0b 声明为二进制数,如 0b01。

java7+ 常量还可以用下划线(_)进行分隔,如 1_000_000,编译器会自动去除下划线。

浮点型:float, double

类型存储需求取值范围
float4 bytes大约 ±3.40282347E+38F\pm 3.402 823 47E+38F
double8 bytes大约 ±1.79769313486231570E+308\pm 1.797 693 134 862 315 70E+308
对于浮点型常量,默认是 double 型。

可以使用十进制数表示或科学计数法表示,如 512.1 或 5.121E2。

可通过加后缀 F 声明为 float 型(单精度浮点型);

也可以加后缀 D 强调为 double 型(双精度浮点型)。

java的浮点数遵循 IEEE 754 标准:

类型符号位指数位尾数位
floatb31b23 ~ b30b0 ~ b22
doubleb63b52 ~ b62b0 ~ b51
说明:按照默认规则,由右往左位号依次为0, 1, 2, …,最右边称为 LSB(Least Significant Bit,最低有效位), 最左边称为 MSB(Most Significant Bit,最高有效位)。

java还有三个特殊的值,分别是 POSITIVE_INFINITY(正无穷大),NEGATIVE_INFINITY(负无穷大)和 NAN(不是一个数字),作为 Double 和 Float 的成员。

但一般不直接使用,而是采用如下方式

if(Double.isNaN(x))


java里的引用类型都不能直接使用==进行比较,这样做会被当作是比较引用的地址是否相同。

如果对精确度要求很高,则应当使用 BigDecimal 类。

字符型:char

java的 char 类型为 2字节的 utf-16 码。

这与其他的语言不同,一般的编程语言里 char 都是单字节的 ascll 码,因此如果使用 java 里的 char, 就需要特殊操作,不提倡直接操作,建议用 String 类间接操作。

即使使用 String 类,仍然操作起来要比其他语言麻烦并且容易出错。

在 java 里,一个 utf-16 方式表示的字符称为一个代码单元

一个代码单元包括两个代码点

Unicode代码单元可以用十六进制表示,如 \u005B 代表 ‘[‘。

一些转义字符:

转义序列名称Unicode值
\b退格\u0008
\t制表\u0009
\n换行\u000a
\r回车\u000d
\”双引号\u0022
\’单引号\u0027
\\
反斜杠\u005c

布尔类型:bollean

取值为 true 或 false,对应逻辑真和逻辑假。

基本构造类型

数组

与 C# 的语法基本相同,

int[] a;

输出数组的内容可以使用 for(int element : a) 或 Arrays.toString(a) 方式输出。

java中数组的长度可以为 0。

枚举类型与类类型

该部分的内容将独立出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: