shenang博客技術文檔


          理論不懂就實踐,實踐不會就學理論!

          posts - 35,comments - 55,trackbacks - 0
           

                                                  Java核心技術8總結()

          1、常量

          (1)    main中的常量 final int a=1;

          (2)    類常量 private final int a=1; 同一個類的其他方法中也可以使用這個常量.如果聲明為:public ,剛其它類的方法也可以使用這個常量。

          2、Java數據類型

          float   4 字節   32IEEE 754單精度有效數字6-7
          double  8
          字節  64IEEE 754雙精度有效數字15
          byte  1
          字節     8 -128127
          short  2
          字節   16 -32,76832,767
          int   4
          字節    32 -2,147,483,6482,147,483,647
          long  8
          字節    64-9,223,372,036,854,775,8089,223,372,036, 854,775,807
          char  2
          字節  整個Unicode字符集
          boolean 1
             True或者false

          3、代碼點與代碼單元

          (1)Length 代碼單元數量 如:

          (2)實際的長度,即代碼點數量 codepointcount

          (3)s.charAt(n) 將返回位置n的代碼單元,n介于0s.length()-1之間

          (4)要想得到第i個代碼點,應該使用下列語句

          也可直接使用 int cp=greeting.codePointAt(i) i介于0s.length()-1之間

          4、構建字符串

          用字符串連接的方式達到此目的效率比較低。每次連接字符串,都會構建一個新的String對象,既耗時,又浪費空間。使用StringBuilder類就可以避免這個問題的發生

          StringBuilder builder=new StringBuilder();

              builder.append(a);

              builder.append(b);

              System.out.println(builder.toString());

          StringBuilder()

          構造一個空的字符串構建器。

          int length()

          返回構建器或緩沖器中的代碼單元數量。

          StringBuilder append(String str)

          追加一個字符串并返回this

          StringBuilder append(char c)

          追加一個代碼單元并返回this

           StringBuilder appendCodePoint(int cp)

          追加一個代碼點,并將其轉換為一個或兩個代碼單元并返回this

           void setCharAt(int i,char c)

          將第i個代碼單元設置為c

          StringBuilder insert(int offset,String str)

          offset位置插入一個字符串并返回this

          StringBuilder insert(int offset,Char c)

          offset位置插入一個代碼單元并返回this

          StringBuilder delete(int startIndex,int endIndex)

          刪除偏移量從startIndex到-endIndex1的代碼單元并返回this

          String toString()

          返回一個與構建器或緩沖器內容相同的字符串。

          5、使用掃描器

          Scanner scanner=new Scanner(System.in);

                 System.out.println("please add you name:");

                 String name=scanner.nextLine();

                 System.out.println("how old are you:");

                 int age=scanner.nextInt();

                 System.out.println("hello,"+name+",you age is "+age);

          boolean hasNext( )

          檢測輸入中是否還有其他單詞。

          boolean hasNextInt( )
          boolean hasNextDouble( )

          檢測是否還有表示整數或浮點數的下一個字符序列。

          6、大數的計算

          如果基本的整數和浮點數精度不能夠滿足需求,那么可以使用java.math包中的兩個很有用的類:BigIntegerBigDecimal。這兩個類可以處理包含任意長度數字序列的數值。BigInteger類實現了任意精度的整數運算,BigDecimal實現了任意精度的浮點數運算。

          BigInteger add(BigInteger other) 
          BigInteger subtract(BigInteger other)

          BigInteger multiply(BigInteger other)

          BigInteger divide(BigInteger other) 

          BigInteger mod(BigInteger other) 

          int compareTo(BigInteger other) 相等返回0,小于返負,大于返正

          7、數組

          (1)    將一個數組變量拷貝給另一個數組變量。這時,兩個變量將引用同一個數組。

          (2)    如果希望將一個數組的所有值拷貝到一個新的數組中去,就要使用Arrays類的copyOf方法:

          System.arrycopy(a,0,b,2,1) //a數組從0開始的值復制到b數組從2開始的值,共復制1

          3)彩票原理

          Int n=???

          Int[] num=new int[n];

          For(int i=0;i<n;i++)

          {

          Num[i]=i+1;

          }

          Int[] res=new int[k];

          For(int i=0;i<res.length;i++){

           Int r=(int)(math.random)*n;

          Res[i]=num[r];

          Num[r]=num[n-1];

          n--;

          }

          Arrays.sort(res);

          For(int r:res){

          System.out.println(r);

          }

           

           

          posted on 2009-04-13 13:02 重慶理工小子 閱讀(368) 評論(0)  編輯  收藏 所屬分類: JAVA基礎
          主站蜘蛛池模板: 北安市| 沧州市| 双桥区| 都江堰市| 太仆寺旗| 昌黎县| 呼图壁县| 额济纳旗| 安化县| 沭阳县| 星子县| 洪洞县| 延川县| 衡东县| 永川市| 肥城市| 临安市| 皋兰县| 嵊州市| 台湾省| 合山市| 陈巴尔虎旗| 清徐县| 湖南省| 红河县| 前郭尔| 如东县| 洞口县| 云安县| 泸西县| 时尚| 桦川县| 上蔡县| 永兴县| 焦作市| 瑞昌市| 怀安县| 陵水| 平乐县| 彭泽县| 兰坪|