Java中有8种基本数据类型:int, short, long, byte, float, double, char, boolean
在Java中,整型的范围与运行java代码的机器无关。在C/C++程序中,int类型占用的字节可能会因不同机器不同操作系统而不同;而在java中,各种整型的存储需求已经被明确定义(int: 4 bytes; short: 2 bytes; long: 8 bytes; byte: 1 byte),从而实现了平台无关性。
常用整型、浮点型常量:
l Integer.MAX_VALUE
l Ingeger.MIN_VALUE
l Double.POSITIVE_INFINITY (正无穷大)
l Double.NEGATIVE_INFINITY (负无穷大)
l Double.NaN (Not a number)
PS: 判断一个特定值是否等于Double.NaN:
if (x == Double.NaN) //is never true
Should use:
if (Double.isNaN(x)) // check whether x is “Not a number”
char 类型用于表示Unicode编码的字符单元。Unicode可表示为16进制值,从"u0000到"uffff。
关于Unicode: 在Unicode出现前,已经有了很多的字符编码标准(如美国的ASCII, 西欧的ISO 8859-1, 俄罗斯的KOI-8, 中国的GB118030和BIG-5,etc),这样造成了两个问题:a). 对于给定的代码值,不同的编码方案下可能对应不同的字母; b). 采用大字符集的语言其编码长度可能不同,e.g., 有些常用的字符采用单字节编码,而另一些字符则需要两个或更多字节。设计Unicode就是为了解决这些问题。但遗憾的是,经过一段时间,Unicode字符超过了65536个,现在,连16位的char类型也已经不能满足所有Unicode字符的需求了。强烈建议不要在程序中用char类型。
当将一个字符串和一个非字符串的值进行拼接时,后者被转换成字符串。E.g:
int age = 24;
String s = “abce” + age; //age被转换成字符串,结果为“abcd24”。
采用字符串连接的方式时,每次连接字符串,都会构建一个新的String对象,既耗时又浪费空间。可以使用StringBuilder代替:
StringBuilder builder = new StringBuilder();
builder.append(ch/str);
其前身是StringBuffer。StringBuffer效率稍低,但支持多线程。StringBuilder不支持多线程,从而效率也较高。
posted on 2010-10-02 17:22
li40204 阅读(201)
评论(0) 编辑 收藏 所属分类:
Java