随笔-10  评论-3  文章-0  trackbacks-0
 

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),从而实现了平台无关性。

常用整型、浮点型常量:

Integer.MAX_VALUE

Ingeger.MIN_VALUE

Double.POSITIVE_INFINITY (正无穷大)

Double.NEGATIVE_INFINITY (负无穷大)

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, 中国的GB118030BIG-5etc),这样造成了两个问题: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 阅读(194) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: