1.1 什么是标识符?
凡是可以由自己命名的地方都称为标识符。
例如,对于常量、变量、函数、语句块、类、项目等都需要一个名字,这些我们都统统称为标识符。
1.2 命名规范
①对于Java标识符,有以下三点要求:
标识符有字母、数字、_(下划线)、$所组成,其中不能以数字开头,不能用Java中的保留字(关键字)
标识符采用有意义的简单命名
"$"不要在代码中出现。(是由于在后面内部类中,编译后会出现$符号)
②命名规范(驼峰命名法)
类名和接口名:每个单词的首字母,其余为小写。(大驼峰)
方法名:第二个单词起的首字母为大写,其余全为小写。(小驼峰)
常量名:基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。
3.Java的关键字分别是什么,作用是什么?
1).访问修饰符的关键字(共3个)
关键字 | 意思 | 备注,常用 |
---|---|---|
public | 公有的 | 可跨包,(默认选择) |
protected | 受保护的 | 当前包内可用 |
private | 私有的 | 当前类可用 |
2).定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(共6个)
关键字 | 意思 | 备注,常用 |
---|---|---|
class | 类 | public class A(){} 花括号里有已实现方法体,类名需要与文件名相同 |
interface | 接口 | public interface B(){} 花括号里有方法体,但没有实现,方法体句子后面是英文分号“:”结尾 |
abstract | 声明抽象 | public abstract class C(){} 介于类与接口中间,可以有也可以没有已经实现的方法体 |
implements | 实现 | 用于类或接口实现接口public class A interface B(){} |
4).数据类型的关键字(共12个)
关键字 | 意思 | 备注,常用 |
---|---|---|
byte | 字节型 | 8bit |
char | 字符型 | 16bit |
short | 短整型 | 16bit |
int | 整型 | 32bit |
void | 无返回 | public void A(){} 其他需要返回的经常与return连用 |
(5).条件循环(流程控制)
关键字 | 意思 | 备注,常用 |
---|---|---|
switch | 开关 | switch(表达式) { case 常量表达式1:语句1; … case 常量表达式2:语句2; default:语句; } default就是如果没有符合的case就执行它,default并不是必须的. case后的语句可以不用大括号. switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. |
case | 返回开关里的结果 | |
instanceof | 实例 | 一个二元操作符,和==,>,<是同一类的。测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据 |
6).修饰方法、类、属性和变量(共9个)
关键字 | 意思 | 备注,常用 |
---|---|---|
static | 静态的 | 属性和方法都可以用static修饰,直接使用类名.属性和方法名。 只有内部类可以使用static关键字修饰,调用直接使用类名.内部类类名进行调用。 static可以独立存在。静态块 |
final | 最终的不可被改变的 | 最终的不可被改变的方法和类都可以用final来修饰 final修饰的类是不能被继承的 final修饰的方法是不能被子类重写。 常量的定义: final修饰的属性就是常量。 |
super | 调用父类的方法 | 常见public void paint(Graphics g){常见public void paint(Graphics g){ super.paint(g); ··· } |
this | 当前类的父类的对象 | 调用当前类中的方法(表示调用这个方法的对象)this.addActionListener(al):等等 |
synchronized | 线程,同步 | |
native | 本地的 |
7).错误处理(共5个)
关键字 | 意思 | 备注,常用 |
---|---|---|
catch | 处理异常 | 1.try+catch 程序的流程是:运行到try块中,如果有异常抛出,则转到catch块去处理。然后执行catch块后面的语句 2.try+catch+finally 程序的流程是:运行到try块中,如果有异常抛出,则转到catch块,catch块执行完毕后,执行finally块的代码,再执行finally块后面的代码。 如果没有异常抛出,执行完try块,也要去执行finally块的代码。然后执行finally块后面的语句 3.try+finally 程序的流程是:运行到try块中,如果有异常抛出的话,程序转向执行finally块的代码。那末finally块后面的代码还会被执行吗?不会!因为你没有处理异常,所以遇到异常后,执行完finally后,方法就已抛出异常的方式退出了。 这种方式中要注意的是,由于你没有捕获异常,所以要在方法后面声明抛出异常 (来自网上的资料) |
try | 捕获异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | 一些可以导致程序出问题的因素,比如书写错误,逻辑错误或者是api的应用错误等等. 为了防止程序的崩溃就要预先检测这些因素,所以java 使用了异常这个机制.在java中异常是靠 “抛出” 也就是英语的"throw" 来使用的,意思是如果发现到什么异常的时候就把错误信息 “抛出” |
throws | 声明一个异常可能被抛出 | 把异常交给他的上级管理,自己不进行异常处理 |
throw 和throws的差别
区别一:
throw 是语句抛出一个异常;throws 是方法抛出一个异常;
throw语法:throw <异常对象>
1. 在方法声明中,添加throws子句表示该方法将抛出异常。
2. throws语法:[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
3. 其中:异常类可以声明多个,用逗号分割。
区别二:
throws可以单独使用,但throw不能;
区别三:
throw要么和try-catch-finally语句配套使用,要么与throws配套使用.但 > throws可以单独使用,然后再由处理异常的方法捕获。 throws E1,E2,E3 只是告诉程序这个方法可能会抛出这些个异常,方法的调用者可能要处理这些异常。而这些异常E1,E2,E3可能是该函数体产生的。
而throw是明确之处这个地方要抛出这个异常。