1. 程式人生 > 實用技巧 >java基礎語法(3)資料型別及拓展

java基礎語法(3)資料型別及拓展

java基礎語法(3)

  1. 強型別語言:變數的使用要嚴格符合規定,所有變數都必須先定義後才能使用。(安全性高,速度較慢)

    弱型別語言:變數的使用不用完全符合規定(JavaScript),書寫較隨意。

  1. 資料型別:

基本型別(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;

}
}
  1. 位:計算機內部資料儲存的最小單元,11001100是一個8位二進位制數。(bit)

    位元組:計算機中資料處理的基本單位,一般用B表示。(byte)

    1B(位元組,byte)=8bit(位)

    1bit表示一位;一位元組表示8位;1024B=1KB;1024KB=1M;1024M=1G.

作業系統:32位和64位,記憶體中的定址能力不同,32位只能支援4G的記憶體,64位能支援128G記憶體。

  1. 資料型別擴充套件:

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 (flag==true){};
if(flag){}; //if中的值 預設是true;
}
}