首页 > 代码库 > 《疯狂Java讲义》(五)---- 数据类型

《疯狂Java讲义》(五)---- 数据类型

一  注释

单行注释://

多行注释:/*   */

文档注释:/**

     */  

  由于只有public或protected修饰的内容才是希望暴露给别人使用的内容,而API文档主要是向使用者提供信息,因此javadaoc默认只处理public或protected修饰的内容,如果开发者确实希望javadoc工具可以提取private修饰的内容,则可以在使用javadoc工具时增加-private选项。

  javadoc工具默认不会提取@author和@version两个标记的信息,如果需要,应该在使用javadoc工具时指定-author 和 -version两个选项。

 

二 数据类型

  •   基本类型(primitive type):
    1.  boolean类型 1位
    2.    数值类型:
      1.   整数类型(默认整数是int)
        1.   byte   1字节    -2^7 ~ 2^7-1
        2.       short    2字节   -2^15 ~ 2^15-1
        3.       int         4字节   -2^31 ~ 2^31-1
        4.       long       8字节   -2^63 ~ 2^63-1
        5.       char       2字节
      2.      浮点类型(默认浮点数是double)
        1.   float       4字节 (第1位是符号位,接下来8位表示指数,再接下来2位表示尾数)
        2.      double    8字节  (第1位是符号位,接下来11位表示指数,再接下来52位表示尾数)
  •   引用类型(reference type): 
    1.   类
    2.      接口
    3.      数组
    4.      null
  •   二进制整数

    计算机以补码的形式保存所有整数。补码计算规则:正数的补码和原码完全相同,负数的补码是其反码加一,反码是对原码按位取反,只是最高位(符号位)保持不变。

  •   无穷大

    正无穷大:Double.POSITIVE_INFINITY  or Float.POSITIVE_INFINITY

    负无穷大:Double.NEGATIVE_INFINITY  or Float.NEGATIVE_INFINITY

    非数:Double.NaN or Float.NaN

    

    所有的正无穷大数值都是相等的,所有的负无穷大数值都是相等的;而NaN不与任何数值相等,甚至和NaN都不相等。

    只有浮点数除以0才可以得到正无穷和负无穷大,因为Java会自动把除数0当成0.0处理。但是如果一个整数值除以0,则会抛出异常:java.lang.ArithmeticException: / by zero

 

    eg:   

public class TestDate {

    public static void main(String[] args) {
        /*
         * Date date = new Date(1474496229424L); System.out.println(date);
         */

        float af = 5.2345556f;
        System.out.println(af);
        double a = 0.0;
        double c = Double.NEGATIVE_INFINITY;
        float d = Float.NEGATIVE_INFINITY;
        System.out.println(c == d);
        System.out.println(a / a);
        System.out.println(a / a == Float.NaN);
        System.out.println(6.0 / 0 == 555.0 / 0);
        System.out.println(-8 / a);
        System.out.println(0 / 0);
    }

}

输出结果:

5.2345557
true
NaN
false
true
-Infinity
Exception in thread "main" java.lang.ArithmeticException: / by zero
at com.citi.icg.portal.resource.service.impl.TestDate.main(TestDate.java:22)

 

  • Java7新增数值中使用下划线

  通过使用下划线分隔数值,可以更直观地分辨数值常量中到底包含多少位。

 

 

    

 

 

  

 

《疯狂Java讲义》(五)---- 数据类型