JavaSE基础
JAVA基础
JAVA注释:分为三种
-
单行注释
public class online{ public static void main(String[] args) { //这是一个单行注释 System.out.println("Hello World!"); } } -
多行注释
public class online{ public static void main(String[] args) { /* 这是一个多行注释 */ System.out.println("Hello World!"); } } -
文档注释
public class online{ public static void main(String[] args) { /** @author a_hasaigei @version 1.0 这是一个文档注释 是用来生成帮助文档的 文档注释,是一种特殊的多行注释 */ System.out.println("Hello World!"); } }
标识符
-
关键字:Java关键字是对Java编译器有特殊含义的字符串,是编译器和程序员的一个约定,程序员利用关键字来告诉编译器其声明的变量类型、类、方法特性等信息。Java语言共定义了如下所示的关键字。 [1]
-
abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while
-
-
JAVA 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符

JAVA数据类型
-
强类型语言
-
强类型语言:要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用例如JAVA便是强类型语言
-
弱类型语言:例如js等等属于弱类型语言
-
JAVA数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
![]()
-
什么是字节
-
JAVA类型转换需要注意
- 强制转换(类型)变量名 高--低
- 自动转换 低--高
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能内存溢出,或者精度问题!
-
JAVA变量
-
![]()
-
JAVA常量
-
![]()
-
JAVA命名
-
![]()
-
JAVA运算符
-
![]()
-
JAVA流程控制总结
-
顺序结构:顺序结构的程序设计是最简单的,只需按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。也是一种宏观条件下的代码结构。
-
选择结构:选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。
-
if语句
-
switch语句:switch语句是开关语句,一般与case、break、default配合使用,对流程进行控制。一般用于多条件选择。
和if语句的区别是:if语句既可以对一个单一的值进行判断,也可以对一个区间的值进行判断,而switch只能判断单一的值。
switch所要求的变量的数据类型:byte short int char String 枚举
-
-
循环结构
-
for循环
-
for循环一般用于已知重复次数的循环。
基本格式:for(1循环的初始化 ; 2循环的继续条件 ; 4循环的步长 ){ 3循环体 }
for(int i=1;i<=8;i++){
System.out.print("*");
}
-
-
while循环
-
while循环一般用于不知重复次数但是已知结束条件的循环。
基本格式:
1.循环的初始化 while(2.循环的继续条件){ 3.循环体 4.循环的步长 }
死循环:将循环条件改为ture。意思是无论进来的是什么值都能进循环。只能通过流程控制语句跳出。
-
-
do-while循环
-
do-while循环和while循环原理基本一致,区别在于条件的先后判断顺序。特点是无论条件是否满足,循环体至少执行一次,而while必须先判断条件,至少执行0次。
do{
执行语句;
}while(条件表达式);
-
-
流程控制(break和countinue)
- break:终止循环,直接跳出当前循环体。
- countinue:跳过本次循环,执行下一次循环。
-
-
JAVA的方法
-
什么是方法
-
方法的定义
-
方法的调用
-
有静态方法(和类一起加载)和非静态方法实例化进行调用
-
Java都是值传递
-
方法的重载
-
命令行传参,可以给main函数传参
-
可变参数
-
递归方法
数组
-
数组的定义
-
数组的声明与创建
-
数组的初始化(动态初始化包含默认初始化)
-
Java内存分析
-
数组的四个特点
-
多维数组
面向对象
-
Java的核心思想oop(面向对象)
-
面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
-
面向对象的三大特性:
- 封装
- 继承
- 多态
-
![]()
-
类是一种抽象的数据类型,对某一类事物的整体描述,并不能代表某一个具体事物
-
对象是抽象概念的具体实例
-
![]()
-
使用new关键字本质就是在调用构造器,用来初始化值
-
每个类中有默认的无参构造器如果写了有参构造器那么无参构造器会消失通常会再加上一个无参构造器
-
对象的封装
![]()
- 提高了程序的安全性,保护数据
- 隐藏代码的实现细节
- 统一接口
- 系统可维护性增加了
-
对象的继承
-
![]()
-
修饰符 (public>protected>default>private) 一般属性是私有的(get/set操作属性)
-
所有的类都直接或间接继承Object类
-
super和this
-
super
- super是调用父类的构造方法,必须在构造方法的第一个
- super必须只能出现在子类的方法或者构造方法中
- super和this不能同时调用构造方法
-
this
-
代表的对象不同
- this:本身调用者的对象
- super:代表父类对象的应用
-
前提
- this:没有继承也可以使用
- super:只能在继承条件下才可以使用
-
构造方法
- this(); 本类的构造
- super(); 父类的构造
-
-
-
重写:需要有继承关系,子类重写父类的方法!
- 方法名必须相同
- 参数列表必须相同
- 修饰符:范围可以扩大但不能缩小:public>protected>default>private
- 抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException--->Exception(大)
- 重写,子类的方法和父类必须要一致;方法体不同!
-
-
对象的多态
-
//一个对象的实际类型是确定的 //newstudent(); //可以指向的引用类型就不确定了:父类的引用指向子类 Student s1=new Student(); Person s2=new Student(); Object s3=new Student(); //对象能执行哪些方法,主要看对象左边的类型,和右边关系不大 //如果父类调用子类独有的方法需要强转 s1.eat(); s2.eat(); s3.eat(); -
多态注意事项
-
多态是方法的多态,属性没有多态
-
父类和子类有联系 类型转换异常 ClassCastException
-
多态存在条件
- 有继承关系
- 子类重写父类方法
- 父类引用指向子类对象
-
instanceof(引用类型转换)
- 父类引用指向子类对象
- 子类转换为父类:向上转型
- 父类转换为子类:向下转型(强制转换)
- 方便方法的调用,减少重复代码的使用
-
-
-
抽象类
-
接口
-
![]()
-
作用
- 约束
- 定义一些方法,让不同的人实现
- 方法前默认的 public abstract
- 属性前默认的 public static final
- 接口不能实例化,本质是接口中没有构造方法
- implements可以实现多个接口
- 必须要重写接口中的方法
-
-
内部类
Java异常
-
异常的分类
-
异常的体系结构
-
![]()
-
Error
-
Exception
-
-
异常处理机制
- 抛出异常
- 捕获异常
-
异常处理五个关键字
- try,catch,finally,throw(在方法里抛出异常),throws(在方法上抛出异常)
-
自定义异常
-
异常总结




































浙公网安备 33010602011771号