Java学习笔记—第三章
第三章 标识符、关键字和数据类型
1. Java标识符和关键字:在程序设计中,通常用一个记号对变量、常量、方法和类等进行标识,这个记号称为标识符。Java语言本身使用了一些标识符,这些标识符称为Java关键字,用户在命名标识符时应该避免使用这些Java关键字,否则将导致程序无法进行编译。
Java中的关键字如下:
abstract | 抽象 | assert | 断言 | boolean | 布尔 |
break | 中断 | byte | 字节 | catch | 捕获 |
char | 字符 | class | 类 | continue | 继续 |
default | 默认 | do | 做 | double | 双精度 |
else | 否则 | enum | 枚举 | extends | 继承 |
false | 假 | final | 最终 | finally | 最终 |
float | 单精度浮点 | for | 当...时候 | if | 如果 |
implements | 实现 | import | 引入 | instanceof | 是...的实例 |
int | 整型 | interface | 接口 | long | 长整型 |
native | 本地 | new | 新建 | null | 空 |
package | 包 | private | 私有 | protected | 受保护 |
public | 公共 | return | 返回 | short | 短整型 |
static | 静态 | strictfp | 精确浮点 | super | 超级的 |
switch | 转换 | synchronized | 同步 | this | 这个 |
throw | 抛出 | throws | 抛出 | transient | 暂时的 |
true | 真 | try | 尝试 | void | 空的 |
volatile | 易变的 | while | 当...时候 | byValue | 按值 |
case | 情形 | const | 常量 | future | 将来 |
generic | 类属 | goto | 跳转到 | inner | 内部 |
outer | 外部 | operator | 运算符 | rest | 余数 |
var | 变量 |
上表中红色部分是Java中一些预留的但是暂时没有使用的关键字,称为保留字,用户也不能将其作为标识符使用。
2. Java标识符的命名规则
(1)标识符由字母、数字、下划线(_)、美元符号($)组成,没有长度限制;
(2)标识符的首字母必须是字母、下划线(_)或者美元符号($);
(3)标识符中的字母是区分大小写的,例如Dog和dog是两个不同的标识符;
(4)常量通常以大写字母英文单词命名,变量通常以小写字母英文单词命名。如果一个变量由多个单词构成,第一个单词为小写,第二个单词首字母大写,如hotDog;
(5)类标识符通常以大写英文字母开头;
(6)不能使用Java关键字、保留字作为自定义标识符使用。
3. Java的数据类型:Java的数据类型分为简单数据类型和复合数据类型。
(1)简单数据类型:数值类型(整型(byte、short、int、long)、浮点型(float、double))、
字符型(char)、布尔型(boolean)
数据类型 | 关键字 | 所占位数 | 默认值 | 取值范围 |
字节型 | byte | 8 | 0 | -2的7次幂~2的7次幂-1(-128~127) |
短整型 | short | 16 | 0 | -2的15次幂~2的15次幂-1(-32768~32767) |
整型 | int | 32 | 0 | -2的31次幂~2的31次幂-1(-2147483648~2147483647) |
长整型 | long | 64 | 0 | -2的63次幂~2的63次幂-1 |
单精度型 | float | 32 | 0.0 | |
双精度 | double | 64 | 0.0 | |
字符型 | char | 16 | ‘\u0000’ | ‘\u0000’~‘\uFFFF’ |
布尔型 | boolean | 8 | false | true、false |
解释说明:
a.不同类型的数据,其所占内存空间不同。
b.不同类型的数据,所能执行的操作不同。如整型和浮点型数据可进行算数运算,而布尔型数据不行。
c.byte、short、int、long均用于表示整数,只是取值范围不同。整型数据有三种表示方式:十进制表示(由正、负号和数字0~9组成,数字部分不能以0开头)、八进制表示(由正、负号和数字0~7组成,数字部分以0开头)、十六进制表示(由正、负号,数字0~9,字母A~F或a~f(表示数值10~15)组成,数字部分以0X或0x开头);长整型数据必须在数值后添加大写"L"或小写"l"。
d.float和double都表示浮点型数据,只是取值范围和精度不同。double型取值范围更大,精度更高。浮点型数据有两种表示方法:小数表示法(如4.0,5.32)、科学表示法(在小数表示法后加"E"或"e"及指数部分,注意:"E"或"e"前面必须有数字,指数部分可正可负,但必须是整数。如4.5E-5)
e.字符型用来表示Unicode字符集中的符号,如控制字符、字母、数字和汉字。Unicode字符集采用十六进制数表示一个字符,如‘\u0061‘表示小写字母a.普通字符表示法是用单引号括起来的一个字符,而且区分大小写,如‘A‘和‘a‘是两个字符,而‘VA‘是不合法的。转义字符表示法格式为‘\字符‘,主要用来表示一些无法显示的字符,如回车符、换行符、制表符等。
f.布尔型只有"true"和"false"两个值。Java中不能用1和0来表示true和false,因此,布尔型变量不能参加各种数学运算。
简单数据类型的优先级:(byte、short、char)→int→long→float→double
数据类型的相互转换:优先级低→优先级高(自动转换) 优先级高→优先级低(强制转换)
例如int x=10;float y; y=x; 自动转换
float x=20.5f;int y; y=(int)x; 强制转换
(2)复合数据类型:Java中的复合数据类型包括类(class)、接口(interface)、数组。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。