数据结构与算法

 

第1章:Java语言的面向对象编程

 

其它基础的跳过,在第1章里有些是以前少用的,列一列:

 

标志输入:单词和数字

 

StreamTokenizer类,在文本中提取各种标志;共有四种类型标志:TT_EOF(文件尾),TT_EOL(行尾),TT_WORD和TT_NUMBER;

 

可能用输入流多了,这个东西反而少用,性能上有点差距;

 

示例:

 

oid readTokens(String fInName) throws IOException {
		StreamTokenizer fIn = new StreamTokenizer(new BufferedReader(
				new FileReader(fInName)));
		fIn.nextToken();
		String s;
		while (fIn.ttype != StreamTokenizer.TT_EOF) {
			if (fIn.ttype == StreamTokenizer.TT_WORD) {
				s = "word";
			} else if (fIn.ttype == StreamTokenizer.TT_NUMBER) {
				s = "number";
			} else
				s = "other";
			System.out.println(s + ":\t" + fIn);
			fIn.nextToken();//跳过分隔标志的空白字符;
		}
	}

 

当文本文件是由以空白字符分隔的单词和数字组成时

 

示例:

 

void readTokens2(String fInName) throws IOException {
		BufferedReader fIn = new BufferedReader(new FileReader(fInName));
		String s;
		while ((s = fIn.readLine()) != null) {
			java.util.StringTokenizer line = new java.util.StringTokenizer(s);
			while (line.hasMoreTokens()) {
				System.out.println(line.nextToken());
			}
			fIn.close();
		}
	}

 

Java和指针

 

在JAVA中,换个说法reference(引用)

 

为什么要换成这样呢,是为了消除指针某些对程序有害的行为(不是说指针没用)

在JAVA中不可能有一个非空引用变量对不存在的对象进行访问。引用变量如果非空,就总是会指向某个对象,因为编程者不能删除被变量引用的对象。在Pascal中可以使用函数dispose(),C++中可以使用delete删除一个对象。使用这两种方法是为了将无用对象占据的内存空间返还内存管理器,如果不将这些变量设为空或是程序中其他可访问的对象地址,就会出现所谓的虚引用的问题(dangling reference problem),这会导致程序崩溃。JAVA里是不会发生虚引用的问题的;因为有自动回收器;

 

Vector

 

这个就不说了,查查API就OK了,记得他是一个非线程安全的类,说是遗留类,但有时还是有用的;

 

第2章 复杂性分析

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值