溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java數(shù)據(jù)類型如何定義與使用

發(fā)布時(shí)間:2022-04-15 10:21:12 來(lái)源:億速云 閱讀:178 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇“Java數(shù)據(jù)類型如何定義與使用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“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ù)字、字母、下劃線(_)、美元符號(hào)($),我們一般起名盡量使用英文字母。

兩個(gè)不可以:不可以以數(shù)字開(kāi)頭,不可以使用java中的關(guān)鍵字。

見(jiàn)名知意:使讀者能通過(guò)名字就能明白是干什么的,比如:冒泡排序(bubble_Sort),我們就能清楚的知道這個(gè)方法是冒泡排序。

駝峰命名:

  • 類名:首字母大寫,其余遵循駝峰命名

  • 方法名/變量名:首字母小寫,其余遵守駝峰命名

  • 包名:全部小寫

長(zhǎng)度限制:長(zhǎng)度沒(méi)有限制,但是不建議太長(zhǎng)

關(guān)鍵字

  • 被Java語(yǔ)言賦予了特殊含義,用作專門用途的單詞

  • 特點(diǎn):Java中所有的關(guān)鍵字都為小寫

官網(wǎng):https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

Java數(shù)據(jù)類型如何定義與使用

Java數(shù)據(jù)類型如何定義與使用

常量和變量

常量

常量分為兩種:

常量通常指的是一個(gè)固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。

在Java語(yǔ)言中,主要是利用關(guān)鍵字final來(lái)定義一個(gè)常量。 常量一旦被初始化后不能再更改其值。

為了更好的區(qū)分和表述,一般將1、2、3、’a’、’b’、true、false、”helloWorld”等稱為字面常量,而使用final修飾的PI等稱為符號(hào)常量(字符常量)。

字面常量的類型:

整型常量: 123 23

實(shí)型常量: 3.1415926

字符常量: ‘a’ ‘b’

邏輯常量: true false

字符串常量: “helloworld”

注意:邏輯常量就兩個(gè)值,一個(gè)是true,一個(gè)是false

變量

變量本質(zhì)上就是代表一個(gè)可操作的存儲(chǔ)空間,空間位置是確定的,但是里面放置什么值不確定。我們可通過(guò)變量名來(lái)訪問(wèn)對(duì)應(yīng)的存儲(chǔ)空間”,從而操縱這個(gè)存儲(chǔ)空間存儲(chǔ)的值。

Java是一種強(qiáng)類型語(yǔ)言,每個(gè)變量都必須聲明其數(shù)據(jù)類型。變量的數(shù)據(jù)類型決定了變量占據(jù)存儲(chǔ)空間的大小。 比如,int a=3; 表示a變量的空間大小為4個(gè)字節(jié)。變量作為程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類型和作用域。變量在使用前必須對(duì)其聲明, 只有在變量聲明以后,才能為其分配相應(yīng)長(zhǎ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è)變量,沒(méi)有給變量進(jìn)行賦值的話,那么其實(shí)這個(gè)變量相當(dāng)于沒(méi)有定義;

  • 變量如果沒(méi)有進(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ù)定義

Java數(shù)據(jù)類型如何定義與使用

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

整數(shù)類型

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

Java數(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ù),對(duì)于int類型來(lái)說(shuō),它超出范圍了
                //要想把一個(gè)數(shù)給long類型變量,那么后面加上L(推薦)或者l就可以了
                long num5 = 12345678910L;
                System.out.println(num5);
                //注意:只有這個(gè)數(shù)超出int類型的范圍了后面才需要加上L,否則無(wú)需加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的大小寫沒(méi)有區(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 ,沒(méi)有后綴F/f的浮點(diǎn)數(shù)值默認(rèn)為double類型。

也可以在浮點(diǎn)數(shù)值后添加后綴D或者d, 以明確其為double類型。

Java數(shù)據(jù)類型如何定義與使用

PS:有效數(shù)字指的是從左開(kāi)始第一個(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)算:  將等號(hào)右側(cè)的值賦給等號(hào)左側(cè)
                == 判斷==左右兩側(cè)的值是否相等  :結(jié)果要么相等 要么不相等
                ==運(yùn)算符的結(jié)果就是要么是true,要么是false
                */
                
        }
}

字符類型

字符型

Java的字符使用16位的Unicode編碼表示,而計(jì)算機(jī)語(yǔ)言通常使用ASCII碼,用8位表示一個(gè)字符。

字符型是用兩個(gè)單引號(hào)括起來(lái)的一個(gè)字符,如’a’,’1’,’A’等。其中,’a’和’A’分別表示ASCII碼中的字符a和A,而’1’表示字符型1,而不是整數(shù)的數(shù)值1。除了一般字符外,Java還定義了一些特殊字符,如圖:

Java數(shù)據(jù)類型如何定義與使用

字符型除了常數(shù)值的表示方式與整數(shù)型不同外,在其他方面幾乎可以將它視為一般整數(shù)來(lái)處理。

字符串型

字符串是指括在兩個(gè)雙引號(hào)之間0個(gè)或多個(gè)字符組成的序列。若兩個(gè)雙引號(hào)之間沒(méi)有任何字符,則為空串。下面是有關(guān)字符串的一些例子:

""
"hello world!"
"hello java"

Java語(yǔ)言把字符串當(dāng)作String類型的一個(gè)對(duì)象來(lái)處理。

布爾類型

boolean類型有兩個(gè)常量值,truefalse,在內(nèi)存中占一位(不是一個(gè)字節(jié)),不可以使用 0 或非 0 的整數(shù)替代 true 和 false ,這點(diǎn)和C語(yǔ)言不同。 boolean 類型用來(lái)判斷邏輯條件,一般用于程序流程控制 。

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>

Java數(shù)據(jù)類型如何定義與使用

在類型轉(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)換是通過(guò)舍棄小數(shù)得到,而不是四舍五入

當(dāng)一個(gè)表達(dá)式中有多種數(shù)據(jù)類型的時(shí)候,要找出當(dāng)前表達(dá)式中級(jí)別最高的那個(gè)類型,然后其余的類型都轉(zhuǎn)換為當(dāng)前表達(dá)式中級(jí)別最高的類型進(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ù)類型如何定義與使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI