🎇前言🎇:
在初步認識Java是什么之后,接下來便來到了語法學習中的重要部分資料型別與運算子,希望大家能有所識訓,
目錄
🎇前言🎇:
?資料型別?
💎資料型別和變數💎
💎整型變數💎
💎長整型變數💎
💎雙精度浮點型變數💎
💎單精度浮點型變數💎
💎位元組型變數💎
💎字符型變數💎
💎短整型變數💎
💎布爾型別變數💎
💎字串型別變數(重點)💎
💎常量💎
💡字面值常量:
💡final 關鍵字修飾的常量:
💎型別轉換 💎
🔑:隱式型別轉換
🔑:強制型別轉換
?資料型別?
在開始之前請大家看看下面這張圖,建立起對資料型別認知的總框架,

本篇博客著重講解基本資料型別,至于參考資料型別后期會進行講解,
💎資料型別和變數💎
在學習資料型別之前大家一定要知道,資料型別是用來干嘛的?這就不得不去了解資料型別和變數之間的關系,
💡:1:資料型別是用來定義變數的,
2:資料型別決定了創建這個變數時所分配記憶體空間的大家
3:資料型別同時還決定了存放的內容,不同的資料型別存放不同型別的資料
而變數又是什么?
我們可以把變數想象為一個箱子,自然它就有型別和大小,它是一塊用來存盤資料的容器,
💎整型變數💎
定義方法:
int 變數名=初始值;
使用方法
int a=10;
System.out.println(a);
空間大小:
int型變數占4個位元組大小的空間,4個位元組所表示的資料的范圍是 -2^(31)-2^(31)-1
什么是位元組?
位元組是計算機中表示空間記憶體大小的最小單元,
計算機使用二進制存盤資料,一個位元組表示8個位元位,
💡:重點:Java語言具有良好的跨平臺性,因此無論是16位平臺還是32位或者是64位平臺,整型變數都占四個位元組的空間,
我們可以通過以下陳述句來列印出整型的最大值和最小值,
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
但處于大資料時代,在很多工程場景整型的最大值是很容易超出的,因此Java提供了長整型變數,
💎長整型變數💎
定義方法
long 變數名=初始值;
使用方法
long b=20;
System.out.println(b);
空間大小:長整型占8個位元組的空間,所表示資料的范圍是 -2^(63)-2^(63)-1
長整型足以適用于絕大多數工程場景,
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
💎雙精度浮點型變數💎
定義方法:
double 變數名=初始值;
使用方法:
double d=3.14;
System.out.println(d);
空間大小:雙精度浮點型變數占8個位元組的空間,
現在我們來看看一個有趣的例子,
double c=1/2;
System.out.println(c);
//結果:0.0
這是為什么呢?因為在Java中,整數/整數=整數,會把小數部分舍去,若想得到小數部分應該這樣做,
double e=1.0;
double f=2.0;
double g=e/f;
System.out.println(g);
//其輸出結果是:0.5
Java 的 double 型別的記憶體布局遵守 IEEE 754 標準(和C語言一樣), 嘗試使用有限的記憶體空間表示可能無限的小數, 勢必會存在一定的精度誤差.
例如:
double e=1.0;
double f=3.0;
double g=e/f;
System.out.println(g);
輸出結果:

💎單精度浮點型變數💎
定義方法:
float 變數名=初始值;
使用方法:
float f=3.14f;
System.out.println(f);
空間大小:4個位元組大小的空間,
💎位元組型變數💎
定義方法:
byte 變數名=初始值;
使用方法:
byte value=20;
System.out.println(value);
注意:1:位元組型別變數存盤的也是小數,
2:位元組型別變數存盤的資料的范圍是:(-128--127)
💎字符型變數💎
定義方法:
char 變數名=初始值;
使用方法:
char c='A';
System.out.println(c);
注意:在Java中的字符型變數所占的空間大小為2個位元組,
💎短整型變數💎
定義方法:
short 變數名=初始值;
short a=3;
System.out.println(a);
變數大小:1:短整型變數占兩個位元組的空間,
2:短整型變數所儲存資料的范圍是 -32768 -> +32767
💎布爾型別變數💎
定義方法:
boolean 變數名=初始值;
注意:1:布爾型別變數只有 true(真)和false(假)兩種取值,
2:2. Java 的 boolean 型別和 int 不能相互轉換, 不存在 1 表示 true, 0 表示 false 這樣的用法.
3:3. boolean 型別有些 JVM 的實作是占 1 個位元組, 有些是占 1 個位元位, 這個沒有明確規定.
使用示例:
boolean a1=(3>5);
System.out.println(a1);
a1=(3<5);
System.out.println(a1);
a1=(5==5);
System.out.println(a1);
a1=(3==5);
System.out.println(a1);
輸出示例:

💎字串型別變數(重點)💎
定義方法:
String 變數名=初始值;
使用示例:
String name="zhangsan";
System.out.println(name);
注意:1:在Java中我們一般用 雙引號+若干字符 來表示字串的字面值,
2:字串型別不是基礎資料型別,而是參考型別,
字串的’+‘操作:
字串的+操作表示字串的拼接,只要?運算子的兩個運算元中有一個是字串,就會進行字串的拼接,將兩個運算元合并成一個字串,
🔑示例:
String str1="hello"+"world";
System.out.println(str1);
String str2="hello"+10+20;
System.out.println(str2);
String str3="hello"+(10+20);
System.out.println(str3);
💡:輸出樣例:

💎常量💎
在了解了變數之后,現在來介紹常量,
在Java中每種型別的變數都對應著一種常量,那什么叫做常量呢?
常量顧名思義就是在程式運行時不能改變的量,在編譯程序中就確定了取值,
💡字面值常量:

💡final 關鍵字修飾的常量:
示例:

這樣會報錯,
我們可以從中更加深入的了解何為常量.常量也可以理解為只能進行一次賦值操作,一旦給final修飾的常量賦值,它的值就不能夠再被修改,
💎型別轉換 💎
型別轉換一般分為兩種:一種是隱式型別轉換,一種是強制型別轉換,
由于Java是強型別語言,在進行不同型別的賦值時會有嚴格的檢驗,
🔑:隱式型別轉換
int a=10;
long b=20;
b=a;//把int賦值給long不會報錯
a=b;//把long賦值給int就會報錯
上述代碼第一個賦值操作不會報錯,第二個就會報錯,這是為什么了?
同樣的我們再來感受一下下面的代碼,
double d=3.5;
float f=3.14;//這個會報錯
d=f;//這個不會報錯
f=d;//這個會報錯
通過上述的兩個例子我們可以看出來:
1:long表示的范圍更大,將int型別賦值給long型別不會報錯,反之則不行,
2:double表示的范圍更大,將float型別賦值給double型別不會報錯,反之則不行,
結論: 不同數字型別的變數之間賦值, 表示范圍更小的型別能隱式轉換成范圍較大的型別, 反之則不行.
若要將上述表示大的范圍的型別賦值給小的范圍的型別就要進行強制型別轉換,
🔑:強制型別轉換
示例:
double d=3.5;
float f=(float)3.14;
d=f;
f=(float)d;
我們雖然可以通過強制型別轉換讓大的范圍的型別得以賦值給小的范圍的型別,但這其中存在精度丟失的風險,所以一般我們使用的時候,建議盡量型別對應,
由于本人水平十分有限,若有錯誤請即使告知!如果有幫助別忘了,萬分感謝,
點贊👍 收藏? 關注?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/319707.html
標籤:java
上一篇:內卷了!阿里Java八股文面試題“慘遭”泄露,導致32人同時面進大廠
下一篇:一個c語言小白的成長的開始
