Java詳解數(shù)據類型的定義與使用
標識符和關鍵字
標識符
讀音 biao zhi fu
什么是標識符
包、類、變量、方法…等等,只要是起名的地方,那個名字就是標識符
標識符的定義規(guī)則
四個可以:可以是數(shù)字、字母、下劃線(_)、美元符號($),我們一般起名盡量使用英文字母。
兩個不可以:不可以以數(shù)字開頭,不可以使用java中的關鍵字。
見名知意:使讀者能通過名字就能明白是干什么的,比如:冒泡排序(bubble_Sort
),我們就能清楚的知道這個方法是冒泡排序。
駝峰命名:
- 類名:首字母大寫,其余遵循駝峰命名
- 方法名/變量名:首字母小寫,其余遵守駝峰命名
- 包名:全部小寫
長度限制:長度沒有限制,但是不建議太長
關鍵字
- 被Java語言賦予了特殊含義,用作專門用途的單詞
- 特點:Java中所有的關鍵字都為小寫
官網:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
常量和變量
常量
常量分為兩種:
常量通常指的是一個固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。
在Java語言中,主要是利用關鍵字final來定義一個常量。 常量一旦被初始化后不能再更改其值。
為了更好的區(qū)分和表述,一般將1、2、3、’a’、’b’、true、false、”helloWorld”等稱為字面常量,而使用final修飾的PI等稱為符號常量(字符常量)。
字面常量的類型:
? 整型常量: 123 23
? 實型常量: 3.1415926
? 字符常量: ‘a’ ‘b’
? 邏輯常量: true false
? 字符串常量: “helloworld”
注意:邏輯常量就兩個值,一個是true,一個是false
變量
變量本質上就是代表一個可操作的存儲空間,空間位置是確定的,但是里面放置什么值不確定。我們可通過變量名來訪問對應的存儲空間”,從而操縱這個存儲空間存儲的值。
Java是一種強類型語言,每個變量都必須聲明其數(shù)據類型。變量的數(shù)據類型決定了變量占據存儲空間的大小。 比如,int a=3; 表示a變量的空間大小為4個字節(jié)。變量作為程序中最基本的存儲單元,其要素包括變量名,變量類型和作用域。變量在使用前必須對其聲明, 只有在變量聲明以后,才能為其分配相應長度的存儲空間。
變量的聲明格式
數(shù)據類型 變量名 = 初始值, 變量名 = 初始值 …;
例如:
public class TestCode01{ public static void main(String[] args){ int a=3,b=4,c=5; //也可以先定義不賦值 int a,b,c; } }
變量的聲明
- 如果你只定義一個變量,沒有給變量進行賦值的話,那么其實這個變量相當于沒有定義;
- 變量如果沒有進行賦值的話,那么使用的時候會出錯,告訴你:尚未初始化變量;
public class TestCode01{ public static void main(String[] args){ int a; System.out.println(a);//會報錯,未初始化變量a } }
變量的賦值
int a=10;//直接定義并賦值 int b;//先定義在賦值 b=20;
變量不可以重復定義
基本數(shù)據類型
整數(shù)類型
整型數(shù)據類型:
下面以代碼為例:
public class TestCode01{ public static void main(String[] args){ //定義整數(shù)類型的變量: //給變量賦值的時候,值可以為不同進制的: int num1 = 12 ;//默認情況下賦值就是十進制的情況 System.out.println(num1); int num2 = 012;//前面加上0,這個值就是八進制的 System.out.println(num2); int num3 = 0x12;//前面加上0x或者0X,這個值就是十六進制的 System.out.println(num3); int num4 = 0b10;//前面加上0x或者0B,這個值就是二進制的 System.out.println(num4); //定義byte類型的變量: byte b = 126;//定義了一個byte類型的變量,名字叫b,賦值為12 System.out.println(b); //注意:超范圍的賦值會報錯。 short s = 30000; System.out.println(s); int i = 1234; System.out.println(i); //整數(shù)類型默認就是int類型的,所以12345678910是一個int類型的數(shù),對于int類型來說,它超出范圍了 //要想把一個數(shù)給long類型變量,那么后面加上L(推薦)或者l就可以了 long num5 = 12345678910L; System.out.println(num5); //注意:只有這個數(shù)超出int類型的范圍了后面才需要加上L,否則無需加L也可以賦值給long類型: long num6 = 12; System.out.println(num6); } }
浮點類型
浮點類型常量
(1)十進制數(shù)形式,例如: 3.14 314.0 0.314
(2)科學記數(shù)法形式,例如:
//314e2 314E2 (E的大小寫沒有區(qū)分) 314E-2 double f = 314e2; //31410^2-->31400.0 double f2 = 314e-2; //31410^(-2)-->3.14
浮點類型變量
float類型又被稱作單精度類型,尾數(shù)可以精確到7位有效數(shù)字,在很多情況下,float類型的精度很難滿足需求。
而double表示這種類型的數(shù)值精度約是float類型的兩倍,又被稱作雙精度類型,絕大部分應用程序都采用double類型。
float類型的數(shù)值有一個后綴F或者f ,沒有后綴F/f的浮點數(shù)值默認為double類型。
也可以在浮點數(shù)值后添加后綴D或者d, 以明確其為double類型。
PS:有效數(shù)字指的是從左開始第一個不為0的數(shù)到最后一個數(shù)
public class TestCode02{ public static void main(String[] args){ //浮點類型的常量有兩種形式: //十進制形式: double num1 = 3.14; System.out.println(num1); //科學計數(shù)法形式: double num2 = 314E-2; System.out.println(num2); //浮點類型的變量: //注意:浮點型默認是double類型的,要想將一個double類型的數(shù)賦給float類型,必須后面加上F或者f float f1 = 3.14234567898623F; System.out.println(f1); //注意:double類型后面可以加D或者d,但是一般我們都省略不寫 double d1 = 3.14234567898623D; System.out.println(d1); //注意:我們最好不要進行浮點類型的比較: float f2 = 0.3F; double d2 = 0.3; System.out.println(f2==d2); /* 區(qū)別: = 賦值運算: 將等號右側的值賦給等號左側 == 判斷==左右兩側的值是否相等 :結果要么相等 要么不相等 ==運算符的結果就是要么是true,要么是false */ } }
字符類型
字符型
Java的字符使用16位的Unicode
編碼表示,而計算機語言通常使用ASCII碼
,用8位表示一個字符。
字符型是用兩個單引號括起來的一個字符,如’a’,’1’,’A’等。其中,’a’和’A’分別表示ASCII碼中的字符a和A,而’1’表示字符型1,而不是整數(shù)的數(shù)值1。除了一般字符外,Java還定義了一些特殊字符,如圖:
字符型除了常數(shù)值的表示方式與整數(shù)型不同外,在其他方面幾乎可以將它視為一般整數(shù)來處理。
字符串型
字符串是指括在兩個雙引號之間0個或多個字符組成的序列。若兩個雙引號之間沒有任何字符,則為空串。下面是有關字符串的一些例子:
""
"hello world!"
"hello java"
Java語言把字符串當作String類型的一個對象來處理。
布爾類型
boolean類型有兩個常量值,true
和false
,在內存中占一位(不是一個字節(jié)),不可以使用 0 或非 0 的整數(shù)替代 true 和 false ,這點和C語言不同。 boolean 類型用來判斷邏輯條件,一般用于程序流程控制 。
public class TestCode03{ public static void main(String[] args){ //創(chuàng)建一個布爾類型的變量: 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ù)據類型的轉換
自動類型轉換
即精度小的類型自動轉換為精度大的數(shù)據類型
數(shù)據類型按精度大小排序為:
在類型轉換的時候需要遵循哪些規(guī)則:
第一條:八種基本數(shù)據類型中,除boolean
類型不能轉換,剩下七種類型之間都可以進行轉換;
第二條:小容量向大容量轉換稱為自動類型轉換,大容量轉換小容量必須使用強制類型轉,但運行時可能出現(xiàn)精度損失,謹慎使用
第三條:byte,short,char
類型混合運算時,先各自轉換成 int
類型再做運算;
第四條:整數(shù)的默認類型是 int
,小數(shù)默認是 double
類型浮點型,在定義 float 類型時必須在數(shù)字后面跟上 F 或者 f。
第五條:浮點數(shù)到整數(shù)的轉換是通過舍棄小數(shù)得到,而不是四舍五入
當一個表達式中有多種數(shù)據類型的時候,要找出當前表達式中級別最高的那個類型,然后其余的類型都轉換為當前表達式中級別最高的類型進行計算。
double d2 = 12+1294L+8.5F+3.81+'a';//都轉換成最高的double類型,相當于= 12.0+1294.0+8.5+3.81+97.0
強制類型轉換
把精度大的數(shù)據類型的數(shù)據賦值給精度小的數(shù)據類型。
double b=3.1415926; int a=(int)b;//強制轉換 高-->低
在進行運算的時候:
左=右 : 直接賦值
左<右 :強轉
左>右 :直接自動轉換
到此這篇關于Java詳解數(shù)據類型的定義與使用的文章就介紹到這了,更多相關Java 數(shù)據類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaWeb入門:HttpResponse和HttpRequest詳解
這篇文章主要介紹了Django的HttpRequest和HttpResponse對象,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2021-07-07JAVA多線程之中斷機制stop()、interrupted()、isInterrupted()
這篇文章主要介紹了JAVA多線程之中斷機制stop()、interrupted()、isInterrupted()的相關資料,需要的朋友可以參考下2016-05-05SpringBoot啟動流程入口參數(shù)創(chuàng)建對象源碼分析
這篇文章主要為大家介紹了SpringBoot啟動流程入口參數(shù)研究及創(chuàng)建對象源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04