您的位置:首页 > 编程语言 > Java开发

Java核心技术:卷1笔记[1] Java基本编程结构

2011-12-13 11:47 459 查看
Java基本编程结构[18]
1.源代码的文件名必须同公有类的名字相同,且需以.java作为扩展名。

2.和C不同,Java的main方法并不向操作系统返回“退出代码”,Java中,如果main方法正常退出,Java程序的退出代码为0,表示成功地执行完毕程序。若要用不同的退出代码终止程序,则使用System.exir方法。

3.回车并不代表语句的结束,所以语句可以跨越多行。

4.Java共有八种基本类型,四种是整型,两种浮点型,一种字符型以及用于表示真假的布尔类型。

1)整型

long 8字节、int 4字节、short 2字节、byte 1字节;

表示float类型数据时需要添加后缀F。没有后缀F的浮点数据总是被认为是double类型的。

有三种特殊的浮点值:正无穷大、负无穷大、NaN(非数字)用于表示溢出和出错。

不能用if(x == Double.NaN)的形式来判断x是否为数字,正确方法是:if( Double.isNaN(x) )。

如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

2)字符型

char 2字节;

Unicode编码表中前256个字符与ASCII码相等。

尽管理论上可以在Java应用程序和applet中使用任意的Unicode字符,但实际上能不能看到它们 还取决于所使用的浏览器以及操作系统。

3)布尔类型

boolean 不能和整数相互转换,强制类型转换也不行。

5.const是被保留的Java关键字,但目前还未被定义。必须使用final来表示常量。

6.字符串

1)在标准Java库中包含一个名为String的预定义类。每个被双括号引起来的字符串都是String类的实例。

2)当用+号连接一个字符串和一个非字符串时,后者将被转换成字符串。

3)String类的对象是不可改变的,编译器把字符串设置为共享的。

4)对于直接操作字符串的情况,Java提供了单独的StringBuffer类。

5)不要使用==操作符来检测两个字符串是否相等,它只能判定两个串是否存储在同一个位置。

6)如果虚拟机总是把相等的串设为共享,那么可以使用==来测试它们是否相等。但实际上只有字符串常量会被共享,而+或substring等操作产生的结果串并不共享。

7.不管什么时候调用了JOptionPane.showInputDialog,都必须以System.exit(0)调用结束程序。显式对话框启动了一个新的控制线程。当main方法结束时,新线程并不自动终止。结束所有的线程需要调用System.exit方法。

8.可以利用NumberFormat类来实现对数字、货币、百分数等的格式化输出。

9.Java控制流结构与C/C++的不同只有两处:Java中没有goto语句,但有一个标签化版本的break。

10.在Java中不允许在嵌套块中重新定义一个变量,如

int n

{

int n; //错误



11.标签化的break:标签必须在要跳出的最外层循环的前面,并且标签后必须有一个冒号。

read_data:

while(…)

{

for(…)

{



if(x)

break read_data;



}

}

//break之后从这里开始执行

if(x){…//处理错误情况}

else{…//执行正常处理}

如果发生错误,则加标签的break跳转到加标签块的末尾。对任何使用break语句的情况都需要测试循环结束的原因。

12.事实上,可以把标签用于任何语句,甚至是if语句和块语句。

13.大数字:如果基本的整型和浮点型数据无法达到要求的精度,可以使用BigInteger和BigDecimal。这两个类可以操作任意长的数字。前者实现任意精度的整数运算,后者实现任意精度的浮点数运算。使用普通方法可以将普通数字转换成大数字:BigInteger a = BigInteger.valueOf(100);

14.Java中无法编程实现重载操作符,Java语言设计者为字符串的连接重载了+操作符,但没有对其他操作符进行重载。

15.在Java中长度为0的数组是合法的,其与null是不同的。

16.可以把一个数组变量拷贝给另一个,这时两个变量都指向相同的数组。如果实际上是想将一个数组中的值拷贝给另一个变量,则需要使用System类中的arraycopy方法。

17.对数组中的数字排序,可以使用Arrays类的sort方法。

18.Math.random方法返回一个在0(包含)到1(不包含)间的随机浮点数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: