Java基础知识
2024-10-09 11:41:35 0 举报
AI智能生成
Java最基本的知识概念整理
作者其他创作
大纲/内容
简单性
面向对象
分布式
健壮性
安全性
可移植性
多线程
动态性
1.Java语言特性
主要用于注释关键语句中的作用和概念
单行注释
主要用于注释类或方法的使用方法和概念
多行注释
通常用于注释一个文件的内容和作用
文本注释
2.Java注释
在程序中,有用户给类名、方法名或变量所取的名字
3.Java标识符
关键字是指Java语言在开发时已经占用且具有特殊用途的一些标识符或者保留字
4.Java关键字
字符常量
整型常量
浮点型常量
布尔常量
...
是指在程序运行过程中通常不变的量
常量
int a = 10;
整型
short b = 10;
短整型
long c = 10;
长整型
byte d = 10;
字节型
整型变量
float e = 1.0f
单精度浮点型
double f = 1.0;
多精度浮点型
浮点型变量
在程序中会因为运行导致量变的通常称为变量
变量
5.Java数据类型和变量
int a = 10;long b = 100L;b = a;//自动类型转换,a与b都为整形,b大,a小
这里指的是在程序运行过程中不需要程序员特别指定,程序会自动进行转换。
自动转换
int a = 20;long b = 200L;a = (int) b;//强制类型转换
这里需要特别进行转换的数据类型,程序不会自动转换,如果没有进行强制转换,会导致程序报错
强制转换
在Java中当参与运算的数据类型不一致的时候,就需要进行数据类型的转换
6.Java类型转换
+、-、*、%...
算术运算符
==、!=、>=、<=...
关系运算符
逻辑与 &&
逻辑或 ||
逻辑非 !
逻辑运算符
按位与 &
按位或 |
按位取反 ~
按位异或 ^
位运算符
左移 <<
右移 >>
无符号右移 >>>
移位运算符
表达式1为true,则取表达式2的值
表达式1为false,则取表达式3的值
表达式1 ? 表达式2 : 表达式3
条件运算符
7.Java运算符
使用scanner来读取字符串、整数、浮点数
输入
System.out.println(msg); //输出带换行
System.out.print(msg); //输出不带换行
输出到控制台,对于Java来说有三种输出方式
输出
8.Java输入与输出
就是一般的代码执行准许,逐行执行
顺序结构
if、switch等语句
分支结构
while、for、try catch、do while等语句
循环结构
9.逻辑控制表达式
一般都是常见的格式型或者关键字书写错误,一般在编写代码的时候就可以发现。
编译时异常
一般常见的都是空指针异常、内存溢出、类型转换、角标异常或者数据类型不匹配等
try catch
抛出异常,throw关键字
异常声明,throws关键字
finally释放资源等
常见处理异常的方法有
开发中常见的自定义异常
运行时异常
18.异常
String str = "abc";
String str = new String("Hello Word");
字符串构造
== 比较是否是一个对象,对于引用类型,比较的是地址
equals方法比较String类型,按照字典的顺序比较,需要重写,返回boolean类型
compareTo方法返回的是int类型,按照字典顺序比较,这个也需要重写
compareToTlognoreCase方法返回的也是int
String类比较
charAt(int index)返回index的位置上的字符
indexOf(int char)返回char第一次出现的位置
indexOf(String str)返回str第一次出现的位置
字符串查找
数值和字符串转换 String str = String.ValueOf(1234);
str.LowerCase();
str.toUpperCarse();
大小写转换
String str = "hello";char[] ch = s.toCharArray();
字符串转换数组
格式化
字符串转换
replaceAll();
replaceFirst();
字符串替换
split(String regex);
字符串拆分
substring(int beginIndex);
字符串截取
用于去除字符串中的左右格式,只保留中间空格
trim();
其他方法
17.String类
获取对象的信息,使用的时候我们需要重写方法
toString方法
对于 == 来说呢我们在比较基本类型的时候,是比较他们的值,但是当我们比较引用类型的时候,我们比较的是地址,所以这时候我么要用到 equals 方法
equals方法
分支主题
我们可以看到,我们的toString的源代码中体现了hashCode方法,那么它是起到了一个什么作用呢?hashCode是让我们获得一个具体的对象位置。对于hashCode这个方法呢,我们现在是不能达到一个具体的了解的,因为这里面的涉及到了数据结构,所以呢在JavaSE基础这里呢,我们知识了解一下其作用。在我们定义对象的时候呢,当我们定义的对象是一样的时候,是不是认为它们存储在同一个位置。
在了解这个方法之前呢,我们先来看一下toString的源代码
hashcode方法
object类是所有类的父类
16.Object类
对于接口来说,不能直接使用,必须要有一个类开实现接口,实现接口中所有的抽象方法。
接口的使用
1.接口是引用特性,但是不能直接的new对象
2.接口中的方法是不能在接口中实现,只能有实现接口的类来实现
3.接口中不能有静态方法和构造方法
4.如果接口中的方法没有被实现,那么类必须要使用abstract修饰
接口的特性
接口就是多个类的一个公共规范,是一种引用类型
15.接口
1.抽象类不能实例化对象
2.抽象方法是不能使用private的,因为抽象类一定是要重写的,使用private关键字就会导致无法继承和重写。
3.抽象方法不能被final和static修饰
4.抽象类必须要被继承,并且被继承后要把抽象方法给重写,如果在子类中还不想重写,那么我们的子类也要被abstract修饰
5.抽象类中不一定要有抽象方法,但是抽象方法一定要在抽象类当中
抽象类的特性
对于抽象类来说,我们不能实例化对象,要是想使用,我们只能继承子类,然后子类重写抽象类当中的抽象方法
抽象类的优点
根据以上前提我们可以定义:抽象类就是不能完整描述一个对象的类。
前提:在了解概念之前,我们在面向对象的概念中,所有的对象都可以通过类来创建,但是不是所有类都可以完整的描述一个对象
14.抽象类
对于封装来说,将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现的细节,仅对外提供接口和对象进行交互,比如我们的电脑来说,我们开机,只提供我们使用但是我们看不见它的实现的方法。
封装
继承是专门用来进行共性抽取,从而达到复用的作用
继承
就是当我们去完成某个行为时,当不同的对象去完成会产生不同的状态
必须在继承的条件下
子类必须要对父类的方法进行重写
通过父类的引用调用重写的方法
实现的条件
多态
13.面向对象的三大特征
类的定义格式:class 类名 { // 字段(属性)或 成员变量 // 成员方法 或 行为}注意:类名要用大驼峰不能带static关键词
类就是对于一个对象的描述的。在我们Java中定义一个类的时候要使用到class关键字
当我们定义一个类,就相当于在计算机中顶一种新的类型,当我们用类创建对象的过程中,称为类的实例化。在Java中采用new关键字,来配合各类实例化对象
类
对象就是指可以进行程序操控的方法实体,对象是程序操作的最小单位
名字必须与类名相同
没有返回值类型,尽管是void也不行
创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次
构造方法是可以重载的
如果用户没有显示定义时,编译器会生成一份构造方法,生成默认方法一定是无参的。在这里我们要注意,在我们定义之后,编译器不会再生成
构造方法中,可以通过this调用其他构造方法来简化代码。在这里我们注意 this() 构造方法中第一条语句,不能想成闭环
对象的构造方法和初始化
如果我们想要打印对象的属性我们要如何才能打印呢?我们使用 toString 方法。在使用时我们需要再对象中重写toString方法:
对象的打印
对象
类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员。
类是一种自定义的类型,可以用来定义变量。
一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。
类和对象的说明
使用new关键字进行初始化
默认初始化
Class Student { private String name = "list"; private int age = 15;}
就地初始化
初始化
对于静态成员对象,既可以通过对象访问,也可以通过类名访问,但是更推荐使用类名访问
类变量存储在方法区当中
生命周期伴随着类的一生
static修饰的成员变量,称之为静态成员变量。 其不属于某个具体的对象,是所有对象所共享的
Java中,被static修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的。静态成员一般是通过静态方法来访问的,在我们的静态方法中我们不能调用非静态成员变量,同时不能存在this这个关键词。
static修饰成员变量
静态初始化
static成员变量初始化
在Java中呢,被static修饰的成员,称之为静态成员,也称之为静态成员,其不属于某个具体的对象,是所有对象的所共享的。
static成员
在Java中,使用 {} 定义的一段代码称为代码块
代码块
未被static修饰的类,我们称为实例内部类
实例内部类
被static修饰的内部类
静态内部类
定义在外部类的方法或者{}中,该种内部类只能在其定义的位置使用,对于这个代码块我们使用的非常少
局部内部类
匿名内部类
在Java中呢,可以将一个类定义在另一个类或者方法的内部,其前者我们称为内部类,后者我们称外部类。
内部类
12.类和对象
数组就是相同类型的元素的集合,并且空间是连在一起的,起始位置是从0开始。
int[] array = new int[10];
数组的创建
在创建数组的时候,直接指定数组中的数组个数
动态初始化
数组在内存中是一段连续存在的空间,空间从0位置开始,该编号就是其下标,是依次递增,数组可以通过下标来访问任意位置的下标
数组遍历一般使用for循环进行,常见的冒泡排序法之类的简单算法就可以体现数组的遍历规则
数组的访问和遍历
一般情况下我们使用数组进行数据的保存,这个数据通常是统一数据类型的,依次进行保存,确保了读取速度和规则
数组的应用场景
相对于一维数组而言,二维数组一般添加了纵向位置,类似于二维坐标的样式
二维数组
11.数组的使用
方法定义:修饰符 返回值类型 方法名称(参数类型 形参) {//方法体return 返回值;}
10.方法的使用
Java基础概念
0 条评论
回复 删除
下一页