Thinking In Java 4th Chap2 一切都是对象

对基本数据类型的初始化有二:

  1.String s="asdf";

  2.String s=new String("asdf");

可能的存储区域:

  寄存器(不可如c/c++进行控制)

  堆栈(对象引用,对象本身不在此处)

  堆(对象存放地)

  常量存储(代码内部/只读存储器)

  非RAM存储(流对象/持久化对象)

基本类型:

                

                                  

                      

基本类型 大小 最小值 最大值 包装器类型 默认值
boolean -- --  -- Boolean false
char 16-bit Unicode o Unicode 2^16-1 Character null
byte  8 bits -128 +127 Byte (byte)0
short 16 bits -2^15 +2^15-1 Short (short)0
int  32 bits    -2^31  +2^31-1   Integer 0
long  64 bits  -2^63  +2^63-1    Long 0L
float 32 bits   IEEE754  IEEE754   Float  0.0f
double 64 bits   IEEE754 IEEE754 Double 0.0d
void  --   --   --  Void  

                                 

                              

                                                      

                                            

                                         

                                

                                                            

 

高精度数字BigInteger和BigDecimal:(任意大小,任意精度,速度较慢)

 1 //BigInteger:
 2 
 3   import java.math.BigInteger;
 4   //每一个数都是类中的一个对象:
 5 
 6   BigInteger add1=new BigInteger("10");
 7   //所有计算必须调用方法:
 8   add1.negate();//相反数
 9   add1.add(new BigInteger("20"));//加法
10   add1.subtract(new BigInteger("20"));//减法
11   add1.multiply(new BigInteger("20"));//乘法
12   add1.divide(new BigInteger("20"));//除法
13   add1.remainder(new BigInteger("20"));//取模
14   BigInteger mod = new BigInteger ("10");//快速幂取模
15   BigInteger pow = new BigInteger ("20");
16   System.out.println(pow.modPow(pow,mod));
17    add1.compareTo(new BigInteger("18"));//比较大小,小于-1,大于1,等于0
18    add1.pow(10);//幂运算
19   add1.min(new BigInterger("-10"));//较小数
20   add1.max(new BigInteger("100"));//较大数
21    add1.gcd(new BigInteger("6"));//最大公约数
22   add1.and(new BigInteger("10"));//按位与
23    add1.or(new BigInteger("10"));//按位或
24   add1.xor(new BigInteger("10"));//异或 
25   add1.toString(2));//进制转换,返回n进制字符串
26   add1.abs();//绝对值
27    add1.testBit(2);//检测某位上是否为1
28    add1.shiftLeft(1);//左移n位
29   add1.shiftRight(1);//右移n位
30    add1.not();//
31    int p=2;
32   BigInteger add1 =BigInteger.ValueOf(p);//int转化为BigInteger
33    int temp=add1.intValue();//BigInteger转化为int

Java自带的垃圾回收器能自动识别和销毁无用对象,故无需像c++一样手动delete,也没有内存泄漏的风险

类库名称原则:反转域名,如:net.mindview.utility.foibies

Java没有“向前引用”问题,即使调用的类在当前代码之后定义仍然可行

  如果需要明确调用的是哪个包中的类:import java.util.ArrayList;

  如果需要调用某个包中的一群类:import java.util.*;

static关键字

  凡被static标识的变量,无论有多少对象,都仅共同占有一份存储空间:

    static int i;

    /********/

    StaticTest st1.i=47;

    StaticTest st2.i++;

    //output: i=48

  静态方法可以通过它的类直接调用:Incrementable.increment();

Javadoc:(只能注释public和protected成员,最后输出HTML文件)

  /** 欲引入Javadoc的内容

  *@see classname或@see fully-qualified-classname#methodname

  *{@link package.class#member label}(与@see基本一致)

  *{@docRoot}产生到文档根目录的相对路径

  *{@inheritDoc}从当前类的直接基类继承相关文档

  *@version version-information

  *@author author-information

  *@since 最早版本

  *@param 方法中parameter-name discription

  *@return 返回值

  *@throws 异常类名

  *@Deprecated 旧特性为新特性所取代

  *///:~(源代码清单结束)

posted @ 2019-09-08 12:56  Dragonsburg  阅读(104)  评论(0编辑  收藏  举报