JAVA-SE基础笔记

55 阅读6分钟

基础dos命令

id注释代码
1切换盘符盘符+':'
2查看当前目录下的所有文件dir
3切换目录cd 目录
4创建文件夹md 新建文件夹
5删除文件del 已有文件
6彻底删除文件rd 已有文件
7返回上一级..
8清屏cls
9退出终端exit
10查看ip配置ipconfig
11打开计算机calc
12ping命令ping www.xxx.com

基础

注释

单行注释

// 内容

多行注释

/* 内容 */

文档注释

/** *内容 *内容 */

标识符 和 关键字

java 所有的组成部分都需要名字,类名和变量名以及方法名都被成为标识符。标识符都是由 ==(a-z)、(A-Z)、$、_ 1==组成的

数据类型

强类型语言 ⇒ 要求比较严格,必须==先定义,后使用==

Java 的两大类数据类型

①基本类型(int 、byte、short、long、float、double、char、boolean)

1b(byte,字节) = 8bit(位) ②引用类型(类、接口)

强行转换(展示)

(int)55 or (char)54

变量

变量(小驼峰)、类名(大驼峰)、方法名(小驼峰)

运算符

优先级是() 算数运算符:+-*/% 关系运算符:>>=<===<!= 逻辑运算符:&&||! 扩展运算符:+=-=*=/= 三元运算符:a ? x : y

包机制

一般吧公司的域名进行倒写,例如公司的域名为www.guangHe.com,则定义包名为: com.guangHe.www

Scanner 对象(IO流,需要 Scanner.close())

Scanner s = new Scanner ( System.in )

条件判断、循环

==default== ⇒ 默认、==break== ⇒ 跳出所有循环、==continue== ⇒ 跳出当前循环

if、else

switch

在这里插入图片描述

while

do…while()

for循环

方法

方法类似于其他语言的函数,其本意是功能模块,就是实现某个功能的语句块集合 在这里插入图片描述

方法的命名规则 ⇒ 驼峰

修饰符 返回类型 方法名称(参数类型,参数名){
……
方法体
……
return 返回值;
}

方法的重载

重载就是在一个类,有相同的函数名称,但是参数或者类型必须不相同。可以让其程序方便,易读。

在这里插入图片描述

可变参数

① 在方法声明中,在指定的参数类型后加==一个“…”== ② 一个方法中,==只能声明一个可变参数==,切必须是后面==最后一个参数==。任何普通的参数==必须在它之前声明==。

在这里插入图片描述

递归

就好比有一个A方法,自己调用自己。

在这里插入图片描述

递归分为两个部分,递归头和递归体 ①递归头:什么时候跳出循环。如果没有头,则会陷入死循环。 ②递归体:什么时候调用自己

数组

数组是相同数据类型的有序集合。按照一定的先后次序排列,组合而成。我们可以通过下标来访问它们。

数组的声明和创建:

int [ ] test (==推荐==) 或 test = new int [ 10 ]⇒ 这里面可以存放十个int类型的数字。⇒ ==动态初始化==。没有被初始化的数值都为“0”。 int [ ]={1,2,3} ⇒ ==静态初始化==

①数组的长度是固定的,一旦确定了,则不可发生改变。 ②不允许出现混合类型 ③ 无论什么情况,数组都是保存在“堆”中的。

内存分析

在这里插入图片描述

数组的使用

forEach ⇒ 取不到下标
for ( int array : arrays ){
	代码块
}

二维数组

多维数组可以看做是数组中的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组

实例: int a [ ] [ ] = new int [2][5]

以上的数组可以看做是一个 两行五列 的数组。 int [ ] [ ] array = { {1,2},{2,3},{3,4},{4,5} }

冒泡排序

在这里插入图片描述

面相对象

面相对象 & 面相过程

面相过程:第一步怎么做、第二步怎么做 面相对象:几个人做地基,几个人盖楼房等…….。以类的方式组织代码,以对象组织(封装)数据

面相对象

三大特性

封装、继承、多态

类 和 对象

类:是一种抽象的类型,他并不能代表某一个物体的描述。比如:“动物类”、“植物类”、“Car类”等等… 对象:可以提现具体的特点,展开出功能的具体实例。就比如:“小明、篮球、电动车”等等…

new关键字

Student student = new student( )

实例化后会返回一个自己的对象! student 对象是一个Student类的具体实例!

使用new关键字创建的时候,除了分配内存空间,还会给创建好的对象 进行默认的初始化,以及对类中,构造器的调用。 类中的构造器,也称之为构造方法。是在进行创建对象的时候,必须调用的。并且构造器有以下两个特点。 ①必须和类名名称相同 ②必须没有返回类型,也不能写 void ③一个类,即使什么都不写,也有一个默认的构造器 ④可以给程序赋初始值。 ⑤定义了有参构造,无参构造必须显示定义。

在这里插入图片描述 在这里插入图片描述

封装

该漏的漏,该藏的藏 ⇒ 高内聚(减少暴漏),地耦合 属性私有 ⇒ get / set / private

继承

extend的意思是“扩展”。子类是父类的扩展。 java ==只有单继承==,没有多继承。(一个爸爸可以有多个儿子,但是一个儿子却不能有多个爸爸) 继承关系的两个类,一个==子类(派生类)==,一个==父类(基类)==。子类继承父类,使用关键词extends来表示。

子类继承了父类,就会有==父类的全部方法==。

详解: 在这里插入图片描述

在java中,所有的类都 ==默认继承Object类==。

==私有的东西,无法被继承==

在这里插入图片描述

super ⇒ 调用父类

super ( ) 这个代码会在构造参数中,自动隐藏输出。 如果更改了构造参数中,super ( ) 必须写,并且排到第一位。

在这里插入图片描述

重写

==子类继承父类,执行时执行指向子类。父类虽然可以调用子类,但是不能调用子类独有的方法。== ==参数和方法名称必须相同==

static ⇒ 属于类 、final、private 三种类型不能被重写。

在这里插入图片描述 在这里插入图片描述

多态

在这里插入图片描述

范围可以被缩小,但是不能被扩大

instanceof ⇒ 检查一个变量是什么类型(和什么类型存在关系)

System.out.println( Object instanceof xxx )

抽象类 ⇒ abstract 修饰符

在这里插入图片描述

可以用来提高效率,比如开发游戏,每个人物的 一技能,二技能,三技能,等必备技能,造出来一个模型,然后按照样子去复刻。然后单独加上自己的一些个人属性和技能(自己想出来的,本人纯属小白,如有见解,可以私我,我来改正,谢谢。)

接口 interface ⇒ implements (可以实现多个接口)

普通类:只有具体实现 抽 象 类:具体实现和规范(抽象方法)都有 接 口 :只有规范。自己无法写方法~专业约束!约束和实现分离:面相接口编程。

接口中定义的不是变量,而是 public static final 的常量。而并非变量哦 ~~ 。

在这里插入图片描述

灰色的,则是默认隐藏的。

在这里插入图片描述

内部类

在 A 中定义一个名称为 B 的类,则 B 便是 A 的内部类

① 成员内部类 ②静态内部类 ③局部内部类 ④匿名内部类

异常机制(Error ⇒ 错误 、 Exception ⇒ 异常)

① Error (一般都是虚拟机异常) ② Exception

捕获异常 和 抛出异常

try {
	// 监控区域
} catch ( 异常 变量) {
	System.out.println ( 程序出现异常 )
	行为
} finally {
	// 处理善后工作
	System.out.println ( "善后信息" )
}

try 、catch 是必须要写的。finally 都可以不要。

如图详解: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

catch 可以完善更多的异常,而==并非一个==。

throw \ throws ⇒ 抛出异常

在这里插入图片描述