Numpy陣列變形和軸變換
阿新 • • 發佈:2021-12-17
1 JAVA基本資料型別
基本資料型別:
- 數值型:整數型別(byte,short,int,long)、浮點型別(float,double)
- 字元型(char)
- 布林型(boolean)
1.1 數值型別
1.1.1 整數型別 byte,short,int,long
- 整數型別預設值為int
- byte:佔1位元組=8個記憶體位,取值範圍-128~127
- short:佔2位元組=16個記憶體位,取值範圍約為-32***~32***"(寫全我也記不住,所以就記3萬2千多就好了)
- int:佔4位元組=32個記憶體位,取值範圍約為-21億~21億
- long:佔8個位元組=64個記憶體位,取值範圍為-2的64次冪~2的64次冪
- 把超過int型別長度的整數賦值給long,需要再數字末尾加上大寫的L(推薦)或小寫的l,如果整數未超int範圍,則可以不加L
byte b = 127; byte b = 128;// 超範圍,報錯 short s = 32000; short s = 40000; // 超範圍,報錯 int i = 1234567890; int i = 12345678901; // 超範圍,報錯 long l1 = 12345678910L; long l2 = 1234567891L; long l3 = 1234567891; System.out.println(l1);// 12345678910 System.out.println(l2);//1234567891 System.out.println(l3);// 1234567891
拓展:整型不同進位制的賦值
int n1 = 10;// 十進位制
int n2 = 010;// 八進位制,以0開頭
int n3 = 0x10;// 十六進位制,以0x開頭
int n4 = 0b10;// 二進位制,以0b開頭
int n1 = 10;// 十進位制 int n2 = 010;// 八進位制 int n3 = 0x10;// 十六進位制 int n4 = 0b10;// 二進位制 System.out.println("十進位制 10 :"); System.out.print(n1);//10 System.out.println("八進位制 010 :"); System.out.print(n2);//8 System.out.println("十六進位制 0x10 :"); System.out.print(n3);//16 System.out.println("二進位制 0b10 :"); System.out.print(n4);//2
1.1.2 浮點型別float,double
- 浮點型別預設值是double
- 浮點型別有float和double兩種,float佔4位元組,double佔8位元組
- float型別需要在末尾追加F或f,double型別因浮點預設型別是double,可以追加D或d,也可以不加
- float型別有效數字只有6~7位,有效數字超多7位的float會精度丟失
- double型別有效數字只有15~16位
- PS:有效數字是指從左往右第一個不是0的數字開始到末尾的所有數字。例如:0.001023,有效數字為4位
float f1 = 3.1415926F; System.out.println("3.1415926F≈"+f1);// 3.1415926F≈3.1415925 丟失精度 float f2 = 3.14159F; System.out.println("3.14159F="+f2);// 3.14159F=3.14159 double d1 = 3.1415926; System.out.println("3.1415926="+d1);// 3.1415926=3.1415926 double d2 = 3.14159265358979323846264338327950288D; System.out.println("3.14159265358979323846264338327950288D≈"+d2);// 3.14159265358979323846264338327950288D≈3.141592653589793 丟失精度
1.2字元型別char
- 字元型別char,單引號內的單個字元
- char型別只能儲存一個字元,不能多也不能少,包括空格字元
- 不能儲存空字元
- 不能儲存多個空格
- char型別輸出的時候只展示字面常量,但是實際儲存是儲存的該字面常量對應的unicode數字
- char型別可以以其對應的編碼數字直接用+號和數字字面常量進行計算,也可以直接和數字型別相互轉換
char c1 = 'a'; System.out.println(c1); char c2 = 'A'; System.out.println(c2); char c3 = '1'; System.out.println(c3); char c4 = '?'; System.out.println(c4); char c5 = ''; // 會報錯,不能儲存空字元 char c6 = ' ';// 會報錯,不能儲存多個空格 char c7 = '\n';// 轉義符 System.out.println("aaa"+c7+"bbb"); System.out.println("換行轉義符:換行"); System.out.println("aaa\nbbb"); System.out.println("製表符:自動對齊8個字元的整數倍"); System.out.println("aaa\tbbb"); System.out.println("退格符:回退一格開始列印"); System.out.println("aaa\bbbb"); System.out.println("單引號和雙引號:"); System.out.println("aaa\'bbb\""); System.out.println("轉義反斜槓\\"); System.out.println("aaa\\bbb"); System.out.println("char型別輸出的時候只展示字面常量,但是實際儲存是儲存的該字面常量對應的unicode數字:"); char c8 = 'a'; System.out.println(c8);// a System.out.println("char型別可以以其對應的編碼數字直接用+號和數字字面常量進行計算:"); System.out.println(c8+1);// 98 System.out.println("也可以直接和數字型別相互轉換:"); int i1 = (int) c8; System.out.println("int i1 = (int) c8 輸出i1為:"+i1);// int i1 = (int) c8 輸出i1為:97 char c9 = (char) 65; System.out.println("char c9 = (char) 65 輸出c9為:"+c9);// char c9 = (char) 65 輸出c9為:A System.out.println("面試題:"); System.out.println("\'2\'+2=?"); int v1 = '2'+2; System.out.println(v1);// 52 char v2 = '2'+2; System.out.println(v2);// 4 //'2'對應的accii值為50,50+2=52,52對應的字元為4
1.3布林型別boolean
- 布林型別只有兩個值,true和false
- 不支援大寫的TRUE和FALSE
boolean b1 = true; //boolean b2 = TRUE; // 報錯 boolean b3 = false; System.out.println(b1);// true System.out.println(b3);// false