知识点:1.关键字 2.标识符 3.变量和常量
一、关键字
1.Java中的关键字有很多一共53个关键字有两个是保留字(java的关键字都是小写的!!)
2.Java中的保留字
(1)const 常量,数量
(2)goto 转到
3.Java的关键字
(1)访问修饰符的关键字(共3个)
关键字 | 意思 | 备注,常用 |
public | 公有的 | 可跨包,(默认选择) |
protected | 受保护的 | 当前包内可用 |
private | 私有的 | 当前类可用 |
(2)定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(共6个)
(3)包的关键字(共2个)
(4)数据类型的关键字(共12个)
(5)条件循环(流程控制)(共12个)
(6)修饰方法、类、属性和变量(共9个)
static 例子: public class Test{ class A{} //内部类 ActionListener al=new ActionListener(···){} //匿名内部类 } 静态块优先于其他方法/类的执行
(7)错误处理(共5个)
throw是你执行的动作。比如你觉得可能有异常,那么就抱出去 如:
String a; if(a == null),
throw new exception("a为null");
所以throw是一个抛出去的动作
throws只用在一个方法的末端,表示这个方法体内部如果有异常,这抛给它的调用者。 如: public void add(int a, int b) throws Exception(); 这个方法表示,在执行这个方法的时候,可能产生一个异常,如果产生异常了,那么谁调用了这个方法,就抛给谁。(来自百度)
(8)不知道是什么(共2个)
Enum:代表一组常用常量,可用来代表一类相同类型的常量值如:
性别:
public enum SexEnum {
male, female;
}
颜色:
public enum Color {
RED, BLUE,GREEN,BLACK;
}
枚举对象里面的值都必须是唯一的。
附:throw 和throws的差别
区别一:
throw 是语句抛出一个异常;throws 是方法抛出一个异常;
throw语法:throw <异常对象>
在方法声明中,添加throws子句表示该方法将抛出异常。
throws语法:[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
其中:异常类可以声明多个,用逗号分割。
区别二:
throws可以单独使用,但throw不能;
区别三:
throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws可以单独使用,然后再由处理异常的方法捕获。
throws E1,E2,E3 只是告诉程序这个方法可能会抛出这些个异常,方法的调用者可能要处理这些异常。而这些异常E1,E2,E3可能是该函数体产生的。
而throw是明确之处这个地方要抛出这个异常。
void doA() throws Exception1, Exception3 {
try {
……
} catch(Exception1 e) {
throw e;
} catch(Exception2 e) {
System.out.println("出错了");
}
if (a != b)
throw new Exception3("自定义异常");
}
代码块……中可能产生异常Exception1、Exception2和Exception3。
如果产生Exception1异常,则捕捉了之后抛出由该方法的调用者去做处理;
如果产生Exception2异常,则该方法自己做了处理(打印出了说出错了),所以该方法就不会再向外抛出Exception2异常了,void doA() throws Exception1,,Excpetion3里面的Exception2也就不用写了;
而Exception3异常是该方法的某段逻辑出错,程序员自己作了处理在该段逻辑错误的情况下抛出异常Exception3,则调用者也需要处理。
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理
throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理
throws主要是声明这个方法会抛出这种类型的异常,使其他地方调用它时知道要捕获这个异常。
throw是具体向外抛异常的动作,所以它是抛出一个异常实例。
throws说明你有哪个可能,倾向
throw的话,那就是你把那个倾向变成真实的了
同时:
1)throws出现在方法函数头;而throw出现在函数体;
2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常;
3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
二、标识符
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。例:
使用标识符时,需要遵守几条规则:
1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴
2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
4. 标识符的命名最好能反映出其作用,做到见名知意
三、变量和常量
3.1 定义变量
变量名称由字母、数字、下划线(_)、美元符($)组成,但是不包括@、%、空格等,但是开头不能为数字。
变量的一些命名原则:
1.变量由多个单词组成时,第一个单词首字母小写,其后单词首字母大写,即驼峰式命名
2.变量命名时应该顾名思义,同时应该尽量简短
ps:Java中是区分大小写的,但是没有长度限制
3.2 数据类型
Java中数据类型包括基本数据类型和引用数据类型;基本数据类型存储数据本身,而引用数据类型则存储数据的地址。引用数据类型包括类、数据、接口,而引用数据类型包括数值型、字符型、布尔型。
数据类型 说明 字节 应用
int 整型 4 存储整数
float 单精度浮点型 4 存储小数
double 双精度浮点型 8 存储小数
char 字符型 2 存储一个字符,用‘ ’表示
boolean 布尔型 1 表示真假,只有ture或false
java 中 float 与 double 的区别
java中默认声明的小数是double类型的,如double d=4.0
如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f或者float x = (float)4.0
其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义
对编程人员而言,double 和 float 的区别是double精度高,但double消耗内存是float的两倍,且double的运算速度较float稍慢。java中的整数默认类型为int类型(占
内存32位),而float32位,16.0在float表示范围内,所以int类型可以向float类型转换;而java中小数默认类型是double,它不能向低位数的数据类型转换,否则受损。
3.3 自动类型转换和强制类型转换
1.目标类型能与源类型兼容,如 double 型兼容 int 型,但是char 型不能兼容int 型
2.目标类型大于源类型,如 double 类型长度为 8 字节,int 类型为4 字节,因此double 类型的变量里直接可以存放int 类型的数据,但反过来就不可以了
强制类型转换
double one = 12.6;
int another = (int)one;
常量
它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名 = 值
常量名一般使用大写字符
final int SCORE = 100;