目录
关键字
- 定义:被Java语言赋予了特殊含义,用作专门用于的字符串(单词)
- 特点:关键字中所有字母都为小写
用于定义数据类型的关键字 | ||||
class | interface | enum | byte | short |
int | long | float | double | char |
用于定义流程控制的关键字 | ||||
if | else | switch | case | default |
while | do | for | break | continue |
return |
|
|
|
|
用于定义访问权限修饰符的关键字 | ||||
private | protected | public |
|
|
用于定义类、函数、变量修饰符的关键字 | ||||
abstract | final | static | synchronized |
|
用于定义类与类之间关系的关键字 | ||||
extends | implements |
|
|
|
用于定义创建实例及引用实例、判断实例的关键字 | ||||
new | this | super | instanceof |
|
用于异常处理的关键字 | ||||
try | catch | finally | throw | throws |
用于包的关键字 | ||||
package | import |
|
|
|
其他修饰符关键字 | ||||
native | strictfp | transient | volatile | assert |
*用于定义数据类型值的字面值 | ||||
true | false | null |
|
|
保留字
java保留字:现有java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。
goto、const
标识符
java对各种变量、方法和类等要素命名时使用的字符序列称为标识符,简单来说,凡是可以自己起名字的地方都叫标识符
定义合法标识符的规则
由26个英文字母大小写,0-9,_或$组成
数字不可以开头
不可以使用关键字和保留字,但可以包含关键字和保留字
java中严格区分大小写,长度无限制
标识符不能包含空格
标识符命名规范
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”
变量
变量的概念
- 内存区域中的一个存储区域
- 该区域的数据可以在同一类型范围内不断变化
- 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
变量的作用
用于在内存中保存数据
使用变量注意
- java中每个变量必须先声明,后使用
- 使用变量名来访问这块区域的数据
- 变量的作用域:其定义所在的一对{}内
- 变量只有在其作用域内才有效
- 同一个作用域内,不能定义重名的变量
数据类型
概述
在java中,对每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间。
整数类型
- 整数类型有:byte、short、int、long
- java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性
- java的整型常量默认为int型,声明long型常量须后加 l 或者 L
- java程序中整型变量通常声明为int型,除非不足以表示较大的数,才是用long
java程序中整型变量通常声明为int型,除非不足以表示较大的数,才是用long
类型 占用存储空间 表数范围
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
案例:
class VariableTest2{ public static void main(String[] args){ byte b1 = 12; byte b2 = -128; //b2 = 129;//错误,编译不通过 System.out.println(b1); System.out.println(b2); short s1 = 255; //定义long类型的变量要加 l 或者 L long l1 = 123456L; System.out.println(s1); System.out.println(l1); } }
浮点类型
- 与整数类型类似,java浮点型也有固定的表数范围和字段长度,不受具体操作系统的影响
- float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求
- double:双精度,精度是float的两倍,通常采用此类型l
- Java的浮点型常量默认为double类型,声明float型常量,须后加f 或者 F
类型 占用存储空间 表数范围
单精度float 4字节 -3.403E38~3.408E38
双精度double 8字节 -1.798E308~1.798E308
案例:
class VariableTest2{
public static void main(String[] args){
double d1 = 123.4;
System.out.println(d1 + 1);
//定义float类型的变量后加 f 或者 F
float f1 = 12.3F;
System.out.println(f1);
}
}
字符型
- char型数据用来表示通常意义上“字符”(2字节)
- java中的一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符
- 字符变量的表现形式:
字符常量是用单引号括起来的单个字符。例如:char c1 = ‘a’; char c2 = ‘男’;char c3 = ‘9’;
- char类型是可以进行运算的,因为它都有对应的Unicode码
boolean类型
- 只能有两个值:true和false
- 在判断和循环结构中使用
案例:
class VariableTest2{
public static void main(String[] args){
char c1 = 'a';
System.out.println(c1);
char c2 = '2';
char c3 = '男';
System.out.println(c2);
System.out.println(c3);
boolean b3 = true;
System.out.println(b3);
if(b3){
System.out.println("是真的!");
}else{
System.out.println("是假的!");
}
}
}
数据类型转换
自动类型转换
- 容量小的类型会自动转换为容量大的数据类型。这里的容量大小指的是表示的数的范围
- 数据类型按容量大小排序为:
byte->short -> int ->long ->float-> double
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算
- 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值会自动转化为字符串(String)类型
强制类型转换
- 强制类型转换就是将大容量的数据转换为小容量的数据类型时使用,就是自动类型转换的逆运算
- 强制类型转换符:()
- 强制类型转换可能导致精度丢失
案例:
class VariableTest4{ public static void main(String[] args){ double d1 = 15.2; int i1 = (int)d1; System.out.println(i1); } }
String类型
- String不是基本数据类型,属于引用数据类型
- 使用方式与基本数据类型一致。例如:String str = “abcd”;
- 一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如:
str = str + “xyz”;
int n = 100;
str = str + n;
- \n、\t的使用
案例:
class StringTest{ public static void main(String[] args){ String s1 = "hello world"; System.out.println(s1); String s2 = "a"; String s3 = ""; String str = "学号:"; int num = 1001; str = str + num; System.out.println(str); } }
运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
java中的运算符有:
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 位运算符
- 三元运算符
运算符 | 运算 | 范例 | 结果 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
* | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模(取余) | 7%5 | 2 |
++i i++ | 自增(前):先加1再使用 自增(后):先使用再加1 | a = 2; b = ++a; a = 2; b = a++; | a = 3; b = 3 a = 3; b = 2 |
--i i-- | 自减(前):先减1再使用 自减(后):先使用再减1 | a = 2; b = --a; a = 2; b = a--; | a = 1; b = 1 a = 1; b = 2 |
赋值运算符
- 符号:=
- 赋值运算符就是用来给变量赋值的
- 当“=”两侧的数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
- 支持连续赋值
- 扩展赋值运算符:+=、-=、*=、/=、%=