关键字与保留字
关键字 :被Java语言赋予特殊含义,用作专门用途的字符串。例如int被用来定义整型变量。
特点:关键字中所有的字母都为小写
Java保留字: 现有的Java版本中没有使用到,未来的版本可能会作为关键字的字符串。Java中定义的保留字:goto,const。
注意:我们自己在定义变量名的时候不要使用保留字。
标识符
合法的标识符规则:(必须严格遵守,否则编译报错)
- 标识符是有大小写字母、0-9、_和$组成。
- 标识符不能以数字开头。
- 不能使用关键字和保留字。
- Java是严格区分大小写的。
标识符的规范:(建议遵守)
- 包名:多个单词组成时,所有字都为小写。xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写。(大驼峰命名)XxxYyyZzz
- 变量名、函数名:多单词组成时,第一个单词全部小写,第二个单词开始首字母大写。(小驼峰命名)xxxYyyZzz
- 常量名:所有字母都是大写。当有多个单词时,每个单词用下划线连接:XXX_YYY_ZZZ
变量
变量的基本介绍
- 变量,用来指向内存中的一个存储区域。
- 组成: 变量类型、变量名、变量值三部分组成。
- 语法 : 变量类型 变量名 = 初始值;
注意 :
- Java中所有的变量必须先声明,后使用。 且只有赋值之后才能使用,否则会报错!
- 变量只有在其作用域内才有效。同一个作用域内变量名必须唯一。
变量的分类
分类标准:按照数据类型分类
- 基本数据类型(8种基本数据类型)
-
基本数据类型
- 数值型:
整型 :byte、short、int、long
浮点型 :float、double - 字符型:char
- 布尔类型: boolean
- 数值型:
-
引用数据类型(3种引用类型)
- 类
- 接口
- 数组
-
注意:
String
不是基本数据类型,而是引用类型中的类类型
整型
byte :1 Byte -128 ~ 127
short:2 Byte -2^15 ~ 2^15-1
int: 3 Byte -2^31 ~ 2^31-1
long: 4 Byte -2^63 ~ 2^63-1
Java的整型常量默认为 int型。
声明long类型时,需要在常量后加“L”或者“l”(小写L)。
浮点类型
float : 4 Byte
double : 8 Byte
Java的浮点常量默认为double类型。
声明float类型时,需要在常量后加“F”或者“f”。
字符类型
char :2 Byte
声明char类型时,使用一对单引号
''
,在单引号中只能存储一个字母,一个汉字,或者其他书面语的一个字符。
布尔类型
bool
bool 只能 赋值为
true
或者false
。不能像C、C++那样用0表示false,非0表示true。
基本数据类型转换
基本数据类型转换中不包含boolean类型的转换,因为boolean类型只能赋值为true或者false。
自动类型转换
表示范围小的数据类型可以自动转换为表示范围大的数据类型。
数据类型按表示范围大小排序为(从小到大):
byte、char、short --> int --> long --> float --> double
注意:
- byte、short、char之间不会相互转换。在这三种类型中,不论相同类型常量运算还是不同类型常量运算,运算的返回类型都为
int
类型。
String
注意 :
- String 不是基本数据类型,属于引用数据类型。使用方式与基本数据类型一致。
- 字符串可以串接另一个字符串,也可以直接串接其他类型的数据。通过使用
+
连接运算符。
强制类型转换
- 自动类型转换的逆过程,将表示范围大的数据类型转为表示范围小的数据类型。有时候有一定的精度损失。
- 转换方式:
(要转换的类型)原类型的变量
(int)14.3 //14 截断操作
- 字符串不能直接转换为基本类型,但可以通过对应的包装类实现把字符串转为基本数据类型。例如
String str = "43";
int num = Integer.parseInt(str);
boolean类型不可以转换为其他基本数据类型
关于进制
0b
或者0B
二进制 例如:0b01
- 十进制 例如:
123
0
八进制 例如:0132
0x
或者0X
十六进制 例如:0x5F
问题总结
- DOS命令行默认以GBK的编码方式解析输出的内容。所以,解决乱码的问题就是将.java文件使用GBK编码方式保存。
- String 和 char 的区别:
String str = ""; //双引号中可以有0个或多个字符
char ch = ''; //单引号中有且仅有一个字符
- 解释
long num = 100;
不会报错,但是float num = 100.1;
会报错!
答:
整形常量默认是int型,int类型会自动转换为long类型,所以第一个不会报错。
浮点型常量默认是double型,double类型不会自动转换为float类型,所以第二个会报错。
练习题:
1. byte、short、char之间的运算
byte类型常量 + byte类型常量 返回 int 类型常量
byte类型常量 + short类型常量 返回 int 类型常量
byte类型常量 + char类型常量 返回 int 类型常量
short类型常量 + short类型常量 返回 int 类型常量
short类型常量 + char类型常量 返回 int 类型常量
char类型常量 + char类型常量 返回 int 类型常量
2. String和其他基本类型之间的串接
String常量 + 基本数据类型(含boolean类型) 返回String类型常量
String常量 + String数据类型 返回String类型常量