head first java学习-第四,五,六章

176 阅读3分钟

第四章-用方法操纵实例变量

第五章-使用方法编写程序

第六章-认识Java的API,使用Java函数库

形参实参的定义和c++一致。

Java的方法(函数)的参数传递是值传递(这个值包括primitive主数据类型和引用变量值),也就是说是通过拷贝传递。

可以用byte当做int类型的返回。方法只能声明返回一个值。

封装

通过存取修饰符(access modifier)private和public标记实例变量。

封装的基本原则: 将我的实例变量标记为私有,并提供公有的getter和setter来控制存取动作。

这样方便程序员后续更改程序。

实例变量和局部变量的区别: 实例变量声明类内,而局部变量声明在方法中。 实例变量有自己的默认值。局部变量使用前必须初始化。

变量的比较: 比如想知道两个引用变量是否引用到同一个对象上,使用==运算符。但若是想知道两个对象是否相等,此时要使用equals()这个方法,具体细节后面再谈。

第五章-使用方法编写程序

本章介绍的开发方法是: 先写伪代码,再写测试码,最后写真实代码。 测试码有助于让程序员明白程序应该做哪些事情,以及若没有提前写出测试码,那做出来以后更不会去写测试码。

Java有两种for循环: 一种是和c++一样的写法。另一种是下面这种:

for(String name:nameArray){}

Java的强制转换和c++一样:

float x=123.456;
int y=(int)x;

在Java中将表示数字的字符串转换为整数

//Integer是Java内置的类
int guess=Integer.parseInt(stringGuess);

第六章-认识Java的API,使用Java函数库

ArrayList是Java函数库中的一个类。


ArrayList只能携带对象,而不是primitive主数据类型,但编译器可以将primitive主数据类型包装成Object以存放在ArrayList中。 以下为ArrayList的常用方法: image.png ArrayList与一般数组的比较: 尽管Java的一般ArrayList类在java.util这个包中,System,String,Math都属于java.lang这个包。数组也是对象,但他还是比较特殊。length是数组的实例变量。 image.png 与c++一样,Java中的一般数组在创建时就必须指定数组的大小。 ArrayList会自动调整大小。 注意,ArrayList没有这样myList[1]的用法。

布尔运算符: image.png

Java函数库中的每个类都属于某个包。 ArrayList类在java.util这个包中,System,String,Math都属于java.lang这个包。 必须指明代码中所用到的类的完整名称,指明完整名称的两种方式(java.lang这个包中的类可以不用指明完整名称,这是个预先被沿用的包):

//放在源文件的最前面
import java.util.ArrayList;
//或者在程序代码中打出全名
//声明
java.util.ArrayList<Dog> list=new java.util.ArrayList<Dog>();
//用作参数时
public void go(java.util.ArrayList<Dog> list) {}
//作为返回类型时
public java.util.ArrayList<Dog> foo() {}

注意import和c++的include不一样,使用import只是帮程序员省下每个类前面的包名,程序不会因为用了import而变大或变慢。

如何查询API?

目的有二,1.库中有哪些类?2.找到类之后,怎么知道它是做什么的? 可以查参考书或者查询HTML API文档(在java.sun.com网站)。