您的位置:首页 > 编程语言 > Java开发

2016/2/3 Head First Java 第五节/第六节小结

2016-02-04 00:04 330 查看
第五节 编写程序

因为Java是面向对象的 咱们就要以面向对象的方式来思考 不用面向过程的语言去思考他

我们要把这个对象分成几个类 而且每个类都有什么实例对象和方法 每个方法做什么 去这样由大到小 由粗到细的去思考和分析

在开发类的过程中 我们需要以下几步:

1.找出类应该做的事情

2.找出实例变量和方法

3.编写伪码

4.编写测试码

5.实现类

6.测试方法

7.检查错误或重新设计

对于伪码 测试码 和 真实码 都做出如下的说明:

伪码:伪码能帮助你专注于逻辑而不需要顾虑到程序语法

测试码:测试用的程序代码
// 对程序有更好的理解

真实码:实际设计出真正的Java程序代码

这节其实就是告诉你Java应该怎么设计类

这节还有个小的知识点,我不会的Interger.parseInt()

Interger是int的包装器类,parseInt()是这个类的一个方法 这个方法是把字符型数字,转换为整形数字 !!!记住是字符型数字:

public class ArrayListMagnet {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int a = Integer.parseInt("2");
//int b = Integer.parseInt("nijk");
// return:
//Exception in thread "main" java.lang.NumberFormatException: For input string: "nijk"
//	at java.lang.NumberFormatException.forInputString(Unknown Source)
//	at java.lang.Integer.parseInt(Unknown Source)
//	at java.lang.Integer.parseInt(Unknown Source)
//	at ArrayListMagnet.main(ArrayListMagnet.java:5)
System.out.println(a);
// return:
// 2
}

}


Math.random():

这个是产生随机数的一个方法,会返回0-1之间的数

例如:int randomNum = (int)(Math.random()*5); // 返回是0-4的整数

break:跳出循环跳出最靠进break的for循环或者while循环

第六节 认识Java的API

这节告诉我们了Java有个方便的东西 Java内置有数百个类 就是Java的函数库

例如:ArrayList就是Java函数库中的另一个类 他有如下几个方法:

add(Object elem):向list中加入对象参数

remove(int index / Object elem):在索引参数中移除对象 / 移除该对象 //这是两种用法

contains(Object elem):如果和对象参数匹配 返回"true"

isEmpty():如果list中没有元素返回"true"

indexOf(Object elem):返回对象参数的索引或-1

size():返回list中元素的一个数

get(int index): 返回当前索引参数的对象

// 例子不是特别好 可以复制粘自己去整理
import java.util.ArrayList;   // 导入ArrayList这个类
public class ArrayListMagnet {
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<String>();
String a = "abcd";
array.add(a);            // add一个参数的用法
array.add(1, "efg");     // add的两个参数的用法
for(String str:array){   // 输出array中每个String元素
System.out.println(str);
}
System.out.println(array.contains(a)); // 调用contains方法
System.out.println(array.isEmpty());   // 调用isEmpty方法
int index = array.indexOf(a);          // 调用indexOf方法
System.out.println(index);
System.out.println(array.size());      // 调用size方法
array.remove(a);                       // 调用remove方法
array.remove(0);
System.out.println(array.isEmpty());

}

}


比较ArrayList与一般数组:

1.一般数组在创建时就必须确定大小

但对于ArrayList来说,你只需要创建出此类型的对象就行。

它不需要指定大小,因为它会在加入或删除元素时自动的调整大小

例如:new String[2] // 指定大小

new ArrayList<String>() // 不需要指定大小

2.存放对象给一般数组时必须指定位置

例如 myList[1] = b

myList.add(b)

3.一般数组使用特殊的语法

但ArrayList是个普通对象,所以不会有特殊的语法

mListy[1] // [方括号]是只用在数组上的特殊语法

在Java的API中,类是被包在包中的

在使用到API中的类 你就必须指名程序代码中所用带的类的完整名称(在java.lang这个包中不用)

完整的名称是这样的:java.util.ArrayList // java.util 是包的名称 ArrayList是类的名称

你必须告诉Java想要使用的是哪一个ArrayList,有两种方法可以指定:

A.IMPORT

放一个import句在成语源文件的最见面:

import java.util.ArrayList;

public class MyClass{...}



B.TYPE

或者在程序代码中打出全名。不管在哪里,只要有使用到就打出全名

声明的时候:

java.util.ArrayList<Dog> list = new java.util.ArrayList<Dog>();

用在参数的时候:

public void go(java.util.ArrayList<Dog> list){ }

作为返回类型的时候

public java.util.ArrayList<Dog> foo() {...}

包重要的原因:

1. 可以帮助组织项目或函数库相对于一大堆零散的类,以功能来组织会比较好

2. 包可以制造处名称空间,以便错开相同名称的类

3. 包可以通过限制同一包之间的类才能相互存取以维护安全性

java.lang 是一个基础包 详细的点击这个连接 java.lang

java.util.*; 这个是导入java.util中的所有类 也是一个比较方便的方法

这就是对于五、六节的一个小结,对于java的面向对象思想,和对于开发类的思想有了进一步的了解,并且知道了java有API函数库这一个方便快捷的好东西,对于以后运用上也是有很大的好处。对于包先是有了大概的认识,等到后面看出过程中在学习。

大部分的地方是从书上摘抄的,我认为重要的,也有自己不会的知识点,也记录了下来,如果有不对的地方,或者想讨论学习,可以及时的评论批正,希望共同进步!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: