Head First JAVA 知识点总结

1.基本概念:进入Java世界

Java特性:面向对象、内存管理、跨平台可移植性
Java工作方式:编写源代码(存为Party.java)——>编译器运行源代码(执行javac程序来编译Party.java)——>输出(编译器产生字节码 编译成代码Party.class)——>Java虚拟机(JVM)读取执行字节码(JVM运行Party.class文件,字节码转换为平台可理解的形式来运行)
Java的程序结构 类存在于源文件里面《——方法存在于类里面《——语句(statement) 存在于方法中
一个程序只需要一个main()来作为运行。

2.类与对象 对象

对象本身已知的事物被称为: 实例变量	对象可以执行的动作称为:方法	类不是对象(对象是靠类的模型塑造出来的 类描述该类型的对象要如何创建)
main()的两种思想: (1)测试真正的类	(2)启动你的Java应用程序

3.primitive主数据类型和引用 认识变量

1. 变量类型有两种:primitive主数据类型和引用。	变量的声明必须拥有类型,变量必须要有名称。

2.primitive主数据类型变量有下列8种:byte(8 bits)、short(16)、int(32)、long(64)、 float(32)、double(64)、boolean(true or false)、char(16)

3.命名时避开关键字,否则编译器会出错。

4.Dog myDog = new Dog();	对象的声明、创建和赋值有3个步骤:(1)声明一个引用变量 Dog myDog (2)创建对象 new Dog(); (3)连接对象和引用 =

5.数组永远是个对象。

4. 方法操作实例变量 对象的行为

1.实例变量(状态)方法(行为)	类所描述的是对象知道什么和执行什么。类定义对象的所知和所为,对象所知者为实例变量,对象所为者是方法。

2. 方法会应用形参,调用的一方会传入实参。

3. JAVA是通过值传递的,也就是说通过拷贝传递的。

4.方法只能声明单一的返回值,如果需要返回3个int值,就把返回类型说明为int的数组,将值装进数组中来返回。

5.你可以调用返回非void类型的方法而不必理会返回值,这代表你用的是方法而不是返回值。可以不指派返回值。

6.getter的目的就是返回实例变量的值,setter的目的是取用一个参数来设定实例变量的值。

7.封装的原则:将实例变量标记为private,将getters和setters标记为public。提供公共的getter和setter来控制存取动作。	任何有值可以被运用到的地方,都可用调用方法的方式来取得该类型的值。

8.实例变量永远都会有默认值。integers为0,floating points为0.0,Booleans 为false,references 为null,null代表没有操作对象的远程控制,它是个引用而不是对象。

9.实例变量与局部变量:实例变量是声明在类内而不是方法中的,会被自动初始化。局部变量是声明在方法中的。局部变量被声明前必须被初始化,否则编译器报错。方法中的参数本质上也是局部的,但如果调用方法没有赋值参数编译器报错,所以说参数一定会被初始化。

10.使用==来比较两个primitive主数据类型,或者判断两个引用是否引用同一个对象。	使用equals()来判断两个对象是否意义上相等。(像是两个String对象是否带有相同的字节组合)

5.编写程序 超强力方法

使用Integer.parseInt()来取得String的整数值,Integer.parseInt()只在所给的String为数字时有作用。

for循环 for(int cell:locationCells){	}

2.	Java程序应从高层的设计开始,通常在创建新类时写出下列3种东西:伪码、测试码、真实码。伪码应该描述要做什么事,而不是怎么做。实现方法之前应该要编写测试码。

3.	ArrayList	add(Object elem)	remove(int index)	remove(Object elem)	contains(Object elem) isEmpty()	indexOf(Object elem)	size()	get(int index)
ArrayList操作 
//1.创建 
ArrayList<Egg> myList = new ArrayList<Egg>();//新的ArrayList对象会创建在堆上 
//2.加入元素 
Egg s = new Egg(); myList.add(s);//此ArrayList会产生出来一个“盒子”来存放Egg对象 
//3.再加入元素 
Egg b = new Egg(); myList.add(b); 
//4.查询大小 
int theSize = myList.size(); 
//5.查询特定元素 
Boolean isIn = myList.contains(s);
 //6.查询特定元素的位置 
int idx = myList.indexOf(b); 
//7.判断集合是否为空 
Boolean empty = myList.isEmpty(); 
//8.删除元素 
myList.remove(s);

6. 认识Java的API 使用Java的函数库

1.在java的API中,类是被包装在包中。	要使用API中的类,必须知道它被放在哪个包中。	你必须指明程序代码中所使用类的完整名称。

为方便使用,可以在原始程序的最开始部分下import指令来说明所使用到的包。