Java不支持C/C++ 中 指 针 类 型 、结 构 类 型(struct)和 联 合 类 型(union)
布尔型数据类型用关键字boolean
表示,只有true
和false
两个值且它们不对应于任何整数值,经常在流程控制语句中使用。
例如:
boolean b = false;
(1)字符常量
'A'
"helloworld"
Unicode码
表 示转 义 字 符,以 反 斜 杠(\
)开 头:
转义字符 | 描述 |
---|---|
\ddd | 1~3位八进制数所表示的字符(ddd |
\uxxxx | 1~4位十六进制数所表示的字符(xxxx) |
\’ | 单引号字符 |
\’’ | 双引号字符 |
\ \ | 反斜杠 |
\r | 回车 |
\n | 换行 |
\f | 走纸换页 |
\t | 横向跳格 |
\b | 退格 |
例如:
A
的Unicode码是\u0061
,那么在Java程序中\u0061
就表示字符A
中
的Unicode码是\u4e2d
,那么在Java程序中\u4e2d
就表示字符中
(2)字符变量
字 符 类 型 变 量 用char
表 示,在Java虚 拟 机 中 一 般 用16位 表 示 一 个char
值,范 围 为0~65535
定义格式:
char c, c1='a';//定义了两个字符型变量c和c1,且c1的初始值为'a'
Java的 字 符 型 数 据 不 同 于 整 数,但 是 可 以 和 整 数 在 一 起 运 算:
int i=20000;
char one='1';
int j='a';//由字符向整数,自动类型转换
char c=(char)(i+one+j);//字符型和整数在一起运算,字符型变量首先转换为整型,这样i+one+j的运算结果为20146
//再通过强制类型转换成字符型,字符变量c的值为中文字符'亲 '
(3)整数类型
0~9
的数表示,首位不能为0
0
开 头,后 跟 多 个0~7
之 间 的 数 字
0x
或 者 0X
开 头 ,后 跟 多 个 0~9
之 间 的 数 字 或 A~F 之 间 字 母 的 大 小 写 形 式。a~f
或 者 A~F
分 别 表 示 10~15
0b
或 者0B
开 头,后 跟 多 个0~1之 间 的 数 字数据类型的表示范围:
数据类型 | 所占位数 | 数的范围 |
---|---|---|
byte | 8 | –27~(27–1) |
short | 16 | –215~(215–1) |
int | 32 | –231~(231–1) |
long | 64 | –263~(263–1) |
一 个 整 数 数 字 隐 含 为int
型,在 表 示long
型 常 量 时,需 要 在 数 字 后 面 加 上 后 缀 L
或l
byte b=5;
int i=300;
long j=300; //把一个int型值赋给long型变量j
long j2=300L; //把一个long型常量赋值给long型变量j2
int i=4L; //错误,不能把long型值赋给int型变量
提示:在定义变量时,所赋值不能超过数据类型的表示范围。如变量b
的值不能超过127
(1)标 准 计 数 法:由 整 数 部 分 、小 数 点 和 小 数 部 分 组 成
如:2.0,345.789
(2)科 学 计 数 法:由 十 进 制 数 、小 数 点 、小 数 和 指 数 构 成 ,指 数 部 分 由 字 母 E
或 e
跟上正负号的整数表示
如:345.789可以表示成3.45789E+2
Java有两种浮点数类型:
在 一 个 浮 点 数 后 加 字 母 F
或f
,表 示float
型, 默 认 为 double
型
浮点数的定义如下:
double d; //定义一个double型变量d
double d1=3.4; //可以在定义的时候赋予初始值
double d2=3.4d; //在定义double变量时,可以加后缀D或d,也可以不加
float f=3.4F; //在定义float型变量时,需要在数值后面加F或f
float f1=3.4; //默认情况下,常量值3.4为double,编译时会发生类型不匹配的错误
byte、short和char在一起运算时,首先转换为int类型进行运算
(2)强制类型转换
高→低 :在变量前面,把需要转换的“目标类型”放到用圆括号()
里面
int i=65;
char c;
c=(char)i; //把int型变量转换成char型,需要强制类型转换