java学习整理
基本语法符号
注释
- 行注释://
- 多行注释:/*+回车
- 文档注释:/**+回车
数据类型
-
整型
- long
- int
- short
- byte
-
浮点型
- float
- double
-
boolean
- true
- false
-
string
- char
程序入口
- psvm
扫描器的使用
- Scanner sc = new Scanner(System.in)
基本语句
-
赋值语句
-
条件语句
- if(判断){
执行内容
}
else{
执行内容
} - 三元运算: int m = (a > b)? a:b;
- if(判断){
-
循环语句
- while(条件){
执行内容
} - for( int i ; i < 10 ; i++ ){
执行内容
} - do (
循环体
) while(条件)
- while(条件){
常用符号
- ==判断是不是相等
- !=表示不等
- ++ 表示累加1
- +=
- …
逻辑符号
- &&并且
- ||或者
- !非
异常处理
异常分类
- 运行时异常
- (编译型异常)语法异常
- 抛异常(throwEception)
- 捕获异常
异常处理方法
-
try{
尝试执行的代码
} catch(Exception e){
处理异常的代码
}finally{
最后,这个是都会执行的部分(不管有没有异常)
} -
public void nan(Person p) throws GenderException{
if(p.gender.equals(“男”)){
System.out.println(“欢迎光临”);
}else {
//需要抛出异常;
throw new GenderException(“性别不对”);}
-
自定义异常处理(需要继承Exception)
高阶工具
二进制十进制的转化
常用的编码
- ascii
- gbk
- unicode
数据类型的之间的转化
-
相同数据类型之间的转化
-
不同数据类型之间的转化
- int + long = long
- byte + byte = int
数组
-
格式表达
- 类型[ ] 数组名 = new 类型[ 大小 ]
- 类型[ ] 数组名 = {数据1, 数据2,数据3…}
- 类型[ ] 数组名 = new 类型[ ]{数据1.数据2,数据3}
方法使用小结
格式
- public static void(表示没有返回回值) 方法名(形参){
方法体(实参)
return 值;
}
参数要点
- 参数的类型要匹配
- 参数的个数必须匹配
注意事项
- 返回值类型和返回值必须匹配
- 如果写了返回值类型,就必须要有返回值
- 如果有返回值就必须要写返回值类型
- 没有返回值,返回值类型要写void,方法体里可以不写return 或者 后面不跟返回值
- return之后不可以再写代码了
方法重载
- 用途:方法的名字相同,参数的个数或者类型不同—重载
面向对象
类和方法
-
类
-
引用
- 类 引用 = new 类()
-
-
方法
-
普通方法
-
构造方法
作用:在创建对象的时候,给对象设置属性信息
- 写法: public 类名(string color){
this.color = color
}
- 写法: public 类名(string color){
-
-
关键子:this
- this 表示当前正在执行这个方法的对象
- 作用:可以用来区分成员变量和局部变量
- this 也可以在方法体内部获取到对象中的属性
包和导包
-
包的命名方式
- com.baidu.tieba
-
书写格式
- import com.entity.person
import com.entity.*表示所有,在entity里面的包
- import com.entity.person
设置访问权限
-
public公共的(表示所有人都可以访问)
-
default:是包的访问权限,在自己包内可以随意访问
-
private是私有的
- gettier:通过构造方法的形式传递变量
- setter:通过构造方法来返回变量
继承
-
父子继承
-
子类可以自动拥有父类中除了私有内容外的其他所有内容
-
写法
public class A extends B{
}
-
关键字super
-
作用:区分父类和子类中(重名)的变量
-
注意内容
- super可以获取到父类中的内容
- 可以调用父类的构造方法,必须写在子类构造方法的第一行,如果父类的构造方法是无参数的,可以不写
- 如果父类没有无参数的构造,必须要写super
-
-
-
方法重写
- 当子类对父类中提供的方法进行重新定义
- 语法:子类和父类中的方法的声明完全一致
多态
-
作用:把不同的类型进行统一,让程序具有超强的课拓展性
-
小知识点
- 向上转型:把子类的对象赋值给父类的变量
- 向下转型:把父类的变量转化回子类变量
-
关键字final
- 被final修饰的变量不可以被改变,又称为常量
- 被final修饰的方法不可以被重写
- 被final修饰的类不可以被继承
抽象
-
特点
- 现实中不存在的东西
- java中,只声明不实现
- 抽象类不可以创建对象
- 抽象类的子类,必须重写父类中的抽象方法,否则,子类必须也是抽象类(通过抽象类,可以强制要求子类必须有哪些方法,可以对子类的方法进行约束
- 抽象方法中也可以有正常的方法
-
抽象方法
- 使用abstract来修饰,不可以有方法体,直接用分号结束
-
抽象类
- 如果一个类中有抽象方法,这个类必须是一个抽象类
接口
-
注意事项
- 接口中的所有的方法都是抽象方法
- 接口只能单继承,多实现
- 接口中所有的方法都是抽象方法
- 接口中所有的变量都是全局静态常量
内存分析
-
堆
- 存放对象
-
栈
- 局部变量,以及基本数据的变量
-
代码区
- 类和方法
-
数据区
- 常量池(主要是String类型的数据)和静态方法
其他方法介绍
-
toString方法
- toString() 对一个对象的字符串的表示形式
-
instance of 关键字
- 判断xxx对象是否xxx类型
- 判断xxx对象是否xxx类型