第五节 编写程序
因为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函数库这一个方便快捷的好东西,对于以后运用上也是有很大的好处。对于包先是有了大概的认识,等到后面看出过程中在学习。
大部分的地方是从书上摘抄的,我认为重要的,也有自己不会的知识点,也记录了下来,如果有不对的地方,或者想讨论学习,可以及时的评论批正,希望共同进步!!!