java笔记前三章不定期更新.docx

上传人:b****8 文档编号:11044970 上传时间:2023-02-24 格式:DOCX 页数:17 大小:21KB
下载 相关 举报
java笔记前三章不定期更新.docx_第1页
第1页 / 共17页
java笔记前三章不定期更新.docx_第2页
第2页 / 共17页
java笔记前三章不定期更新.docx_第3页
第3页 / 共17页
java笔记前三章不定期更新.docx_第4页
第4页 / 共17页
java笔记前三章不定期更新.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

java笔记前三章不定期更新.docx

《java笔记前三章不定期更新.docx》由会员分享,可在线阅读,更多相关《java笔记前三章不定期更新.docx(17页珍藏版)》请在冰豆网上搜索。

java笔记前三章不定期更新.docx

java笔记前三章不定期更新

第一章:

重点

一、环境变量配置-->快捷方式,仙人指路

1、path:

操作系统-->可执行命令

1)、临时配置:

cmd-->setpath=%path%;可执行命令的所在目录;C:

\ProgramFiles\Java\jdk1.7.0_25\bin

2)、永久配置:

(建议在用户变量中设置)

path:

可执行命令的所在目录;C:

\ProgramFiles\Java\jdk1.7.0_25\bin

3)、JAVA_HOME:

很多知名厂商约定俗成

C:

\ProgramFiles\Java\jdk1.7.0_25-->后面没有;

2、classpath:

jvm-->类|程序

1)、没有配置:

java.lang.*|当前目录

2)、临时配置:

java-classpath.;E:

\xp\20141124\003_code\1类

3)、永久配置:

classpath:

.;类所在的目录

 

3、深入:

加入包名

javac-d.HelloWorld.java

javacom.bjsxt.HelloWorld

javac-dD:

\Test.java-->编译到D:

javac-cp.;D:

\-d.HelloWorld.java

java-cp.;d:

\com.bjsxt.HelloWorld

 

编译:

javac-d-cp源代码

-d:

字节码存放的路径

-cp:

依赖类的路径(不包括包名)

运行:

java-cp依赖类的路径本类

二、jdk&jre&jvm

1、jdk:

javadevelopmentkitjava开发工具-->开发产品

2、jre:

javaruntimeenvironment运行时环境-->运行产品

3、jvm:

javavritualmachinejava虚拟机

1)、虚拟的计算机

2)、翻译-->跨平台

3)、规范|接口-->解耦扩展性

三、HelloWorld

1、模板

publicclass类名{

publicstaticvoidmain(String[]args){

}

}

2、类与源代码关系

1)、一个源码中包含多个类(不推荐)

2)、一个源码中最多一个public,public类必须与源码名称相同

3)、包含main(入口点publicstaticvoidmain(String[]){}),称为主类,主类置于public类中

四、编程规范

1、目标:

不报错能运行,让人看得懂看得舒心

2、手段

1)、e文、见名知意

2)、成对编程()[]{}""''

3)、合理缩进tab

4)、适当注释:

思路

///**//***/

第2章:

标识符:

一、作用:

助记符类方法变量常量命名

匿名:

没有使用标识符,仅使用一次

二、命名规则与命名规范

1、命名规则-->java强制执行,编译不通过

1)、字母_$数字组成

2)、不能以数字开头1HelloWord

3)、不能为java关键字|保留字(小写)ClassMyClassclassDemo01

4)、java中区分大小写

2、命名规范-->行业标准

1)、类:

每个单词首字母大写

2)、变量|方法名:

第一个单词首字母小写,从第二个起首字母大写-->驼峰

3)、常量:

所有字母大写_分割

见名知意+e文

数据类型

一、作用

1、分门别类

2、使用方便

3、节约内存

二、基本类型(一个盒子)

1、数值型

1)、整数byteshortintlong

byte:

1个字节-128-127

short:

2个字节正负3w

int:

4个字节正负21亿

long:

8个字节很大....

2)、小数floatdouble-->不要比相等

float:

4个字节灰常大

double:

8个字节太....

2、字符型char2个字节

1)、解码:

二进制-->字符

2)、编码:

字符-->二进制

字符集统一:

gbkutf8unicode(jvm)

3、布尔型boolean:

1位true|false

 

java强类型语言

一、变量:

盒子袋子

1、声明|定义|开辟盒子

类型变量名[=初始值];

2、使用变量(必须先声明后使用)-->值的拷贝

1)、存储=:

变量名=值;

2)、查看:

打印拷贝

3、分类:

默认值

1)、局部变量:

没有默认值

2)、实例变量

3)、类|静态变量

4、局部变量:

1)、必须先声明后使用

2)、使用前必须确保值存在

3)、一次声明多次使用

4)、同一个作用域范围内不能声明同名的变量

5)、养成良好的习惯:

声明同时手动给定初始值值

二、字面值|直接量

1020303.14

1、整数-->int

2、小数-->double

三、常量:

只读

1、特点:

值一旦确定不可改变

2、声明

final类型常量名[=初始值];

3、使用

1)、存储=:

没有值可以存储,变量名=值;

2)、查看:

打印拷贝

运算符

1、算术运算符:

+-*/%++--

2、赋值运算符:

=

3、扩展运算符:

+=-=*=/=%=

4、关系运算符:

><>=<===!

=instanceof

5、逻辑运算符:

&&||!

6、条件运算符:

?

:

7、位运算符:

&|~^>><<>>>-->了解

类型转换

一、自动

大类型=小值

1、只要大数参与运算,以大数为准

2、大数尽可能提前

二、强制:

小类型=(小类型)大值

注意()作用范围

控制语句

一、分类

1、顺序执行

2、选择执行

1)、if:

单双多-->判断区间

单:

if(boolean类型表达式){

}

双:

if(boolean类型表达式){

}else{

}

多:

if(boolean类型表达式){

}elseif(boolean类型表达式2){

}..else{}

2)、switch:

定值判断|枚举|1.7String

switch(int定值|枚举|1.7String){

case值1:

语句块;

[break;]

case值2:

语句块;

[break;]

default:

其他情况

}

1)、switch结束

a)、正常执行完毕

b)、break:

防止下穿

2)、default:

尽可能防止最后

3、循环执行:

执行重复的代码块-->有规律才使用循环

1)、四要素:

初始表达式判断条件循环体迭代因子

2)、死循环:

条件永远为true

3)、结束与暂停

a)、结束:

正常执行完毕|break

break:

结束本层循环

b)、暂停:

continue:

暂停本次执行,继续执行下一次

4)、分类

a)、当到型while(){}

b)、直到型do..while();

c)、确定次数for(;;){}

d)、数组|容器for(元素类型局部变量:

容器|数组){}

 

方法(绝对的重点)

一、理解

解决问题的方案|功能

二、作用

1、避免main方法过于臃肿

2、重用

3、自上而下分解问题

三、定义|声明

1、位置:

类中,方法外,方法不能嵌套

2、声明

1)、修饰符-->public|protected||privatefinalstaticabstractsynchronizednative

2)、格式

public||static返回类型|void方法名(形参类型形参名[,...]){

//代码块-->方法体

[return[返回值];]

}

3)、思考

a)、功能-->名称

b)、形参:

方法能否独立运行

c)、返回类型:

下一步操作是否存在直接影响

d)、static:

类.调用对象.调用

4)、方法签名:

方法名(形参类型、个数顺序)-->与形参名无关,确保一个类中唯一性

四、调用|使用

1、位置:

调用顺序与编写顺序无关

2、调用

[接收变量=]类.|对象.方法名([实参]);

a)、void|匿名接收:

不用接收变量

b)、接收变量:

使用多次

3、两个一致性

a)、形参>=实参

b)、接收变量>=返回类型>=返回值类型

4、return

1)、void:

结束方法-->有选择跳出方法

2)、返回类型:

结束方法+返回值-->确保所有的情况都存在返回值

在同一个作用域内,return不能再存在代码

五、重载

1、定义:

两同三不同(同一类方法名相同形参类型个数顺序不同)

2、作用:

方便调用

3、不是所有方法都适合使用重载,方法体中逻辑(业务)基本相同

4、过多的重载可能引起调用混乱

六、递归

1、定义:

方法自己调用自己

2、头:

何时结束递归体:

重复执行的代码

3、理论上可以使用循环替代-->IO非常方便

4、缺点:

耗内存优点:

简单

 

第3章:

OOP

一、类:

一切需求为中心复杂的引用类型

1、作用:

封装数据提供功能

2、抽象类

1)、名词-->属性

2)、动词-->方法

3)、环境|联系-->类与类关系(依赖关联聚合组合继承实现)

3、声明类

public||class类名{

//属性(实例|成员属性)

//构造器

//方法(成员方法)

}

属性:

public|protected||private类型属性名[=初始值];

方法:

public|protected||private返回类型|void方法签名{}

二、对象:

类的实例

1、创建:

new构造器

克隆

反序列化

反射

2、创建对象:

[类型引用变量|对象名=]new类([实参列表])

new:

1)、开辟空间2)、调用构造器3)、返回地址给引用变量

匿名:

没有引用变量

3、使用属性:

必须存在对象才能使用。

NullPointerException-->只有引用没有对象

存:

引用|匿名对象.属性=值

取:

查看

与局部变量的区别:

默认值修饰符作用域内存区域

4、使用方法:

引用|匿名对象.方法([实参列表])

每个对象拥有自己的一份存储空间;对象间共享方法(方法在调用时传递自身数据)。

内存分析:

运行期的行为,数据流向、操作

一、分类

1、栈:

后进先出,局部变量|形参

2、堆:

无序,new对象

3、方法区:

特殊的堆,共享的(字节码方法表静态信息字符串池)

二、理解

1、java一切皆为值传递,拷贝(基本类型拷贝内容本身,引用拷贝的地址)

2、一个引用在一个时刻只能指向一个对象

3、一个对象可以被多个引用所指向,其中一个对其发生变化,另外的引用也可见

 

引用类型:

类数组接口

引用分类:

强弱软虚

 

构造器

一、作用:

初始化对象信息的,为new服务的

二、特殊的方法()

1、名称与类同名

2、没有返回类型|void-->可以存在return(有选择的结束构造器)

3、只能new时调用,一个对象只能调用构造器一次

4、修饰符不能为staticfinalabstract

三、空构造:

始终保证一个至少存在一个构造器

1、空构造:

没有手动编写其他的构造器,javac在编译时自动加入空构造器

默认访问权限与声明类时保持一致

2、一旦加入自己构造器,javac不再加入空构造器

3、良好的习惯:

确保空构造器存在

a)、继承默认找父类的空构造

b)、反射空构造器创建对象方便

c)、高级框架默认查找空构造...

四、构造器重载:

只看形参(个数顺序类型)即可.....

this:

当前类的对象类.this

一、理解

1、调用者本身,谁调用代表谁

2、成员方法|构造器|构造块:

隐式传递

3、在不引起混淆前提下,this可以省略,不建议省略。

二、常见形式

1、this.属性:

区分属性与形参(局部变量)同名,避免就近原则

2、this.方法([实参列表]):

成员方间调用,区分成员方法or静态方法

3、this([实参列表]):

构造器重载时,相互调用。

仅限于构造器首行

不能使用类.this([实参列表])

4、this:

单独使用,查看|比较地址

不能省略类.this-->区分内部类中与外部类存在同名属性、方法

static:

静态的类的

一、理解

1、凡是静态的都是共享的

2、凡是静态的都是先于对象存在的,与对象无关

3、不能出现thissuper等对象信息

不能直接使用对象信息

二、常见形式:

类.访问

1、static属性:

静态属性|类属性

2、static方法:

工具方法

3、static{}:

加载类信息、初始化类信息

块:

{}

一、作用

1、组织代码

2、作用域

二、分类

1、普通块|匿名块:

方法中块中

2、静态块:

加载类信息,初始化类信息,仅初始化一次

3、构造块:

初始化对象信息,先于构造器执行,每创建一次对象调用一次

与构造器的区别:

只能存放常量|字面值信息,不能传参;构造器共享不变的代码;只能try..cath

4、同步块:

synchronized线程安全

先静态后成员....

封装:

隐藏细节

一、可见性

public:

随处可见

protected:

合法继承-->子类中且子类自己使用

default:

家庭和睦

private:

自私自利

本类publicprotecteddefaultprivate

同包publicprotecteddefault

不同包子类publicprotected

不同包其他类public

二、javaBean(POVOBO)

1、尽可能将数据私有化

2、提供setter与getter访问器操作数据

操作方便

三、单例设计模式:

对外只有一个对象

1、饿汉式:

1)、构造器私有化

2)、声明静态的私有的属性创建该实例

3)、对外提供公共的静态方法访问该属性

2、懒汉式:

1)、构造器私有化

2)、声明静态的私有的属性不创建该实例

3)、对外提供公共的静态方法访问该属性,第一次访问时创建该实例

四、分层:

各司其职合理分工

继承:

延续和扩展父类的一切信息

一、理解

1、类:

对同种事物的抽象

2、继承:

对同一批类的抽象

二、继承:

延续和扩展父类的一切信息,包括私有信息

1、延续|重用-->关联继承

2、重写

3、新增

三、实例化

1、先父类后子类

2、先静态后成员

继承链:

向上追溯-->顺藤摸瓜

1)、编译:

确定方法表(invokespecialinvokestaticinvokevirtual)看左边

2)、运行:

在确定方法表基础上,执行代码找右边

四、重写

1、与重载区别:

1)、重载:

同一个类名称相同形参个数类型顺序不同方便调用

2)、重写:

子类中签名(名称+形参个数类型顺序)相同父类不满足要求

2、判断

1)、程序

@Override-->1.5

在父类中编写调用,调用成功重写,否则新增

2)、人为

a)、前提:

继承签名相同

b)、在合理范围内提高子类方法的可见性否则编译错误

返回类型<=

1)、基本类型|void==

2)、引用类型<=

异常类型<=不是指个数,范围

可见性>=

c)、特例:

-->基于(代码编写的位置看类型)就近原则

a)、私有方法静态方法final方法不能被重写

b)、属性不能被重写

五、super:

子类中父类信息

前提:

在子类中,存在访问权限

1、super.属性:

子类定义了父类同名的属性,显式调用父类的属性

2、super.方法([实参列表]):

子类中重写父类的方法,显式调用父类的方法

3、super([实参列表]):

子类的构造器首行,显式调用父类其他构造器,默认调用父类无参构造

this()不能与super()同时出现

六、final:

最终的

1、局部常量:

值一旦确定不可改变

2、实例常量:

没有默认值,在实例化对象完成之前确保值存在,值一旦确定不可改变.

1)、声明同时赋值

2)、先声明,构造块中赋值

3)、先声明,构造器中赋值(所有的构造器中都必须存在赋值)

3、静态常量:

没有默认值,在加载类完成之前确保值存在,值一旦确定不可改变.

1)、声明同时赋值

2)、先声明,静态块中赋值

4、final方法-->不能重写

final类-->没有子类,不能被继承

 

尚学堂老师专供,不定期更新;

 

2014.11.28

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1