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(不包含)间的随机浮点数。
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(不包含)间的随机浮点数。
相关文章推荐
- [学习笔记] Java核心技术 卷一:基础知识 Java 的基本程序设计结构(一)
- Java核心技术学习笔记之一:Java的基本程序设计结构
- Java核心技术(第8版)学习笔记_基本的程序设计结构
- 【Java核心技术 I】第三章 Java的基本程序设计结构
- java核心技术之基本程序设计结构(一)
- 【Java多线程编程核心技术】2.对象及变量的并发访问(下)-笔记总结
- JAVA基础【3.10】《Java核心技术1》Java的基本程序设计结构-数组
- java核心技术学习笔记1---基本概念
- 【Java多线程编程核心技术】5.定时器Timer-笔记总结
- java核心技术学习笔记(二)—基本数据类型总结
- Java多线程编程核心技术(第五章定时器Timer笔记)
- JAVA基础【3.2】《Java核心技术1》Java的基本程序设计结构-代码注释
- Java多线程编程核心技术 第一章笔记
- Fiori2.0学习笔记-核心技术框架&基本项目结构
- 二、java多线程编程核心技术之(笔记)——如何停止线程?
- Java核心技术笔记——数据结构(3)
- Java技术核心卷I学习笔记——基本的程序设计结构
- Java核心技术 卷1 读书笔记 (3 Java基本程序设计结构)
- JAVA基础【3.3】《Java核心技术1》Java的基本程序设计结构-数据类型
- 《Java 多线程编程核心技术》学习笔记及总结