資料型別擴充套件即面試題
阿新 • • 發佈:2021-02-01
技術標籤:java
資料型別擴充套件即面試題
整數型
二進位制:前面加個0b,例如0b1011即是十進位制的11.
八進位制:前面加0,例如010,表示十進位制的8.
十進位制:正常表示
十六進位制:前面加0x,例如0x11,表示十六進位制的17.
浮點數
float型變數賦值後面要加個f,例如float f=0.1f;
最好避免使用浮點數比較,浮點數有舍入誤差,像銀行類的程式中,錢數就不能使用浮點數比較。
字元型
字元的本質還是數字,有一個unicode表,上面有65536個數字,每個數字表示一個字元。
字元型可強制轉換為整數型。
布林值
布林型一共兩個值,true或false,if(flag)等價於if (flag = true)。
public class Shujuleixing_mianshi {
public static void main(String[] args) {
//整數拓展: 進位制 二進位制0b 十進位制 八進位制0 十六進位制0x
int i=10;
int i2=010;
int i3=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out. println("==============================");
//========================================================
//浮點數拓展? 銀行業務怎麼表示? 錢
//BigDecimal 數學工具類
//========================================================
//float 能表示的位數有限 它是離散的 有舍入誤差 大約 接近但不等於
//double
//最好完全避免使用浮點數比較
//最好完全避免使用浮點數比較
//最好完全避免使用浮點數比較
float f=0.1f;
double d=1.0/10;
System.out.println(f==d);//false
System.out.println(f);
System.out.println(d);
float d1=23123234123124f;
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);//強制轉換
//所有的字元本質還是數字
//編碼 Unicode 表:(97=a 65=A) 2位元組 0-65535 2的16次方=65536
//U0000 UFFFF
char c3='\u0061';
System.out.println(c3);//a
//轉義字元
// \t 製表符
// \n 換行
//。。。。還有很多
System.out.println("Hello\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
//物件 從記憶體分析
//布林值擴充套件
boolean flag=true;
if (flag = true) { }//新手
if(flag){ }//老手
//Less is More!——更多的就是更少的 程式碼要精簡易讀
}