1 关键字
定义:被Java语言赋予了特殊含义的单词。
特点:关键字中所有的字都为小写。
类别 关键字 说明
访问控制
private 私有的
protected 受保护的
public 公共的
类、方法和变量修饰符
abstract 抽象
class 类
extends 继承
final 最终值,不可更改的
implements 实现(接口)
interface 接口
native 本地,原生方法
new 新,创建
static 静态
synchronized 线程,同步
transient 短暂
volatile 易失
strictfp 严格,精准
程序控制语句
break 跳出循环
case 定义一个值供switch选择
continue 继续
defaule 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环
错误处理
assert 判断表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常有可能被抛出
try 捕获异常
包相关
import 引入
package 包
基本类型
int 整型
byte 字节型
short 短整型
long 长整型
double 双精度浮点
float 单精度浮点
char 字符型
boolean 布尔型
变量引用
supper 父类,超类
this 本类
void 无返回值
保留关键字
goto 是关键字,但不能使用
const 是关键字,但不能使用
null 空
2 标识符
程序员定义的名字。
命名规则:
1)标识符是由数字、字母、下划线、美元符号构成(09,az,A~Z,”_”, ”$”),其他符号不可以。下划线和美元符号一般做分类作用,如hello_java。
2)必须以字母、下划线、美元符号开头,不能以数字开头;
3)关键字不能作为标识符;
4)标识符区分大小写;
5)见名知意,驼峰命名法,如helloWorld
6) 类名、变量名都是常见的标识符。
其它:
1)类名首字母大写。
2)方法名和变量名,使用驼峰命名法,第一个单词首字母小写,从第二个单词开始首字母大写。
3)源文件名:要与类名相同,文件名后缀是.java。如果文件名和类名不相同会导致编译错误。
4)常量:所有字母大写,多个单词中间使用下划线隔开
3 注释
解释程序的文字,对程序进行说明。
格式:(1)单行注释://
(2)多行注释:/* xxx /
(3)文档注释:/* xxx */
文档注释作用:鼠标放在类名上会显示文档注释的内容,对类进行说明。
4 常量
不能够被改变的数据
常量类型
整数常量:所有整数(正数 负数 0)
小数常量:所有小数
布尔型常量:false(假),true(真)
字符常量:将一个数字,字母或者符号用单引号( ’ ’ )标识。
字符串常量:将一个或者多个字符用双引号(“ ”)标识。 null常量:null
5 变量
可以变化的值。在内存中对应一块存储区域,该区域有自己的名称(变量名)和类型(数据类型)。
为什么要定义变量?
是为了存储同一类型的值,可以重复使用。变量存储的就是常量的值。
(1)定义变量格式:
(一) 数据类型 变量名;
变量名 = 初始化值;
(二)数据类型 变量名 = 初始化值;
(2)变量的数据类型:
java对数据进行了强烈的严格划分,是一种强类型语言。
对每一种数据都明确了具体的数据类型以及在内存中分配了不同大小的内存空间。
(3)数据类型的分类:
基本数据类型
引用数据类型
5.1 八种基本数据类型
(1)整数型:
byte类型 :字节,在内存空间占据一个字节:-128到127。
short类型:短整型,在内存空间占据两个字节:-32768到32767
int类型:整型(默认),在内存空间占据四个字节
long类型:长整型,几乎包括所有整数。
(2)小数型(浮点数):
精度就是代表数字的精确程度。
float:单精度,4个字节
double(默认):双精度,8个字节
(3)字符型:char 占据两个字节:0-65535之间
(4)布尔型:boolean 占据一个字节
变量的特点:
(1)变量必须要先赋值才能够使用
int c;
System.out.print©; —报错,变量未赋值
(2)同一范围(大括号)内不能够定义相同名字的变量
(3)变量是可以同时定义多个
int a = 110;
int b = 120;
Int c = 30;
或者:int a = 110,b = 120,c = 30;
5.2 引用数据类型
类,接口,数组
拓展:字节的由来
计算机早期是以电信号(开和关标示)来记录数据的,每8个为一组信号(bit),每8个bit为一个单位(byte即字节)。由于电信号记录太复杂,就采用数字信号0和1来记录数据。
6 数据类型转换
不同的数据类型之间是不能够进行运算的。所有整数运算都先被自动转换为int类型进行运算,所有小数运算都先被自动转换为double类型进行运算。
6.1 自动类型转换
byte b = 4;
int x = 3;
x = x+b;
System.out.println(x);
结果:7。为什么会有结果出现,是发生了数据类型转换。
规则:先算右边,然后再赋值给左边
自动类型转换,以大的为主,小的向大的提升
解释:int类型和byte类型会先分配两个区域,byte类型会自动提升成为4个字节的int类型数据,然后和int类型的4相加,最后得到int类型的值:7。
6.2 强制类型转换
强制类型转换把高类型数据向低类型数据进行转换,要注意运算结果是否会发生数据的丢失。
其实现方法是使用一对小括号,将其他类型转换为指定的类型。
语法结构:
转换后的类型 变量=(转换后的类型)被转换的变量
byte b1 = 127;
b1 = (byte)(b1+2);
System.out.println(“b1=”+b1);
先计算右边,自动做了类型的提升,然后再赋值为左边,发现装不下,所以必须自己手动明确为byte类型的值。
强制类型转换:需要手动添加要转换的数据类型,用括号括住。
注意:但是当处于byte的临界值的时候,那么数据会发生溢出现象。上述代码结果:-127。
解释:2是int类型,b1是byte类型,相加结果为int类型,但是等号左边是byte类型,所以要强制类型转换。
6.3 美国信息交换标准码表
char a3 = ‘a’;
System.out.println(“a3=”+(a3+3));//结果:100
System.out.println(“a3=”+(char)(a3+3));//结果:d
分析:为了联系美国语言(a-z,0-9,以及其他符号)与计算机语言0和1之间转换,就采用了ASCII码表。
解释:a3是char类型,3是int类型,本来是没有办法相加的。由于ASCII码表,’a’先转换为二进制数字,在转换为十进制数字97,int类型数据(97)与3相加得到100。若想得到char类型数据,就可以采用强制类型转换。十进制数字转换为二进制数据,在通过ASCII码表转换为对应的字母或者数字等等。