java基礎語法(3)資料型別及拓展
阿新 • • 發佈:2021-01-12
-
強型別語言:變數的使用要嚴格符合規定,所有變數都必須先定義後才能使用。(安全性高,速度較慢)
弱型別語言:變數的使用不用完全符合規定(JavaScript),書寫較隨意。
-
資料型別:
基本型別(primitive type):
數值型別:整數型別:{byte佔1個位元組範圍(-128-127);
short佔2個位元組範圍(-32768-32767);
int佔4個位元組範圍(-2147483648-2147483647);
long佔8個位元組範圍(-9223372036854775808-9223372036854775807)};
浮點型別(小數):{float佔4個位元組;double佔8個位元組};
字元型別:char佔兩個位元組;
Boolean型別:佔一位其值只有true和false。
引用型別:類、介面、陣列。
public class Demo02 {
public static void main(String[] args) {
//八大基本資料型別
//整數
int num1 = 100000; //最常用 對應的類Interger內寫了數的範圍-2的31次方到2的31次方
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long型別要在數字後面加個L
//小數:浮點數
float num5 = 50.1F;
double num6 = 3.141592657587932;
//字元
char name = 'A';
//字串:String不是關鍵字,是一個類
String namea = "百里守約";
//布林值:是非
boolean flag = true;
//boolean flag = false;
}
}
-
位:計算機內部資料儲存的最小單元,11001100是一個8位二進位制數。(bit)
位元組:計算機中資料處理的基本單位,一般用B表示。(byte)
1B(位元組,byte)=8bit(位)
作業系統:32位和64位,記憶體中的定址能力不同,32位只能支援4G的記憶體,64位能支援128G記憶體。
-
資料型別擴充套件:
public class Demo02 {
public static void main(String[] args) {
//整數拓展: 進位制 二進位制0b 十進位制 八進位制0 十六進位制0x 進位制開頭的標誌
int i = 10;
int i2 = 010; //八進位制0
int i3 = 0x11; //十六進位制0x 0-9 A-F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("============================================");
//===========================================================
//浮點數拓展:銀行業務,計算錢數
//一般銀行業務都用BigDecimal這個類來比較
//float 能表示的數位是有限的(有的數是無限迴圈的) 離散 舍入誤差 是一個接近 大約 但不等於的數
//double
//最好不使用浮點數進行比較
float f = 0.1f; //0.1
double d = 1.0/10; //0.1
System.out.println(f==d); //false
float d1 = 23132323234344234123f;
float d2 = d1 + 1;
System.out.println(d1=d2); //true
//==============================================
//字元拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //強制轉換
System.out.println(c2);
System.out.println((int)c2); //強制轉換
// 所有字元本質上還是數字,都是通過Unicode編碼,佔2個位元組,可表示65536個字元甚至更多,2的16次方(Excel表格的最大長度)
// Unicode編碼表可以查到字元與數字的對映表,U0000-UFFFF,97代表a,65代表A;
char c3 = '\u0061'; //\u代表轉義字元
System.out.println(c3);
//轉義字元: \t 製表符 \n 換行
System.out.println("hello\tworld");
System.out.println("==============================================");
String sa = new String(original:"hello world");
String sb = new String(original:"hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
//物件 從記憶體分析,從底層分析為什麼眼睛看到一樣的東西,在程式裡卻不一樣
//布林值擴充套件
boolean flag = true;
if (