疯狂JAVA讲义

第一章:JAVA语言概述

1.1:JAVA语言简史

1.2:JAVA的竞争对手及其各自优势

1.3:JAVA程序运行机制

1:解释型语言优势:跨平台比较容易。
2:JAVA既是编译型语言,又是解释型语言

1.4 开发JAVA的准备

1:JRE包含JVM

1.5 第一个JAVA程序

1:javac语法
javac -d destdir srcFile

当前目录可用.表示
2:

1.6 JAVA程序的基本规则

1:类是JAVA程序中的最小程序单位
2:拥有main方法的类才可以被解释器执行
3:JAVA源程序的程序名必须与public类的类名相同,因此,一个java源文件只能含有一个public类
4:JAVA严格区分大小写

1.7 垃圾回收机制

1:除了释放没用的对象外,垃圾回收也可以清除内存记录碎片。垃圾回收会影响程序性能。
2: 编写JAVA程序时,一个基本原则是,对于不在需要的对象,不要引用他们,可赋值为null

1.8 何时开始使用IDE工具

1.9 本章小结

第二章:理解面向对象

2.1 面向对象

1:JAVA拒绝使用goto,但是将goto关键字保留
2:JAVA不支持多继承

2.2 UML介绍

2.3 JAVA的面向对象特征

第三章:数据类型和运算符

1:JAVA是强类型,强类型有2个含义:a:所有类型必须先声明后使用;b:指定类型的变量只能接受类型与之匹配的值

3.1 注释

1:文档注释:以/**开头,以*/结尾

2:可使用javadoc命令自动将文档注释生成API文档

3.2 标识符和关键字

P45:JAVA语句可以跨行,但是一个字符串,变量名不能跨多行。
P46:JAVA语言的标识符必须以字母、下划线、美元符开头,后面可以接任意数目的字母、数字、下划线、美元符
P46:JAVA关键字


3.3 数据类型分类

P47:null只能转化为引用类型,不能转换为基本类型
P48:数据类型

P49:八进制以0开头,十六进行以0x或0X开头,二进制以0B或者0b开头
P51:float:1+8+23;double:1+11+52
P51:浮点数必须包含一个小数点,否则会被当做int来处理
P51:JAVA整形默认为int,浮点默认为double
P51:正无穷大:POSITIVE_INFINITY,负无穷大:NEGATIVE_INFINITY,非数:NaN,在类Double或者Float中
P52:可以在数值中使用下划线,不管是整形还是浮点,都可以自由的使用下划线,通过下划线分割,可以更直观的分辨数字常量中到底有多少位
P53:java中Boolean数值只能是true或false,不能用0或者非0来代表,其他数据类型的值也不能转换为Boolean

3.5 基本类型的类型转换

P55:把浮点强制转换为整数时,会直接截断浮点数的小数部分

3.6 直接量

3.7 运算符

P59:当做含有浮点数的除法时,可以除以0或者0.0,此时输出为无穷大,非浮点情况会跑出异常。
P59:当求余运算都是整数时,第二个数不能为0,否则会除法除零异常。如果含有浮点,则允许第二个为0或0.0,但结果为NaN。0或者0.0对任何数求余都是0或0.0
P61:赋值表达式是有值的,值为右边被赋的值
P62:>>>无符号右移
P64:对int类型整数移位a>>b时,若b>32,系统会先用b对32取余,同理,long对64先取余


第四章:流程控制与数组

4.1 顺序结构

4.2 分支结构

P75:switch的表达式只能是byte,short,char,int这4个整形以及枚举类型,还有java.lang.String

4.3 循环结构

P79:do-while后面又分号

4.4 控制循环结构

P85:JAVA可以使用标签来来break或者continue外层循环

4.5 数组类型

P86:数组是一种引用类型
P87:定义数组时不能指定数组长度
P89:数组提供一个属性length
P90:使用foreach不能改变数组的值

4.6 深入数组

第五章:面向对象(上)

5.1 类和对象

P106:如果程序员没有编写构造函数,系统会提供一个默认的,一旦编写了,就不会提供
P107:修饰符public,private,protected只能出现一个,abstract和final最多只能出现一个
P108:构造器的返回值是隐士的
P112:static修饰的方法中不能使用this,所以静态成员不能访问非静态成员

5.2 方法详解

P115:JAVA传参数只有值传递

5.3 成员变量和局部变量

P127:局部变量定义后,必须显示初始化,系统不会为其自动初始化

5.4 隐藏和封装

P130:访问控制级别又小到大:private,default,protected,public。default修饰的可以被同一个包内访问

P134:包是逻辑路径,不一定要是具体路径
P135:一个JAVA源文件只能包含一个package语句,可以包含多个import语句

5.5 深入构造器

5.6 类的继承

P143:

5.7 多态

P149:方法具有多态性,对象不具有多态性
P150:

5.8 继承和组合

5.9 初始化块

P157:初始化块只在创建java对象时隐式执行,而且在执行构造器之前执行
P157:普通初始化块,声明实例Field指定的默认值都是对象的初始化代码,它们的执行 顺序和源程序中的排列顺序一致。使用static修饰则变成静态初始块,在类初始化而不是对象初始化的时候执行。

第六章:面向对象(下)

6.1 JAVA7增强的 包装类

P163:除了Character之外,其他包装类都可以使用字符串参数来构造
P163:

P165:虽然包装类是引用对象,但是包装类的实例可以和数值类型进行比较
P166:

P166:两个Boolean进行比较时,true>false

6.2 处理对象

P168:Object类提供的toString方法总是输出类名+@+hashCode
P169:

6.3 类成员

6.4 final修饰符

P175:final修饰的成员变量必须由程序员显示地指定初始值
P175:

P176:如果final修饰的局部变量在定义时没有指定默认值,则可以在后面代码中队该final变量赋初始值,但只能一次。
P180:

P180:java提供的8个包装类和String类都是不可变类
P185:

6.5 抽象类


P186:抽象类没有方法体没有花括号,直接跟分号。普通方法体只有花括号

6.6 更彻底的抽象:接口

P191:在接口中定义变量,会自动添加public,static,final
P195:

6.7 内部类

P199:内部类可以访问外部类的私有数据,但是外部类不能访问内部类的实现细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值