java基礎 02資料型別

2021-09-09 02:48:36 字數 1730 閱讀 1328

string的雜湊計算公式為 s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

取31為權:主要是因為31是乙個奇質數,所以31*i=32*i-i=(i<<5)-i,這種位移與減法結合的計算相比一般的運算快很多。

宣告陣列

string arrstr = ; // 推薦這種宣告方式: 型別 變數

string arrstr2 = ; // 型別 變數 是c++風格的。

system.out.println(arrays.tostring(arrstr) ); // 輸出陣列元素

system.out.println( arrays.tostring(arrstr2));

arrays工具類:

arrays.tostring(arrar):返回陣列所有元素

arrays.fill(array, 5):使用5填充所有的陣列元素

arrays.sort(array1):對整個陣列排序

arrays.equals(array, array1):比較陣列array和array1的值是否相同

arrays.binarysearch(array, key):通過二分查詢,key是否在array中

為什麼獲取陣列的長度用 .length (成員變數的形式),而獲取string的長度用 .length() (成員方法的形式)?」

因為陣列的長度存在物件頭中,陣列本身是沒有length成員變數的。

列舉的定義和使用

//定義列舉型別,使用關鍵字enum

enum day

// 使用列舉

day day =day.monday;

列舉的實現原理

//反編譯day.class

final class day extends enum

//前面定義的7種列舉例項

public static final day monday;

public static final day tuesday;

public static final day wednesday;

public static final day thursday;

public static final day friday;

public static final day saturday;

public static final day sunday;

private static final day $values;

static );}

}

對於有符號數而言:

我們可以使用bigdecimal來表示金額,或者是通過將金額的單位變小用整數來表示金額。

// 建議優先使用string構造方法。不要使用double型別的建構函式,否則還是會轉為多精度的小數

bigdecimal ba = new bigdecimal("0.03"); // 直接用string

bigdecimal bb = new bigdecimal(double.tostring(0.02)); // double轉為string

system.out.printf("%s-%s = %s \n",ba.tostring(),bb.tostring() , ba.subtract(bb));

Java 基礎學習02 資料型別轉換

上述規則用幾個例子來解釋 int a 1 short sh1 1 short sh1 sh1 1 錯誤 int c a sh1 正確 short sh2 a sh1 錯誤 long l1 111111111111l long l2 111111111111l long l3 l1 l2 正確大容器承...

Python基礎 02 資料型別

二進位制 八進位制 十六進製制 計算機中的資料,是以哪種進製儲存的?為什麼?計算機中的資料如何儲存?原碼反碼和補碼 列表 list 通過進行定義,可以儲存一系列的任意資料,可以新增刪除元素 lt 1,3.14,hello print lt print type lt 提取元素,下表從0開始,存在越界...

java基礎資料型別

基礎資料型別 byte 位元組 8bit 8 個二進位制位 0 2 8 256 128 127 short 短整型 16bit 02 16 65536 32768 32768 int 整型 32bit 02 32 2147483648 2147483648 long 長整型 64bit 02 64 ...