Java詳解數(shù)據(jù)類型的定義與使用
標(biāo)識(shí)符和關(guān)鍵字
標(biāo)識(shí)符
讀音 biao zhi fu
什么是標(biāo)識(shí)符
包、類、變量、方法…等等,只要是起名的地方,那個(gè)名字就是標(biāo)識(shí)符
標(biāo)識(shí)符的定義規(guī)則
四個(gè)可以:可以是數(shù)字、字母、下劃線(_)、美元符號($),我們一般起名盡量使用英文字母。
兩個(gè)不可以:不可以以數(shù)字開頭,不可以使用java中的關(guān)鍵字。
見名知意:使讀者能通過名字就能明白是干什么的,比如:冒泡排序(bubble_Sort),我們就能清楚的知道這個(gè)方法是冒泡排序。
駝峰命名:
- 類名:首字母大寫,其余遵循駝峰命名
- 方法名/變量名:首字母小寫,其余遵守駝峰命名
- 包名:全部小寫
長度限制:長度沒有限制,但是不建議太長
關(guān)鍵字
- 被Java語言賦予了特殊含義,用作專門用途的單詞
- 特點(diǎn):Java中所有的關(guān)鍵字都為小寫
官網(wǎng):https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
![[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-69xuyoxz-1649646553413)(初識(shí)java.assets/image-20220410160738544.png)]](http://img.jbzj.com/file_images/article/202204/2022041417500590.png)
![[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-pPef6d8R-1649646553415)(初識(shí)java.assets/image-20220410160721243.png)]](http://img.jbzj.com/file_images/article/202204/2022041417500591.png)
常量和變量
常量
常量分為兩種:
常量通常指的是一個(gè)固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。
在Java語言中,主要是利用關(guān)鍵字final來定義一個(gè)常量。 常量一旦被初始化后不能再更改其值。
為了更好的區(qū)分和表述,一般將1、2、3、’a’、’b’、true、false、”helloWorld”等稱為字面常量,而使用final修飾的PI等稱為符號常量(字符常量)。
字面常量的類型:
? 整型常量: 123 23
? 實(shí)型常量: 3.1415926
? 字符常量: ‘a’ ‘b’
? 邏輯常量: true false
? 字符串常量: “helloworld”
注意:邏輯常量就兩個(gè)值,一個(gè)是true,一個(gè)是false
變量
變量本質(zhì)上就是代表一個(gè)可操作的存儲(chǔ)空間,空間位置是確定的,但是里面放置什么值不確定。我們可通過變量名來訪問對應(yīng)的存儲(chǔ)空間”,從而操縱這個(gè)存儲(chǔ)空間存儲(chǔ)的值。
Java是一種強(qiáng)類型語言,每個(gè)變量都必須聲明其數(shù)據(jù)類型。變量的數(shù)據(jù)類型決定了變量占據(jù)存儲(chǔ)空間的大小。 比如,int a=3; 表示a變量的空間大小為4個(gè)字節(jié)。變量作為程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類型和作用域。變量在使用前必須對其聲明, 只有在變量聲明以后,才能為其分配相應(yīng)長度的存儲(chǔ)空間。
變量的聲明格式
數(shù)據(jù)類型 變量名 = 初始值, 變量名 = 初始值 …;
例如:
public class TestCode01{
public static void main(String[] args){
int a=3,b=4,c=5;
//也可以先定義不賦值
int a,b,c;
}
}
變量的聲明
- 如果你只定義一個(gè)變量,沒有給變量進(jìn)行賦值的話,那么其實(shí)這個(gè)變量相當(dāng)于沒有定義;
- 變量如果沒有進(jìn)行賦值的話,那么使用的時(shí)候會(huì)出錯(cuò),告訴你:尚未初始化變量;
public class TestCode01{
public static void main(String[] args){
int a;
System.out.println(a);//會(huì)報(bào)錯(cuò),未初始化變量a
}
}
變量的賦值
int a=10;//直接定義并賦值 int b;//先定義在賦值 b=20;
變量不可以重復(fù)定義

基本數(shù)據(jù)類型
整數(shù)類型
整型數(shù)據(jù)類型:

下面以代碼為例:
public class TestCode01{
public static void main(String[] args){
//定義整數(shù)類型的變量:
//給變量賦值的時(shí)候,值可以為不同進(jìn)制的:
int num1 = 12 ;//默認(rèn)情況下賦值就是十進(jìn)制的情況
System.out.println(num1);
int num2 = 012;//前面加上0,這個(gè)值就是八進(jìn)制的
System.out.println(num2);
int num3 = 0x12;//前面加上0x或者0X,這個(gè)值就是十六進(jìn)制的
System.out.println(num3);
int num4 = 0b10;//前面加上0x或者0B,這個(gè)值就是二進(jìn)制的
System.out.println(num4);
//定義byte類型的變量:
byte b = 126;//定義了一個(gè)byte類型的變量,名字叫b,賦值為12
System.out.println(b);
//注意:超范圍的賦值會(huì)報(bào)錯(cuò)。
short s = 30000;
System.out.println(s);
int i = 1234;
System.out.println(i);
//整數(shù)類型默認(rèn)就是int類型的,所以12345678910是一個(gè)int類型的數(shù),對于int類型來說,它超出范圍了
//要想把一個(gè)數(shù)給long類型變量,那么后面加上L(推薦)或者l就可以了
long num5 = 12345678910L;
System.out.println(num5);
//注意:只有這個(gè)數(shù)超出int類型的范圍了后面才需要加上L,否則無需加L也可以賦值給long類型:
long num6 = 12;
System.out.println(num6);
}
}
浮點(diǎn)類型
浮點(diǎn)類型常量
(1)十進(jìn)制數(shù)形式,例如: 3.14 314.0 0.314
(2)科學(xué)記數(shù)法形式,例如:
//314e2 314E2 (E的大小寫沒有區(qū)分) 314E-2 double f = 314e2; //31410^2-->31400.0 double f2 = 314e-2; //31410^(-2)-->3.14
浮點(diǎn)類型變量
float類型又被稱作單精度類型,尾數(shù)可以精確到7位有效數(shù)字,在很多情況下,float類型的精度很難滿足需求。
而double表示這種類型的數(shù)值精度約是float類型的兩倍,又被稱作雙精度類型,絕大部分應(yīng)用程序都采用double類型。
float類型的數(shù)值有一個(gè)后綴F或者f ,沒有后綴F/f的浮點(diǎn)數(shù)值默認(rèn)為double類型。
也可以在浮點(diǎn)數(shù)值后添加后綴D或者d, 以明確其為double類型。

PS:有效數(shù)字指的是從左開始第一個(gè)不為0的數(shù)到最后一個(gè)數(shù)
public class TestCode02{
public static void main(String[] args){
//浮點(diǎn)類型的常量有兩種形式:
//十進(jìn)制形式:
double num1 = 3.14;
System.out.println(num1);
//科學(xué)計(jì)數(shù)法形式:
double num2 = 314E-2;
System.out.println(num2);
//浮點(diǎn)類型的變量:
//注意:浮點(diǎn)型默認(rèn)是double類型的,要想將一個(gè)double類型的數(shù)賦給float類型,必須后面加上F或者f
float f1 = 3.14234567898623F;
System.out.println(f1);
//注意:double類型后面可以加D或者d,但是一般我們都省略不寫
double d1 = 3.14234567898623D;
System.out.println(d1);
//注意:我們最好不要進(jìn)行浮點(diǎn)類型的比較:
float f2 = 0.3F;
double d2 = 0.3;
System.out.println(f2==d2);
/*
區(qū)別:
= 賦值運(yùn)算: 將等號右側(cè)的值賦給等號左側(cè)
== 判斷==左右兩側(cè)的值是否相等 :結(jié)果要么相等 要么不相等
==運(yùn)算符的結(jié)果就是要么是true,要么是false
*/
}
}
字符類型
字符型
Java的字符使用16位的Unicode編碼表示,而計(jì)算機(jī)語言通常使用ASCII碼,用8位表示一個(gè)字符。
字符型是用兩個(gè)單引號括起來的一個(gè)字符,如’a’,’1’,’A’等。其中,’a’和’A’分別表示ASCII碼中的字符a和A,而’1’表示字符型1,而不是整數(shù)的數(shù)值1。除了一般字符外,Java還定義了一些特殊字符,如圖:

字符型除了常數(shù)值的表示方式與整數(shù)型不同外,在其他方面幾乎可以將它視為一般整數(shù)來處理。
字符串型
字符串是指括在兩個(gè)雙引號之間0個(gè)或多個(gè)字符組成的序列。若兩個(gè)雙引號之間沒有任何字符,則為空串。下面是有關(guān)字符串的一些例子:
""
"hello world!"
"hello java"
Java語言把字符串當(dāng)作String類型的一個(gè)對象來處理。
布爾類型
boolean類型有兩個(gè)常量值,true和false,在內(nèi)存中占一位(不是一個(gè)字節(jié)),不可以使用 0 或非 0 的整數(shù)替代 true 和 false ,這點(diǎn)和C語言不同。 boolean 類型用來判斷邏輯條件,一般用于程序流程控制 。
public class TestCode03{
public static void main(String[] args){
//創(chuàng)建一個(gè)布爾類型的變量:
boolean flag1 = true;
System.out.println(flag1);
boolean flag2 = false;
System.out.println(flag2);
boolean flag3 = 5==9;
System.out.println(flag3);
boolean flag4 = 5<9;
System.out.println(flag4);
}
}
基本數(shù)據(jù)類型的轉(zhuǎn)換
自動(dòng)類型轉(zhuǎn)換
即精度小的類型自動(dòng)轉(zhuǎn)換為精度大的數(shù)據(jù)類型
數(shù)據(jù)類型按精度大小排序?yàn)椋?/p>

在類型轉(zhuǎn)換的時(shí)候需要遵循哪些規(guī)則:
第一條:八種基本數(shù)據(jù)類型中,除boolean 類型不能轉(zhuǎn)換,剩下七種類型之間都可以進(jìn)行轉(zhuǎn)換;
第二條:小容量向大容量轉(zhuǎn)換稱為自動(dòng)類型轉(zhuǎn)換,大容量轉(zhuǎn)換小容量必須使用強(qiáng)制類型轉(zhuǎn),但運(yùn)行時(shí)可能出現(xiàn)精度損失,謹(jǐn)慎使用
第三條:byte,short,char 類型混合運(yùn)算時(shí),先各自轉(zhuǎn)換成 int 類型再做運(yùn)算;
第四條:整數(shù)的默認(rèn)類型是 int,小數(shù)默認(rèn)是 double 類型浮點(diǎn)型,在定義 float 類型時(shí)必須在數(shù)字后面跟上 F 或者 f。
第五條:浮點(diǎn)數(shù)到整數(shù)的轉(zhuǎn)換是通過舍棄小數(shù)得到,而不是四舍五入
當(dāng)一個(gè)表達(dá)式中有多種數(shù)據(jù)類型的時(shí)候,要找出當(dāng)前表達(dá)式中級別最高的那個(gè)類型,然后其余的類型都轉(zhuǎn)換為當(dāng)前表達(dá)式中級別最高的類型進(jìn)行計(jì)算。
double d2 = 12+1294L+8.5F+3.81+'a';//都轉(zhuǎn)換成最高的double類型,相當(dāng)于= 12.0+1294.0+8.5+3.81+97.0
強(qiáng)制類型轉(zhuǎn)換
把精度大的數(shù)據(jù)類型的數(shù)據(jù)賦值給精度小的數(shù)據(jù)類型。
double b=3.1415926; int a=(int)b;//強(qiáng)制轉(zhuǎn)換 高-->低
在進(jìn)行運(yùn)算的時(shí)候:
左=右 : 直接賦值
左<右 :強(qiáng)轉(zhuǎn)
左>右 :直接自動(dòng)轉(zhuǎn)換
到此這篇關(guān)于Java詳解數(shù)據(jù)類型的定義與使用的文章就介紹到這了,更多相關(guān)Java 數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在SpringBoot中如何使用HttpClient實(shí)現(xiàn)HTTP請求
本文介紹了如何使用Apache?HttpClient來訪問HTTP協(xié)議的資源,并提供了詳細(xì)的使用示例,包括GET和POST請求的無參和有參調(diào)用2025-02-02
Ubuntu安裝JDK與IntelliJ?IDEA的詳細(xì)過程
APT是Linux系統(tǒng)上的包管理工具,能自動(dòng)解決軟件包依賴關(guān)系并從遠(yuǎn)程存儲(chǔ)庫中獲取安裝軟件包,這篇文章主要介紹了Ubuntu安裝JDK與IntelliJ?IDEA的過程,需要的朋友可以參考下2023-08-08
eclipse里沒有“Dynamic Web Project“這個(gè)選項(xiàng)的問題解決
本文主要介紹了eclipse里沒有“Dynamic Web Project“這個(gè)選項(xiàng)的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Jackson忽略字段實(shí)現(xiàn)對字段進(jìn)行序列化和反序列化
在使用?Jackson?進(jìn)行序列化和反序列化時(shí),有時(shí)候需要對某些字段進(jìn)行過濾,以便在?JSON?數(shù)據(jù)中不包含某些敏感信息,下面就一起來了解一下Jackson忽略字段實(shí)現(xiàn)對字段進(jìn)行序列化和反序2023-10-10
SpringBoot關(guān)閉過程中銷毀DisposableBean解讀
這篇文章主要介紹了SpringBoot關(guān)閉過程中銷毀DisposableBean解讀,一個(gè)bean的生命周期,指的是 bean 從創(chuàng)建,初始化,一系列使用,銷毀的過程,今天來講講 bean 的初始化和銷毀的方法,需要的朋友可以參考下2023-12-12

