Java基础难点补充

附:

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文档)

你可能感兴趣的:(Java基础)