欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[Java核心技术 卷1] 基础篇难点补充

程序员文章站 2022-05-13 15:51:35
...

附:

java中文版文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

1、块作用域:

块是指由一对花括号括起来的若干条简单的java语句。块确定了变量的作用域。
注意:不能在嵌套的两个块中声明同名的变量。例如,下面的代码就有错误,而无法通过编译:

public static void main(String[] args) {
	int n;
	.....
	{
		int k;
		int n;			//ERROR!
		.....
	}
}

2、for循环

1)在循环中,检测两个浮点数 是否相等需要格外小心,下面的for循环可能永远不会结束。

for(double x = 0; x != 10; x += 0.1) ....

2)如果希望在for循环体外使用循环计数器的最终值,就要确保这个变量在循环原句的前面且外部声明

int i;
for(i = 1; i <= 10; i++) {
	.....
}
//i is still defined here

3、switch语句

使用switch语句时,一定要注意当找到合适的条件时,一定要使用break语句退出:

switch (choice) {
	case 1:
		...
		break;
	case 2:
		...
		break;
	case3:
		...
		break;
	default:
	...
		break;
}

如果在case分支语句的末尾没有break语句,那么就会接着执行下一个case分支语句,这种情况相当危险,常常会引发错误,为此,我们尽量避免使用switch语句.

4、带标签的break语句

有时候,在嵌套很深的循环语句中会发生就一些不可预料的事情。此时可能更加希望跳到嵌套的所有循环语句之外。java提供了一种带标签的break语句,用于跳出多重嵌套的循环语句。

int n;
read_data;		//标签
while (...) {
	for(...) {
		...
	}
	if (..) {
		break read_data;		//最后跳出while循环
	}
}

5、大数值

如果基本的整数和浮点数精度不能满足要求,那么可以使用java.math包中的两个很有用的类,BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现类任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算
注意:如果要使用大数值进行算数运算需要使用类中的add和multiply方法,详情请参考java文档java.lang.math包:
详情请看文章开头的java文档

6、数组操作类(Arrays)

Arrays类,包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
例如,可以使用 copyOf 方法将一个数组的所有值拷贝到一个新的数组中去,以及用于二分搜索的 binarySearch 方法和 进行排序的 sort 方法。(详情请看文章开头的java文档)

上一篇: 生成验证码

下一篇: 生成验证码