视频地址:https://www.bilibili.com/video/BV1Cvm?p=119&t=0.0
前言:我本科学过一遍Java,所以笔记主要记得是我遗忘的部分。【自留笔记】
JRE(Java Runtime Environment):Java程序的运行时环境
JDK(Java Development Kit):Java程序开发工具包
其中的开发工具:编译工具(javac.exe)和运行工具(java.exe)。
我们想要开发一个全新的Java程序,那么必须安装JDK。

类型转换:自动类型转换
类型范围小的变量,可以直接赋值给类型范围大的变量。


在表达式中,byte、short、 char是直接转换成int类型参与运算的。

强制类型转换:

运算符:“+”做连接符



IDEA工程、模块常用操作
导入模块:
注意:不要直接导入,且导入不是整个文件下,要找到“带黑点的”,一般为“.Iml”的。
1. 点击当前工程里的模块,再file→new→module→next
2. 打开需导入的代码文件包,找到src下的com,ctrl+c
3. 回到IDEA,点击新module下的src,ctrl+v,点ok
删除模块:
1. 右击→remove module (没有delete)
只是在界面抹掉,磁盘里还是有这个模块(工程里还是有这个代码)
2. 法一:应该直接在工程里删除(直接在工程的文件夹里删除该模块的文件夹)
法二:


3. 在.idea配置中的路径删除,(不是直接删除,而是用“记事本”打开,修改并保存)


4. 重启IDEA
打开工程:File→open→找“带黑点的”
关闭工程:可以直接×掉IDEA界面,或File→close project

字符数据在计算机中是怎么存的?
字符存的是ASCII码表中对应的数字的二进制形式。
字符’A’对应的数字是65
字符’a’对应的数字是97
字符’0’对应的数字是48
图片和音视频等文件的数据是怎么存储的啊?答:也是采用二进制进行存储的。
进制转换:
十转二:除二取余法
二转十:1*2^0 + 1*2^1 +……
二转八、二转十六:分3、4位一组

八进制:0B、0bjava基础自学笔记开头;十六进制:0X、0x开头

基本要求:由数字、字母、下划线(_)和美元符($)等组成
强制要求:不能以数字开头、不能是关键字、区分大小写
变量名称:首字母小写,如:int studyNumber = 59。
类名称:首字母大写,如:Helloworld.java。
&:逻辑与:必须都是true,结果才是true
|:逻辑或:只要有一个为true、结果就是true
!:逻辑非:你真我假、你假我真。
^:逻辑异或:两个条件不同,结果是true。

break:跳出并结束当前所在循环的执行。
continue:用于跳出当前循环的当次执行,进入下一次循环。

数组




对象

字符串string







集合
集合的大小不固定,启动后可以动态变化,类型也可以选择不固定。
集合非常适合做元素个数不确定,且要进行增删操作的业务场景。
集合的提供了许多丰富、好用的功能,而数组的功能很单一。
泛型概述
ArrayList<E>:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型。
ArrayList<String> :此集合只能操作字符串类型的元素。
ArrayList<Integer>:此集合只能操作整数类型的元素。
注意:集合中只能存储引用类型,不支持基本数据类型。
静态成员static:
static静态,可以修饰成员变量和成员方法。
static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。
static访问注意事项:
静态方法只能访问静态的成员,不可以直接访问实例成员。
实例方法可以访问静态的成员,也可以访问实例成员。
静态方法中是不可以出现this关键字的。


懒汉单例的实现步骤:
定义一个类,把构造器私有。
定义一个静态变量存储一个对象。
提供一个返回单例对象的方法

继承:


在子类方法中访问成员(成员变量、成员方法)满足︰
就近原则,子类没有找子类、子类没有找父类、父类没有就报错!
访问子类用this.,访问父类用super.


Final

枚举

抽象类:
抽象方法只有方法签名,不能声明方法体。
一个类中如果定义了抽象方法,这个类必须声明成抽象类,否则报错。
抽象类可以理解成不完整的设计图,一般作为父类,让子类来继承。
当父类知道子类一定要完成某些行为,但是每个子类该行为的实现又不同,于是该父类就把该行为定义成抽象方法的形式,具体实现交给子类去完成。此时这个类就可以声明成抽象类。

类有的成员(成员变量、方法、构造器)抽象类都具备
抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
一个类继承了抽象类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。
不能用abstract修饰变量、代码块、构造器。
final和abstract的关系:【互斥】
abstract定义的抽象类作为模板让子类继承,final定义的类不能被继承。
抽象方法定义通用功能让子类重写,final定义的方法子类不能重写。

接口






多态



内部类

静态内部类

成员内部类

局部内部类

匿名内部类(重点)

Object
toString默认打印当前对象的地址,所以要让子类“重写”
equals比较两个对象的地址是否相同,方便子类重写


StringBuilder




版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/44.html