Java SE基础语法汇总

目录

运算符

选择语句与循环语句

数据类型

自定义类

访问限定符

封装、继承与多态

抽象类和抽象方法

接口

String类

异常处理


运算符

运算符优先级表

运算符说明

Java运算符

分隔符

. [] () {} , ;

单目运算符

++ -- ~ !

强制类型转换运算符

(type)

乘法、除法、求余

* / %

加法、减法

+ -

移位运算符

>  >>>

关系运算符

< >=  instanceof

等价运算符

==   !=

按位与

&

按位异或

^

按位或

|

条件与

&&

条件或

||

三目运算符

?:

赋值

= += -= *= /= &= |= ^= %= >= >>>=

选择语句与循环语句

Java中的选择语句和循环语句延续了C语言的使用方法。

选择语句中关键字有:if、else if、else以及switch

循环语句中的关键字:for、while、do while。

相较于C语言,for除了正常用法外,另外多了一种foreach的写法:

for (类型 变量名 : 遍历数组) {
    //进行每一项的操作
    //每一次得到的都是该位置处的值,而不能得到下标
}

数据类型

Java八大基本数据类型

基本数据类型

占用内存(字节数)

byte

1

char

2

short

2

int

4

long

8

float

4

double

8

boolean

 每一个基本数据类型都有对应的包装类,其中int的包装类为Integer,char的包装类为Character,其余基本类型包装类名除首字母大写外与其本身相同。当我们需要对某一种数据类型进行操作时,就可以从其包装类种寻找是否有现成的方法供我们使用。

自定义类

Java中的数据类型可以看作是由包装类实例化的对象,除了这些Java中自带的,也可由自己创建。自定义类种可以包含成员变量与成员方法。

访问限定符

Java中为了避免权限的滥用,设置了四个访问限定符,要访问一个类或是类中的成员变量和成员方法,都需要满足访问权限:

访问限定符

范围

private

default

(默认)

protected

public

同包同类

True

True

True

True

同包不同类

True

True

True

不同包子类

True

True

不同包非子类

True

(包的作用可以类比文件夹)

封装、继承与多态

封装具体操作是把不想要被看到的部分改为private权限,只有利用get和set方法才能更改private修饰的部分。

继承可以提高代码的复用率,减少重复。共有的部分在父类中完成,特有的部分在子类中完成。继承的关键字为:extends——extends意为延申,拓展,继承的实质作用也可以看作是拓展。如果子类中需要构造方法,那么一定要在父类中先进行构造。如果父类中有构造,那么子类中必须先完成对父类的构造。父类中构造通过this关键字,子类中完成父类构造通过super关键字。

多态基于继承体系下,当我们不能确定具体对象是什么的时候,可以先找到它的父类对象,再根据具体条件找到对应的子类。也就是说,要实现某个方法或某个过程,当我们传入的对象不同时(但要满足同时是子类这一条件),所产生的结果不同。

抽象类和抽象方法

在方法返回值前(访问限定符后)加上关键字abstract,同时不写花括号以及其中的内容,直接加上";"即为抽象方法,抽象类只需要在普通类的访问限定符后加上abstract关键字即成为抽象类。

抽象类中可以不包含抽象方法,但是抽象方法只能存在于抽象类中。

抽象类不可以被实例化,其他与普通类相同。

接口

接口是一种行为规范,它可以帮助统一某些代码,使其更规范。接口不是必要存在的。

接口的创建方法:public+interface关键字+接口名+{ //内容}

接口中所有的成员变量默认为public static final;所有的成员方法默认为public abstract

类中通过implements关键字接入接口,即在类的末端、{的前面加上implements + 接口名

接入接口后必须重写接口中的所有成员方法,重写的方法名是否出错可以通过在重写的方法前加上@override检查

String类

String属于引用类型,内部存储不是字符串本身,而是哈希值,通过这个哈希值可以找到所存字符串。字符串的比较可以使用equals方法或者compareTo方法。

String类中的equals方法不同于Object类中的equals方法,而是直接重写了这个方法。

equals方法返回值是true或false,compareTo方法返回值是整型。

字符串的值是不可变的,所有对字符串进行的操作都是创建了一个新字符串。

应尽量避免直接对字符串进行修改,而是借助StringBuilder和StringBuffer来帮助修改。

String通过构造方法或者.append转变为StringBuffer

StringBuffer通过构造方法或者.toString转变为String

异常处理

适当的异常处理可以帮助我们在程序出现异常时快速找到异常位置。

异常处理通过try——catch——finally实现,catch可以捕获受查异常和非受查异常(RuntimeException)。

如果捕获的是受查异常,那么编译过程就会报错。如果捕获的是非受查异常,则执行过程才报错。

catch也可以捕获自定义异常,异常属于类,只需要该类继承于Exception或者RuntimeException(非受查异常),类中不需要内容,但也可以重写方法打印错误信息。

猜你喜欢

转载自blog.csdn.net/weixin_71020872/article/details/128398728