6.java資料型別
阿新 • • 發佈:2021-01-25
技術標籤:java
強型別語言
要求變數的使用要嚴格符合規定,所有變數都必須先定義後才能使用
優點:安全性高、速度性慢
位元組
位(bit):是計算機內部資料儲存的最小單位,11001100是一個八位二進位制數
1bit表示1位
1Byte表示一個位元組 1B = 8b
1024B = 1KB
1024KB = 1M
1024M = 1G
擴充套件
public class Demo03 {
public static void main(String[] args){
//整數拓展: 進位制 二進位制0b 十進位制 八進位制0 十六進位制0x
int i = 10;
int i2 = 010; // 八進位制0
int i3 = 0x10; //十六進位制0x 0~9 A~F 16
System.out.println(i); //10
System.out.println(i2); //8
System.out.println(i3); //16
System.out.println("=============================");
// 浮點數擴充套件? 銀行業務怎麼表示? 錢: BigDecimal
// float 有限 離散 舍入誤差 大約 接近但不等於
// double
// 最好完全使用浮點數進行比較
float f = 0.1f;
double d = 1.0/10;
//前面打一個紅點就是除錯了,執行時在紅點處停止,點Debug
System.out.println(f == d); //false
System.out.println(f);
System.out.println(d);
float d1 = 231313123112312313f;
float d2 = d1 + 1;
System. out.println(d1 == d2); // true
System.out.println("=============================");
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); // 強制轉換
System.out.println(c2);
System.out.println((int)c2);
//所有的字元本質還是數字,char涉及到編碼問題
//編碼:Unicode表,2位元組,0~65536,最早的Excel只有2**16=65536
// 從U0000到UFFFF
char c3 = '\u0061';
System.out.println(c3); //a
System.out.println("=============================");
//轉義字元
// \t 製表符
// \n 換行
System.out.println("Hello\t\nworld!");
System.out.println("=============================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb); // false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd); // true
// 物件 從記憶體分析
System.out.println("=============================");
// 布林值擴充套件
boolean flag = true;
if (flag){}
if (flag == true){}
// Less is More! 程式碼要精簡易讀
}
}
強制型別轉換
public class Demo06 {
public static void main(String[] args){
//操作比較大的數的時候,注意溢位問題
//JDK7新特性,數字之間可以用下劃線分割
int money = 10_0000_0000;
int years = 20;
int total = money * years;
System.out.println(money);
System.out.println(total); //-1474836480,計算的時候溢位了
long total2 = money * years; //預設是int
System.out.println(total2); //-1474836480,計算的時候先計算好在轉換
long total23 = money * ((long)years); //20000000000,先把一個數轉換為long
System.out.println(total23);
}
}