欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础知识笔记

程序员文章站 2024-01-30 16:00:22
...
1. java是一门面向对象的语言
2.  jdk与jre、jvm的区别
	a. Jdk 是java开发工作包
	b. jre是java运行环境
	c. Jvm 是java虚拟机
3.  java应用程序的执行入口是main()方法
	a. 固有书写格式
		i.  public static void main(string[] args){…..}
4.  "\t"制表符 类似于四个空格
5. Java的注释
	a. //单行注释
	b. /**/多行注释
	c. 文档注释(java特有)/**/
6.  java关键字
	a. 关键字中的所有字母全部都是小写
7. Java 语言严格区分大小写
8. java的特点
	a. 简单性
	b. 网络特性
	c. 面向对象
	d. 鲁棒性
	e. 安全性
	f. 多线程:程序可以并行执行
	g. 平台无关性/可移植性:一次开发,处处运行
9. java的数据类型
	a. 基本类型
		i. 整型
			1) 字节型 byte  一个字节存放数据
			2) 短整型 short 两个字节存放数据
			3) 整型 int        四个字节存放数据
			4) 长整形 long  八个字节存放数据  (声明long型常量须后加‘L'或‘I’)
				a) 
		ii. 浮点型
			1) 单精度类型 float 四个字节存放数据
			2) 双精度类型  double  八个字节存放数据
		iii. 字符型
			1)  char   一个字节存放数据
		iv. 布尔型
			1)  boolean 一位存放数据 (一个字节等于八位)
			2) 与C语言不同的是不能用0和1来代替false和true
	b. 引用类型
		i. 字符串(string)
		ii. 数组([])
		iii. 类(class)
		iv. 接口(interface)
10. 常量
12. 变量
	a. 变量的作用域在一对{}之间有效
	b. 需要有初始化值
13. 标识符
	a. 标识符中不能包含空格
15. 命名规范
	a. 包名:多单词组成时所有字母都小写
	b. 类名,接口名:多单词组成时,所有单词的首字母大写
	c. 变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
	d. 常量名:所有字母都大写
16. 数据类型的转换
	a. 自动类型转换
		i. 将弱的数据类型数据赋值给强的数据类型的变量,弱类型的数据将会自动转换为强的数据类型的数据
		ii. 
	b. 强制类型转换
		i. 将强的数据类型转换成弱的数据类型,数据名()
17. 表达式与运算符
	a. 
18. 输入与输出
19. 控制语句
	a. 顺序结构
	b. 选择结构
		i. if和switch结构
		ii. if语句应用在“二选一”
		iii. switch语句应用在“多选一”
	c. 循环结构
		i. While和do while循环
			1) 区别
				a) while循环是先判断,在执行
				b)  do-while循环不管任何情况都至少执行一次
				c)  for循环
				d) 多重循环
20.  一维数组
	a.  int[] a;
	b. 一维数组的初始化
		i. 动态初始化
			1)  int[] a = new int[4];//声明一个能放4个int类型数据的数组
		ii. 静态初始化
			1)  int[] a = new int[]{1,2,3,4};//声明一个存放了数据为1234的数组
	c. 求数组的长度
		i.  a.length
21. 二维数组

面向对象编程
1. 属性和行为
a. 属性:对应类中的成员变量
b. 行为:对应类中的成员方法
2. 类和对象
a. 根据类来创建对象叫做对象的实例化
b. 类的声明:
i. public class Person{

		}
	c. 对象和属性的关系
		i. 属性/状态也称之为成员变量
			1) 成员变量的定义
				a) String name;
			2) 属性的语法格式
				a) 修饰符 类型 属性名=初值;
			3) 变量分为两类:
				a) 成员变量
					i) 实例变量
						One. 实例变量就是说在类实例化成对象之后才能使用
					ii)  类变量
						One. Static
						Two. 不需要类进行实例化就可以进行使用
				b) 局部变量
					i) 形参
						One. 方法签名中定义的变量
					ii) 方法局部变量
						One. 在方法内定义
					iii) 代码块局部变量
						One. 在代码块内中定义
		ii. 成员方法和成员变量的关系:
			1) 成员方法的定义:
				a) 定义没有返回值 
					i)  public void showName(){
						…….
					}
				b) 定义有返回值的
					i) 一定要用return来进行返回
				c) 方法中不能重复定义方法
				d) 同一个类中,所有的方法可以直接调用,不用new来实例化一个对象
			2) 成员方法需要通过对象来调用,成员方法中访问的成员变量是调用成员方法的对象的成员变量
			3)  new关键字的作用
				a) 根据类的定义生成类的对象/实例
				b) 返回对象的地址值
			4) 先定义对象变量,后创建对象
				a) 
			5) 匿名对象
				a)  new Person().shout();
				b) 使用情况
					i) 如果对一个对象只进行一次方法调用,那么就可以使用匿名对象
					ii) 匿名对象作为一个实参传递给一个方法调用
			6)  null是java的关键字,对象变量值null,表示它不指向任何对象
			7) 可以用null值初始化对象变量,避免编译器没有初始化的错误

3.关键字——package
i. 导包语句:
1) package包名
a) 包名全部小写
ii. java中的包package等同于文件夹的概念,包和文件夹一样可以有多级,也就是包下可以有包和文件
iii. 多级的包使用的.分隔
iv. Import和package都是可以不需要的
a. JDK中主要的包的作用
b. 成员方法可以重载
i. :即方法名一样,但是参数类型不一样
ii. :多个相同名称的方法如果想在一个类*存,那么这些同名方法一定是参数的个数或者参数的数据类型不一样,参数的顺序不一样
iii. 参数名相同不行,但是方法名必须相同
c. 方法的参数传递
i. java里方法的参数传递方式只有一种:值传递
d. 构造函数
i. 成员的成员变量有特定的值
ii. 构造方法是方法名和类名相同,没有返回类型的特殊成员函数,在构造对象时自动调用
iii. 构造方法也可以重载
iv. 如果在构造函数中没有显示为成员变量赋值初值,成员变量自动有初值
e. package(包)
i. 引入包
1) import中导入完整的类名:import java.util.ArrayList;
f. 访问权限
i. 可以为类的成员设置不同的访问权限,起到保护的作用。
ii. 访问权限从严到宽
1) private:私有访问权限
a) 只能在当前的类中进行使用
2) 包访问权限(缺省default)
3) protected:继承访问权限
4) public :公共访问权限
iii. 在同一个java文件中可以写多个class,但是只有一个public的,其他的class只能缺省
g. 包访问权限
i. 只有在同一个包下面才有访问权限
ii. 包
h.
1. this关键字
a. 通过this访问被隐藏的属性
b. 本类对象的引用
i. 区分成员变量和局部变量
2. static关键字
a. static修饰的成员变量称之为静态的成员变量
b. 建议通过类名来访问静态成员变量
c. 静态方法中不能使用this关键字
d. static修饰的变量可以被每个对象共享
e. 成员变量、成员方法、代码块和内部类:
i. 成员方法:
1) static方法中不能使用this和super关键字,不能调用非static方法
ii. static与final结合使用
1) 对于变量,若使用static final修饰,表示一旦赋值不能修改,并且通过类名可以访问。
2) 对于方法,若使用static final修饰,表示该方法不可被覆盖,并且可以通过类名直接访问。
f. 类方法就是静态方法
i. 类方法可以直接用类名来进行调用
1)
g. static代码块称之为静态代码块
i. 可以有多个,但是每个代码块只能被执行一次;
3. final关键字:
a. 用final关键字修饰的变量,只能进行一次赋值操作
b. 用final修饰的类是无法被继承的
c. final关键字的好处
i. final关键字提高了性能
ii. final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销
d. 不能被重写,不可被更改
e.
f.
4. super关键字
a. 在java类中使用super来调用父类中的指定操作
b. super可用于访问父类中定义的属性
c. super可用于调用父类中定义的成员方法
d. super可用于在子类构造方法中调用父类的构造器
5. 封装
a. 封装的作用:
i. 保护具体的实现,便于后期维护不影响已有代码;
b. 将数据与操作数据的源代码进行有机的结合
c. 高内聚
i. 类的内部数据操作细节自己完成,不允许外部的干涉
d. 低耦合
i. 仅对外暴露少量的方法用于使用
e. 隐藏对象内部的复杂性
f.
g. 封装性的体现
i.
6. 继承
a. 是面向对象最显著的一个特性
b. 语法规则
i.
ii. 继承的作用
1) 减少了代码的冗余,提高了代码的复用性
2) 有利于功能的扩展
3) 让类和类之间产生了联系,提供了多态的前提
4) 子类不能直接访问父类中的私有的成员变量和方法,通过setter和getter方法和提供的public方法访问
5) java只支持单继承和多层继承,不允许多重继承
a) 一个子类只能有一个父类
b) 一个父类可以派生出多个子类
6) 方法的重写
a) 如果子类和父类在同一个包下面,那么对于父类的修饰符只要不是私有的private,那都是可以使用的
b) 如果子类和父类不在同一个包下,子类只能使用父类中的protect和public修饰的成员。
7. 多态性
a. 定义:
i. 指允许不同类的对象对同一消息做出响应
b. 动态绑定(dynamic binding)
c. 多态的作用
i. 消除类型之间的耦合关系
d. 三个条件
i. 要有继承
ii. 要有重写
iii. 父类引用指向子类对象
e. 优点
i. 可替代性
ii. 可扩充性
iii. 接口性
iv. 灵活性
v. 简化性
f. 实现多态的方式
i. 接口实现,继承父类进行方法重写,同一个类中进行方法重载
8. 抽象类
a. 抽象方法是一种特殊的方法:他只有声明,没有具体的实现
b. 格式:
i. abstract void fun();
c. 抽象方法必须用abstract关键字进行修饰
d. 抽象类就是为了继承而存在的
e. 抽象方法必须为public或者protected,缺省条件下默认为public
f. 抽象类不能用来创建对象
g. 如果一个类继承一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义abstract类
9. 接口
a. 接口泛指供别人调用的方法或者函数·
b. 接口中可以含有变量和方法
c. 接口中的方法必须为抽象方法
d. 关键字implement
e. 接口中的成员变量只能是public static final
10. 执行结构
a. 顺序结构
i. 按顺序执行
b. 分支结构
i. Switch case
ii. If
iii. If else
iv. If else if
v. 三目运算符
c. 循环结构
i. while
ii. do-while
iii. For
iv. for each
v. 循环最多嵌套三层
11. 自动装箱和自动拆箱
a. Integer num=100; //自动装箱
b. int num2=num;//自动拆箱

相关标签: java