您現在的位置是:首頁 > 網頁遊戲首頁網頁遊戲

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

簡介println(value)System

什麼叫數值型資料

資料型別

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

整數型

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

注意事項:

佔用的位元組數越大,取值範圍也就越大,儲存的資料也就越大

現實開發中,我們應選擇合適的資料型別,切記不要超過資料型別的取值範圍補充:開發中一般使用int型別來代替short和byte型別程式碼展示:

public class Test{

// 編寫main方法,寫法固定,程式的入口,能被虛擬機器

public static void mian(String[] args){

int age = 12;

System。out。println(“年齡為” + age);

// 輸出 年齡為 12

}

}

整數固定值常量,可包含十進位制、十六進位制和八進位制,但是不包含二進位制

程式碼展示

public class ConstantTest{

public static void main(String[] args){

// 八進位制固定值常量

int num = 017;

System。out。println(num);// 輸出為15

// 十六進位制固定值常量

int num2 = 0xFF;

System。out。println(num2);// 輸出為255

}

}

整數固定值常量預設值為int型別,int型別的取值範圍是-231~231-1 ,大約在正負21億左右,在整數固定值常量末尾加小寫“l”或大寫“L”就變為了long型別常量

建議:使用大寫“L”,因為小寫的l易與1產生混淆

public class ConstantDemo{

// 編寫main方法,寫法固定,是程式的入口,,main方法中唯一能改變的就是“args”的名字,能被虛擬機器識別並執行

public static void main(String[] args){

int num = 10000000000;

System。out。println(num); // 編譯錯誤,過大的整數

}

}

執行截圖:

注意:使用整數固定值常量時切忌不要超出int型別的取值範圍

public class ConstantTest{

public static void main(String args[]){

long num = 10000000000L;

//正確 10000000000L屬於long型別的固定值常量

System。out。println(num);

}

}

public class ConstantTest{

public static void main(String[] args){

long num = 10000000000;

System。out。println(num);// 出現編譯錯誤

}

}

public class ConstantTest{

public static void main(String[] args){

int num = 100000 * 100000;

System。out。println(num);// 預計:10,000,000,000 實際:1410065408

}

}

預計結果和實際結果不符的原因:

編譯時,100000 * 100000兩輸相乘的數都沒超出int型別的取值範圍,所以編譯執行時,兩個int型別做運算,返回的結果還是int型別

整數如何在記憶體中存取的?

儲存:把整數轉換成二進位制,然後再儲存到記憶體空間中

讀取:把記憶體中的二進位制轉為十進位制,然後再取出

畫圖說明:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

程式碼展示:

public class IntDemo{

public static void main(String[] args){

int age = 7;

System。out。println(“年齡為” + age);

}

}

浮點數

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

注意:

浮點型佔用的位元組數越大,表示的精確度就越高

佔用的位元組數越大,並不意味著取值範圍就越大

double表示小數更高,現實開發中,一般使用double較多

因為小數儲存方式不同,儘量不要對小數做特別精確的計算

public class DoubleTest{

public static void main(String[] args){

// 預計輸出 0。0003 實際輸出 3。0000000000000003E-4

System。out。println(0。0001 + 0。0002);

}

}

小數固定值常量預設為double型別,在小數固定值常量末尾加上一個小寫“f”|大寫“F”,那該常量就變為了float型別的常量

程式碼展示:

public class DoubleTest{

public static void main(String[] args){

float f = 3。14;// 編譯錯誤

System。out。println(f);

}

}

截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

原因:3。14預設為double型別

程式碼展示:

public class DoubleTest1{

public static void main(String[] args){

float f = 3。14f; // 編譯成功

System。out。println(“f = ” + f);// 輸出 f = 3。14

}

}

截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

原因:因為在該小數固定值末尾加了一個小寫的“f”,那該常量就變為了float型別

小數固定值常量有哪些?

十進位制小數固定值常量 ,例如:3。14、123。45等

科學計數法表示的常量,例如:3。14E3、3。14E-3等

程式碼展示:

public class Test{

public static void main(String args[]){

float f = 3。14e3f;

System。out。println(“F = ” + f);

double d = 3。14E-3;

System。out。println(“D = ” + d);

}

}

執行截圖:

3。14e3 等效於小數點向右移動三位,結果為3140。0

3。14E-3等效於小數點向左移動三位,結果為0。00314

注意:科學計數法中的“E”可以為小寫字母“e”,也可以為大寫字母“E”

布林型(boolean)

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

使用場合:常用於條件判斷,條件成立返回true,條件不成立返回false

public class BooleanTest{

public static void main(String[] args){

boolean flag = true;

System。out。println(flag);// 輸出true

flag = false;

System。out。println(flag);// 輸出false

flag = 3>5;

System。out。println(flag); // 輸出false

flag = 3<5;

System。out。println(flag); // 輸出true

}

}

執行截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

問題:boolean型別佔幾個位元組?

答:在java規範中,沒有明確規定boolean型別的位元組數,我覺得佔1位,因為1位可以表述兩種可能,要麼為true要麼為false,也覺得佔1位元組,因為檔案儲存的最小單位就是位元組

字元型(char)

佔2個位元組,表示的是無符號的數值,取值範圍在0~65535

字元固定值常量:使用一對‘’單引號包裹起來的一個字元,稱為字元常量

public class CharTest{

public static void main(String[] args){

char c = ‘a’; // 正確

char c1 = ‘你好’; // 錯誤

char c2 = ‘號’;// 正確

char c3 = ‘11’;// 錯誤

char c4 = ‘9’; //正確

char c5 = ‘ ’;// 正確

char c6 = ‘’;// 錯誤

}

}

1

2

3

4

5

6

7

8

9

10

11

注意:

char,佔2個位元組,可儲存65536個字元,一個英文|中文字元在記憶體中佔兩個位元組

字元和字串的關係:

字元和字串有著密切聯絡,字串由多個任意的字元組成,類似羊肉和羊肉串的關係。

字串(String)

在Java中,String型別(字串型別)屬於引用資料型別

字串固定值常量:使用一對雙引號“”包裹起來的內容(任意多個字元),我們稱為字串常量

程式碼展示:

public class StringDemo{

public static void main(String[] args){

String name = “Java”;

String hobby = “打籃球”;

String nullStr = “”;

String eng = “hello World”;

System。out。println(“我的名字為” + name); // 我的名字為Java

System。out。println(“我的愛好為” + hobby);// 我的愛好為打籃球

System。out。println(nullStr);// 空串

System。out。println(eng);// hello World

}

}

1

2

3

4

5

6

7

8

9

10

11

12

執行結果:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

字串的特點:

字串和別的資料型別做“+”操作,實際上做的就是連線符操作(拼接操作),並且返回的結果是String型別(字串型別)

分析:String str = “Hello” + 10;

描述:先將10從int型別隱式型別轉換轉換為String型別,然後將轉換出來的“10”與“Hello”做拼接操作

public class StringDemo{

public static void main(String[] args){

String str = “Hello” + 10;

System。out。println(str);// 輸出Hello10

String str1 = 20 + “Hello” + 10;

System。out。println(str1);//輸出 “20Hello10”

// 經常 “+” 使用於以下類似場合

int age = 15;

System。out。println(“年齡為” + age);// 輸出年齡為 15

}

}

1

2

3

4

5

6

7

8

9

10

11

執行截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

字元是如何在記憶體中儲存的?

思路:根據編碼表,查詢字元(數字、字母)所對應正整數

儲存:把需要儲存的字元對照編碼表,然後找到字元所對應的正整數,最後將該正整數轉換為二進位制,存入記憶體對應的儲存空間中—>編碼

讀取:透過變數名找到對應儲存空間中的數值,然後將數值從二進位制轉換為十進位制,在將十進位制的數值對照編碼表取出對應的字元–>解碼

畫圖分析:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

程式碼展示:

public class CharDemo{

public static void main(String[] args){

char c = ‘a’;

System。out。println(c);

}

}

注意:字元無法直接轉換為二進位制,只有數值可以

輸出語句能輸出什麼內容?

System。out。println(value)

System。out。print(value)

輸出的Value就是資料,指的是常量 | 變數資料

常見的編碼表

ASCII:用來現實現代英語和西歐語言的編碼表

GBK:用來表示中文用的編碼

Unicode:萬國碼、統一碼

核心:Unicode編碼表幾乎包含了全世界所有的語言

注意:

java採用的是Unicode編碼表,意味著java幾乎能使用全世界所有的語言,例如:識別符號可以使用中文表示,但是不建議使用中文

public class 哈哈{

public static void main(String[] args){

System。out。println(“Hello World”);

}

}

執行截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

ASCII和Unicode編碼表

ASCII編碼表前128位和Unicode編碼表前128位一模一樣

‘0’ ——對應的正整數為——> 48

‘a’——對應的正整數為——> 97

‘A’——對應的正整數為——>65

幫助記憶:

英文字母(AZ,az):大寫字母(az)和小寫字母(AZ)相差32,a表示97,A表示65,每次增1

正整數(0~9):0表示48,1表示49,每次增1

程式碼展示:

public class CharTest{

public static void main(String[] args){

System。out。println((int)‘a’);//97

System。out。println((int)‘b’);//98

System。out。println((int)‘B’);//66

System。out。println((int)‘A’);//65

System。out。println((int)‘1’);//49

System。out。println((int)‘0’);//48

}

}

執行截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

如何檢視char型別的字元所對應的正整數?

使用強制型別轉換

程式碼展示

public class CharTest{

public static void main(String[] args){

System。out。println((int)‘a’);//97

}

}

使用int型別的變數來接受

程式碼展示:

public class CharTest{

public static void main(String[] args){

int charInt = ‘a’;

System。out。println(charInt);//97

}

}

Int型別和Char型別的區別

共同點:int 型別和char 型別在記憶體中儲存的都是整數

正因為此共同點,意味著int型別和char型別可以互相裝換

int型別–轉為–>char型別

要求:int型別必須為正整數,並且未超過char型別的取值範圍(0~65535),char型別強調的是無符號

char–轉為–>int型別

要求:沒有任何要求,所有的char型別的字元都可轉換為int型別

程式碼展示:

// char —— 轉為 —— >int 型別

public class CharIntDemo{

public static void main(String[] args){

System。out。println((int)‘a’);

int charInt = ‘0’;

System。out。println(charInt);

}

}

程式碼展示:

// int ——轉為——>char型別

public class CharIntDemo{

public static void main(String[] args){

System。out。println((char)75);// K

System。out。println((char)48);// 0

char c = 78;

System。out。println(c);// N

char c1 = 49;

System。out。println(c1); // 1

}

}

執行截圖:

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

不同點:

int型別佔用4個位元組,char型別佔用2個位元組,int型別的取值範圍比char型別大

char型別強調的是無符號,int型別強調的是有符號,int型別在記憶體中可以儲存正|負整數,char型別在記憶體中只能存正整數,不能存負整數

基礎:Java中的基本資料型別講解(數值型、字元型、布林型)

原文連結:https://blog。csdn。net/qq_41473905/article/details/103175239

Top