裕-JAVA基础

1. 数据类型:

基本类型:

----注意
byte字节型8位1字节
short短整型16位
int整型32位Java语言的整型常量默认为int型
long长整型64位声明long型需要加l或者L
float单精度浮点数32位后面必须加F或者f
double双精度浮点数64位表示可以加D或d或者不加(即浮点类型默认是double)
char
boolean

引用类型:

类(class) 、接口(interface) 、数组 、枚举


2. 运算符:

算数运算符:

+、 - 、 * 、 / 、 % 、 ++ 、 --

赋值运算符:

= 、 += 、 -= 、 *= 、 /= 、 %= 

关系运算符:

>、 < 、 >= 、 <= 、 == 、 != 

逻辑运算符:

&& 短路与:两边同时为true,结果为true 
|| 短路或:两边有一个为true,结果为true 

&、| 和&& 、||的区别:
&,| :左边能得到结果,右边也需要计算 
&&,|| :左边能得到结果,右边不再计算

三元运算符:

布尔类型表达式1 ? 表达式2 : 表达式3 
运算法则:如果表达式1成立,则结果为表达式2,否则为表达式3

位运算符:

& 逻辑与:两边同时为true,结果为true 
| 逻辑或:两边有一个为true,结果为true 
! 逻辑非(取反):true变false,false变true 
^ 逻辑异或:两边不同为true,相同为false

移位运算符:

>> 、 << 、 >>> 
对于正数,右移n位相当于除以2的n次幂,左移n位相当于乘以2的n次幂

3. 局部变量和全局变量:

-声明位置作用域生命周期
全局变量类的内部整个类的内部生命期和对象一样
局部变量方法或者语法块内部定义时所在的方法或者语法块内部方法或语法块执行完毕时销毁

4. 数组:

一维数组:

基本概念:

①数组本身属于引用数据类型
②数组中存储的数据称为元素、元素可以是任何数据类型
③数组创建好之后,长度是不能改变的
④下标又称为索引,是指元素在数组中的位置、下标从0开始

创建:

静态创建:①int[] array = {1, 2, 3};
动态创建:②int[] array = new int[3];

二维数组:

基本概念:

一维数组中的每个元素又是一个一维数组

声明:

int[][] array = new int[3][2];

访问:

行数:array.length
每行列数:array[0].length

数组排序:

冒泡排序:

每位数字依次和后面的数字比较,小的互换位置。
优点:简单

选择排序:

每位数字依次和后面的数字比较,记录小的位置,后和该位数字互换
优点:比冒泡排序减少了替换次数

插入排序:

从第二位开始,每位和前面的数字比较,如果大结束,如果小则替换。
优点:对于相对有序数组,替换次数较少


5. 方法参数、返回值:

方法参数:

作用:

方法内部来接收外面的数据

形参和实参:

形参: 方法定义的时候,形式的参数
实参: 方法调用的时候,实际传入的数据

值传递和引用传递:

值传递
传递的是变量的值(变量的副本)
基本类型和String
引用传递
传递的是变量的内存地址(变量的引用)
引用类型(除了String)
应用
封装工具类实现 ① 传入字符串,对字符串倒序 ② 传入数组,实现数组倒序

可变参数:

概念:可变,指的是参数的个数是可变的
定义:①…表示可变 ②方法内部,把参数当做数组处理
调用:传入0个,1个,n个,数组
注意:可变参数必须方法参数列表的最后面

返回值和返回类型:

作用:

方法执行完毕后,对外部返回数据

语法:

任何方法(除了构造方法)都必须有返回类型,void表示无返回
如果有返回类型,则需要通过return返回数据
如果是void方法,可以使用return,结束方法的运行

6. 构造方法、this、super:

构造方法:

作用:

用来构造对象的(用来初始化,实例化对象)

语法:

方法名必须和类名一致
不能有返回类型

调用:

不能手动调用,只有在实例化对象的时候(new)系统自动来调用

快捷键:

alt + shift + s -> o -> 回车
复制类名 -> alt + /

隐式构造方法:

如果代码中没有提供显式的构造方法,则系统自动创建一个无参的隐式构造方法
如果代码中提供显式的构造方法,则系统不会再创建隐式构造方法,如果需要,手动创建

this和super:

this:

调用自身的属性和方法
this.属性和this.方法
使用:当形参的名字和属性的名字相同的时候,this.表示属性(成员变量)
调用自身的构造方法
this()调用
必须放在构造方法的首行
表示自身对象的内存地址

super:

调用父类的属性和方法:super.
调用父类的构造方法:super()


7. 访问权限修饰符:

----
private私有的本类封装时将属性私有化
default无修饰的本类和本包下基本不用
protected受保护的本类、本包和子类父类中
public公有的任何位置工具类的方法

8. final、static:

final:

它修饰的类,不能被继承。
它修饰的方法,不能被重写。
它修饰的变量,是一个常量。

可以提高处理速度

static:

静态方法中只能调用静态的变量和方法
静态方法中不允许使用this和super

静态的事务无法回收内存的,只有当程序停止的时候,才会回收内存


9. 重载、重写:

-方法名参数返回类型异常访问权限备注
重载相同不同无关
重写相同相同相同子类<=父类子类>=父类无法重写的方法:final、构造方法、static、private

10. 抽象类、接口:

abstract class 类名

1.用abstract修饰的方法叫抽象方法,没有方法体。
public/protected abstract 数据类型 方法名字(); 抽象方法没有具体的实现。
2.有抽象方法的类叫做抽象类
abstract class 类名
3.抽象类可以有实例方法
4.抽象类因为有未实现(没有方法体)的方法,所以不能实例化对象。
5.抽象类可以继承自抽象类,类,接口。
6.抽象类可以有成员变量,和正常的类一样。
7.抽象类可以没有抽象方法,但没有意义。
8.其他类可以继承抽象类,可以不实现抽象方法,那该类也叫做抽象类。
9.抽象方法必须为public或者protected。

public interface 接口名

public abstract 数据类型 方法名字(); 所有方法
1.接口中的成员变量只能为public static final
2.接口中的方法只能为public abstract
3.接口中所有方法都不能有具体实现,也就是说接口中的方法都是抽象方法。
4.接口实现implements
5.可以实现多个接口
6.接口只能继承接口


11. 转型:

向上转型:

子类转换成父类对象

向下转型:

父类转换成子类

只发生在有继承关系的对象中
instanceof:判断一个对象是否是这个类的


12. 封装、继承、多态:

封装:

理解:

广义的:把对象抽象出来封装成类,把功能封装成方法
狭义的: “强内聚、弱耦合”,要求在其他类中,不能直接操作对象的属性

实现:

将属性私有化 private
提供setter和getter方法

快捷键:(get、set方法)

//alt + shift + s -> r -> alt + a - > alt + o

继承:

理解:

继承的作用:“不要重复造轮子/造车”,实现代码的复用 *

概念:

父类:共通的部分存放在父类,又称为超类,基类 superclass
子类:继承父类的类称为子类,又称为派生类 subclass

实现继承:

extends

注意事项:

(一)单继承关系: 一个子类只能有一个父类
(二)多层继承关系:父类可以有父类,子类也有子类
(三)最终的父类Object
(四)父类不是任何事务都能继承,比如private

多态:

编译的时候是一个状态,运行的时候是另一个状态。
class B extends A{}
A a = new B();
a.aMethod();

发生的必须条件
1.有继承关系的对象中
2.方法重写
3.发生向上转型(子类引用指向父类引用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值