JavaSE核心技术——知识点总结(一)

第一章:认识Java

1、java语言特点(有*的为必须知道的,其他选答)
 *1. 跨平台
 *2. 半编译半解释
 *3. 面向对象
 4. 简单
 5. 分布式
 6. 健壮
 7. 多线程

2、数据类型

基本数据类型
	整型 
		byte(1个字节     表示范围:-2^7 ~ (2^7)-1) 
		short(2个字节    表示范围:-2^15~(2^15)-1) 
		int(4个字节      表示范围:-2^31 ~ (2^31)-1) 
		long(8个字节     表示范围:-2^63 ~ (2^63)-1)
	浮点型
		float(32位 4个字节)
		double(64位 8个字节)
	字符型
		char(16位,2个字节)
	布尔型
		boolean(两个值:true和false)
引用数据类型
	数组
	类
	接口

第二章、变量和运算符

1、数据类型转换
隐式转换
	小类型的数据赋进大类型的变量
	eg:
		byte、short、int、char运算时都转换为int
		`short s = 1;
			s= s+1;`这是错误运算应改成s+=1;
		
显示转换
	小类型的变量=(小类型)大的数据`会造成精度的丢失`

2、运算符

算数运算符
	`+`  加法 、`-`  减法、`*`  乘法、`/`  除法
	`%` 取余 `++` 自增 `--` 自减 `+` 字符连接符(当操作数中只要有一个是String类型,系统会自动将另一个操作数转换成字符串类型,然后进行连接)
赋值运算符
	`=` 
关系运算符(结果为boolean类型)
逻辑运算符
位运算

3、标识符

标识符的命名规则
	必须以字母、下划线(_)或美元符号($)开头
	余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限。标识符中不能有空格。
	 不能使用Java中的关键字或者保留字做为标识符
	 
类名:   Pascal规则  eg:Person StudentDemo
方法名:  Camel规则    eg:getAge setUserName
包名:    全部小写     eg:com.neusoft
常量名:  全部大写      eg:MAX_VALUE

第三章:流程控制语言

1、流程控制语句
	条件控制
		if……else……
		switch
	循环控制
		for
		while
		do……while

第四章、数组

``` 数组:数组可以看成多个相同类型的数据的组合,实现对这些数据统一管理 数组的长度:数组中元素的个数 数组的其他基本概念 数组的索引 -- index 数组的类型 -- type 数组的名称 – name 数组的声明 `数组类型[ ] 数组名` 数组的创建 `数组名 = new 数据元素类型[元素个数]` 数组的初始化 `数组类型 数组名[ ] = { 元素1 ,元素2 ,…}` `数组类型 数组名[ ] = new 数据类型[ ]{ 元素1 ,元素2 ,…}` 数组的访问 Java中,数组元素的下标从0开始 元素的下标可以是整型常量或整型表达式 赋值:数组名[元素下标] = 元素值 取值:数据元素类型 变量名 = 数组名[元素下标] 数组的遍历 `for(int i = 0;i<数组长度;i++){ 数组名[i]; }` 多维数组创建 数组类型[ ] [ ] 数组名 数组的复制 `System.arraycopy(source,srcPos,dest,destPos,length)` 复制source数组中从下标srcPos开始的length个元素到目标数组dest,并从目标数组的下标为destPos的位置开始储存 source: 源数组 srcPos: 源数组中的起始位置 dest: 目标数组 destPos:目标数组中的起始位置 length: 要复制的数组元素的个数 数组的排序 Arrays.sort(数组名) 对数组排序 Arrays.sort(数组名,fromIndex,toIndex) 对数组从下标为fromIndex到toIndex的数组排序(不包括下标为toIndex的元素)
<h1>第五章、方法的创建和调用</h1>

什么是方法
方法是完成某个功能的一组语句,通常将常用的功能写成一个方法
方法的定义
[访问控制符] [修饰符] 返回值类型 方法名(参数列表){ 方法体 }
修饰符:public 、static 被称为修饰符(后续会详细讲解它们);
返回值类型:用来说明该方法运算结果的类型。如果返回其他类型,编译就可能出错;
方法名:它作为调用时引用方法的标识;
参数列表:方法的参数个数可以是0个到多个,每个参数前面要声明参数的数据类型;每个参数要用逗号分开。也可以一个参数都没有。
方法体:它是一个语句块,执行特定的功能操作。对于有返回值类型的方法,方法体当中最后一个语句是return关键字,它的作用是把方法的执行(运算)结果返回到方法外部。
return 表达式 :这里,进一步分析,return后面的表达式就是方法的返回值。需要注意表达式的类型,必须与方法头中声明的“返回类型”相 匹配。
*形式参数:在方法被调用时用于接受外部传入的变量
*参数类型:就是该形式参数的数据类型
*返回值:方法在执行完毕后返回给调用它的程序的数据
*返回值类型:方法要返回的结果的数据类型
方法的分类
根据参数个数
无参方法
有参方法
根据返回值类型
有返回值方法
返回值类型可以是基本数据类型,也可以是引用数据类型
无返回值方法
void(void不可以省略,必须要写,用来占位)
方法的调用
方法只有在被调用后才能生效
方法的调用方法
无参方法的调用
方法名()
有参方法的调用
方法名(实参列表)
*注:实参列表与定义方法时的形参列表需一致
使用方法时的注意问题
形参必须注明数据类型
实参直接写,不需要类型声明
return只能返回一次
遇到return语句,方法执行结束,后续语句不执行
方法的返回值必须与声明中的返回值类型匹配
方法不能嵌套定义,但可以嵌套调用
方法的重载
方法的重载就是在同一个类中允许同时存在一个以上同名的方法
方法重载的规则
重载发生在一个类中
方法名称相同
方法的参数列表不同
参数个数不同或者参数类型不同
与返回值类型无关,可相同,也可以不同
方法的重写
重写(rewrite)
对从父类中继承来的方法进行改造
在子类继承父类时发生
方法重写的规则
方法名称相同
方法的参数列表相同(参数数量、参数类型、参数顺序都要相同)
方法的返回值类型相同
子类重写方法的访问权限要不小于父类中被覆盖方法的访问权限

<h1>第六章、面向对象编程</h1>
1、面向对象的基本概念:

对象(object):
是系统中用来描述客观事物的一个实体。
可以是有形的,也可以是无形的(如一个客户,一张银行卡,窗体中的一个按钮等等)
对象是构成世界的一个独立单位
具有自己的静态结构(属性)和动态行为(方法)
每个对象有自己的唯一标识
类(class):
类是一组具有相同属性和行为的对象的抽象,类的作用是用来创建对象,对象是类的一个实例
类和对象的关系
抽象和具体的关系。
每一个类在某一时刻都有零个或更多的实例, 类是生成对象的模板
一个类定义了使用哪些数据来描述属性,每一个对象都有相应的属性值数据,一个类通过一系列方法来定义行为,这些方法能在每个对象中被激活

2、面向对象的主要特征:

封装
所谓封装是把对象的属性和行为结合在一个独立的系统单位内部
尽可能隐蔽对象的内部细节,只向外部提供接口
降低对象间的耦合度
封装的重要意义:
使对象能够集中而完整地描述并对应一个具体事物
体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据
继承
也称泛化
是子类自动共享父类属性和方法的机制
除了继承父类属性和方法,还可以加入自己的新的内容
有益于软件复用
是类之间的一种关系
多态
指同一个命名可以具有不同的语义
常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法替代实现父类的服务的方法

3、类

什么是类
把相似对象划成一个类
类的格式
[类修饰符] class 类名{ 类的成员 }
修饰符一般为public,也可以没有修饰符。
注意类名的命名规范。类名首字母一般大写
类的成员
成员变量(属性)
成员方法(方法)
嵌套类
通过“.”调用属性和方法
成员变量
[修饰符] 类型 属性名 = 默认值;

4、对象的创建和使用

什么是对象
类(class) — 是对某一类事物的描述
对象(object) — 是实际存在的某类事物的个体,也称为实例(instance)
类是创建对象的模板,对象是类的实例
构造器
具有与类名相同的名称
不含返回值类型
不能在方法中用return语句返回一个值
一般访问权限是public
构造器作用
完成对象的创建,即完成对象的初始化;
一般使用构造器来完成对成员变量的初始化
注*
没有明确的写出构造方法,在编译时编译器会发现该类没有构造器,这时编译器会自动的给这个类增加一个构造器,该构造器没有任何参数,我们称之为“默认的空构造器”
相反,如果我们在编写时,手写了一个或是若干个带参的构造器,那么,这个不带参的空构造器就不会再自动产生并存在。在这样的情况下,如果在某些情况下还想使用这样的无参数默认构造器的话,最好还是养成手写出这个无参数的构造器来,以备后用
默认构造器
在Java中,每个类都至少要有一个构造器,如果程序员没有在类里定义构造器,系统会自动为这个类产生一个默认的访问权限为public且参数列表为空的构造器
对象创建的内存模型
在Java中所有的变量、数组、对象都是分配在内存中的
局部变量
实例变量
静态变量
内存的类别
栈:存取速度比堆块,效率高
堆:堆可以保存那些堆空间要求较大的变量
凡是出现关键字new的地方必定分配了一个堆内存
我们在实例化一个对象时,同时操作了栈内存和堆内存。在栈内保存对象的首地址,即 引用;
访问对象:在其他类中或main方法中,若想访问对象的属性或是方法必须先实例化这个类,然后通过对象名(引用)和点操作符来完成
如果在 类内的方法中,访问本类的属性和方法就可以 直接访问了。
匿名对象
创建完对象,在调用该对象的方法时,也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫匿名对象
使用匿名对象的情况
如果对一个对象只需要进行一次方法调用
垃圾回收机制:
finalize()关键字
变量的作用域
类变量:用static修饰的成员变量
实例变量:非static的属性
局部变量
方法体中声明的变量,方法中的参数,或代码块中声明的变量,都是局部变量
局部变量只在方法调用的过程中有效,方法调用结束后失效

5、this关键字

this关键字
代表对象自身的引用
一个引用
指向调用该方法的当前对象
通常在类的方法定义中使用
this关键字使用情况
在方法中变量与成员变量名称相同
在一个构造器中,调用其他重载器的构造器
返回当前对象的引用

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DYS_房东的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值