关键字和保留字
关键字(KeyWord)的定义和特点
- 定义:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)
- 特点:关键字中所有字母都为小写。
- 官方地址: docs.oracle.com/javase/tuto…
| 用于定义数据类型的关键字 | ||||
| class | interface | enum | byte | short |
| int | long | float | double | char |
| boolean | void | |||
| 用于定义流程控制的关键字 | ||||
| if | else | switch | case | default |
| while | do | for | break | continue |
| return | ||||
| 用于定义访问权限修饰符的关键字 | ||||
| private | protect | public | ||
| 用于定义类与类之间关系的关键字 | ||||
| extends | implements | |||
| 用于定义建立实例及引用实例、判断实例的关键字 | ||||
| new | this | super | instanceof | |
| 用于异常处理的关键字 | ||||
| try | catch | finally | throw | throws |
| 用于包的关键字 | ||||
| package | import | |||
| 其他修饰符关键字 | ||||
| native | strictip | volatile | assert | |
| 用于定义数据类型值的字面值 | ||||
| true | false | null | ||
保留字(reserved word)
- Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名避免使用这些保留字。比如:goto/const
标识符(Identifier)
-
标识符: Java对各种变量、方法和类等要素命名时使用的字符序列成为标识符。
技巧:凡是可以自己起名字的地方都叫标识符。
-
定义合法标识符规则:
1.由26个英文字母大小写,0-9,_或者$组成。
2.数字不可以开头。
3.不可以使用关键字和保留字,但可以包含关键字和保留字。
4.Java中要严格区分大小写,长度无限制,
5.标识符不能包含空格。
-
Java中的名称命名规范:
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ
变量
变量的概念
- 内存中的一个存储区域
- 该区域的数据可以在同一类型范围内不断变化
- 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值。
变量的作用
用于在内存中保存数据。
使用变量应注意:
- Java中的每一个变量都必须先声明,后使用。
- 使用变量名来访问这块区域的数据。
- 变量的作用域:其定义所在的一对{}内。
- 变量只有在其作用域内才有效。
- 同一个作用域内,不能定义重名的变量。
变量的类型
- 整数类型
| 类型 | 占用存储空间 | 表数范围 |
|---|---|---|
| byte | 1字节=8bit位 | -128~127 |
| short | 2字节 | -2^15~2^15-1 |
| int | 4字节 | -2^31~2^31-1 |
| long | 8字节 | -2^63~2^63-1 |
1.Java中的整数类型默认为int型,声明long型常量须后加'l'
2.Java程序中变量通常声明为int型,除非不足以表示比较大的数,才使用long
- 浮点类型
1.浮点型常量有两种表示形式
十进制数形式:如5.12 512.0f .512(必须有小数点)
科学计数法形式如:5.12e2 512E2 100E-2
2.float:单精度,尾数可以精确到7位有效数字。很多情况下精度很难满足要求。
double:双精度,精度是float的两倍.通常采用此类型.
3.Java的浮点类型常量默认为double型,声明float型常量,须后加'f'或'F'
| 类型 | 占用存储空间 | 表数范围 |
|---|---|---|
| 单精度float | 4字节 | -3.403E38~3.403E38 |
| 双精度 | 8字节 | -1.798E308~1.798E308 |
- 字符类型:char
1.char型数据用来表示通常意义上"字符"(2字节)
2.Java中所有字符都是用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
3.字符型变量的三种表现形式:
-
字符型常量是用单引号‘’括起来的单个字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '\n';
-
Java中还允许使用转义字符''来将其后的字符转变为特殊字符型常量。例如:char c3 = '\n'; //'\n'表示换行符。
-
直接使用Unicode值来表示字符型常量:'\uXXXX'。其中,XXXX代表一个十六进制整数。如:\u000a表示\n。
4.char类型可以进行运算,运算时将其转化为对用的ASCII码。
基本数据类型之间的运算规则
前提:这里讨论的只是7种基本数据类型变量间的运算。不包含boolean类型的。
- 自动类型提升
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。bytr->short->int->long->float->double(此时的容量大小是其表示数的范围的大小,不是占内存的大小)
-
强制类型转换
自动转换的你过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符:(),但可能造成精度降低或溢出,需要格外注意。
通常字符串不能直接转换为基本类型,但通过基本类型对应的包装类型可以实现把字符串转换成基本类型。
例如
String a = "43";int i = Interger.parseint(a);
boolean类型不可以转换为其它的数据类型。
字符串类型String
-
String不是基本数据类型,属于引用数据类型
-
使用方式与基本数据类型一致,例如:String str="abcd";
-
一个字符串可以串接另一个字符串,也可以直接串接其它类型的数据。例如:
str = str + "xyz"; int n = 100; str = str + n;
关于进制
-
所有数字在计算机底层都以二进制形式存在。
-
对于整数有四种表示方式:
- 二进制:0,1,满2进1,以0b或0B开头。
- 十进制:0-9,满10进1.
- 八进制:0-7,满8进1,以数字0开头表示。
- 十六进制:0-9及A-F,满16进1,以0x或0X开头表示,此处的A-F不区分大小写。 如0x21AF + 1 = 0x21B0