2021-08-28 Java基础

本文详细介绍了Java编程中的位运算、循环结构、条件判断、switch语句、数组操作、冒泡排序以及面向对象的核心概念,包括类、对象、继承、多态和方法重写。此外,还探讨了异常处理、接口与抽象类的区别,以及TCP/IP协议中的三次握手和四次挥手过程。通过对这些基础知识的深入理解,有助于提升Java编程技能。
摘要由CSDN通过智能技术生成

位运算

  • 最高效率:典型:如何最快计算出16: 2<<3 在这里插入图片描述

Sanner

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

//先判断后执行
While(expression=true{
	执行这里的语句
}
//先执行后判断,保证循环体至少能执行一次
do{
//代码语句
 }
while(布尔表达式)

switch 一般用于固定匹配

在这里插入图片描述

for循环

在这里插入图片描述

双重嵌套“99乘法表案例”

学习思路,拆分步骤
在这里插入图片描述

增强for循环

在这里插入图片描述

break与continue

在这里插入图片描述

方法

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

方法重载
  • 一个类里有多个同名方法,但方法参数不同
    在这里插入图片描述

如:
在这里插入图片描述

递归

在这里插入图片描述

  • 主要案例:求阶乘
    在这里插入图片描述

数组

在这里插入图片描述

初始化数组

在这里插入图片描述

数组循环进阶应用

在这里插入图片描述

经典:反转数组:

在这里插入图片描述

多维数组,面向对象编程思路

双重循环遍历数组
在这里插入图片描述

冒泡排序!重点

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

面向对象

概念与特性

在这里插入图片描述

继承

在这里插入图片描述

回顾方法的调用

在这里插入图片描述
对象就是类的实例化,具体到某一个
在这里插入图片描述
在这里插入图片描述

值传递
  • 下方空方法里的 a=10 走完了又回到主方法,并没有返回一个a的值回去
    在这里插入图片描述
引用传递:传递对象

在这里插入图片描述

类与对象的关系

在这里插入图片描述

类与对象的创建

在这里插入图片描述

构造器(构造方法)

在这里插入图片描述

创建对象内存分析

在这里插入图片描述

简单回顾

在这里插入图片描述

面向对象三大特征

  • 封装、继承、多态
    在这里插入图片描述

super

在这里插入图片描述

super继承父类方法

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

方法重写

在这里插入图片描述

  • 即b是A new出来的对象,因此调用了A的方法,因为静态方法是类的方法,而非静态是对象的方法。有static时,b调用了B类的方法,因为b是用b类定义的,没有static时,b调用的是对象的方法,而b是用A类new的
    在这里插入图片描述

多态

在这里插入图片描述

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

instanceof关键字
  • instanceof 用于判断两个类之间是否存在父子关系,存在即true,不存在false
  • 这是在判断某个对象是否为某个类或其任意基类的实例
  • 此处的object实际上为Student类的实例

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

  • 1.能否编译通过,看类,x与y的类(实际x,y本身就是类)若存在父子或子父关系则可编译
  • 2.若x与y没有父子关系,如teacher与student,就不可编译。
  • 3.编译过后T/F看引用指向对象,x指向的对象如果是后面y的子类,即是T。
  • 4.纠正一个我之前说的不对的,x只是个名字,在这个例子里刚好是类名罢了。
引用类型转换
  • 子类转换为父类:向上转型自动转
  • 父类转子类:向下转型需要强转,可能会丢失方法!
    在这里插入图片描述

static关键字

静态方法与类一起加载,且只程序中只执行一次
在这里插入图片描述

抽象类

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

接口

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

  • 注意
    在这里插入图片描述
  • 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

  • 接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

接口与类相似点:一个接口可以有多个方法。

接口文件保存在 .java 结尾的文件中,文件名使用接口名。

接口的字节码文件保存在 .class 结尾的文件中。

接口相应的字节码文件必须在与包名称相匹配的目录结构中。

接口与类的区别:

接口不能用于实例化对象。

接口没有构造方法。

接口中所有的方法必须是抽象方法。

接口不能包含成员变量,除了 static 和 final 变量。

接口不是被类继承了,而是要被类实现。

接口支持多继承。

接口特性

接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。

接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误)。

接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

抽象类和接口的区别

  1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。

  2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。

  3. 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。

  4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口。

异常

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

  • 总体上我们根据Javac对异常的处理要求,将异常类分为2类

  • 非检查异常(unckecked exception):(运行时异常)

Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用try…catch…finally)这样的异常,也可以不处理。对于这些异常,我们应该修正代码,而不是去通过异常处理器处理 。这样的异常发生的原因多半是代码写的有问题。如除0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界ArrayIndexOutOfBoundsException,使用了空对象NullPointerException等等。

  • 检查异常(checked exception):

除了Error 和 RuntimeException的其它异常。javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。如SQLException , IOException,ClassNotFoundException 等

需要明确的是:检查和非检查是对于javac来说的,这样就很好理解和区分了

抛出异常与捕获异常

在这里插入图片描述

传输层协议

UDP

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

TCP

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

三次握手

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

  • 有确认号时,确认标志位ACK=1
    在这里插入图片描述
    在这里插入图片描述

四次挥手

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值