2007年3月19日星期一

重拾java

上星期六去参加了IBM的研究生实习招聘的笔试。两份卷子,其中一份厚厚一叠都是java。作下来很不爽,java几乎都忘光了。所以决心重拾java。晚上在我的ubuntu上弄好了eclipse,然后看了点书,作笔记如下(大部分是java与C/C++间的比较):
1、
java和C中,变量名中可以使用$,如“int $hu;”。
2、
java是强类型的,甚至比C/C++还严格。如:
在java中,int i = 4.5; // 错误
而在C中,int i = 4.5; // 可以
3、
java不支持无符号的正整数。
java中byte(8)、short(16)、int(32)、long(64)其宽度是固定的,不随目标机器的不同而不同 。
java中char是16位(无符号数)的Unicode表示。
4、
“boolean b = true;
System.out.print("boolean true is : " + b);”
将打印出“true”而不是“1”。
5、
关于char型变量的数字表示,在java与C/C++中有一些区别:


javaC/C++
八进制\ddd\ddd
十六进制\uhhhh\xhh
6、
对于java的字符串,它们必须在同一行开始和结束,没有像在其他语言中的行连续转义(如C/C++中的“\”)序列(对于很长的字符串,要换行可以使用+号连接)。
7、
关于块作用域,在java中,你不能声明一个变量为与外部作用域的变量一样的名称。如下面的程序:
class ScopeErr {
public static void main(String arg[]) {
int bar = 1;
{ // creates a new scope
int bar = 2; // Compile-time error - bar already defined!
}
}
}
而这种情况在C/C++中是合法的。

没有评论: