Java基本知識(shí)點(diǎn)之變量和數(shù)據(jù)類(lèi)型
Java中的變量和基本數(shù)據(jù)類(lèi)型:
寫(xiě)完第一個(gè)java程序之后,我們對(duì)Java也有了初步的了解,現(xiàn)在我們?cè)賮?lái)繼續(xù)認(rèn)識(shí)一下Java中的基本知識(shí)點(diǎn)——變量和數(shù)據(jù)類(lèi)型。
那么我們?cè)撛鯓觼?lái)認(rèn)識(shí)變量和數(shù)據(jù)類(lèi)型呢,在這里,我們首先來(lái)認(rèn)識(shí)一下內(nèi)存,我們?nèi)粘I钪械挠?jì)算機(jī)體系中內(nèi)存主要分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器,比如說(shuō)我們平??次覀冸娔X配置的時(shí)候,都會(huì)看到8G+256G這樣的標(biāo)志,其中的8G就是所說(shuō)的內(nèi)存儲(chǔ)器(RAM),而256G也就是外存儲(chǔ)器,諸如磁盤(pán),u盤(pán),光盤(pán)等,這里我們就不詳細(xì)的研究了。我們定義的變量占用的就是內(nèi)存儲(chǔ)器,它的本質(zhì)就是一段實(shí)際連續(xù)存儲(chǔ)空間,而數(shù)據(jù)類(lèi)型則代表數(shù)據(jù)需要占用的存儲(chǔ)空間大小。數(shù)據(jù)類(lèi)型的作用就是告訴編譯器當(dāng)前這個(gè)變量需要占用多少內(nèi)存。Java中的數(shù)據(jù)類(lèi)型分為基本數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型,基本數(shù)據(jù)類(lèi)型一共有八個(gè),現(xiàn)在我們就先來(lái)認(rèn)識(shí)一下這八個(gè)基本數(shù)據(jù)類(lèi)型。
整型
public class Test {
public static void main (String[]args) {
int a = 10;//int 代表整型
int b = 5;
System.out.println("a的值是:"+a);
System.out.println("b的值是:"+b);
}
}
注:整型在內(nèi)存中占用四個(gè)字節(jié),不管是32位還是64位,和操作系統(tǒng)沒(méi)有關(guān)系,一個(gè)字節(jié)=八個(gè)bit位,所以整型在內(nèi)存中占三十二個(gè)bit位,一個(gè)bit位代表一個(gè)二進(jìn)制數(shù)字,第一個(gè)bit位代表的是符號(hào)位,后面的三十一個(gè)bit位代表數(shù)值位,總共有2^31 種狀態(tài),正數(shù)有2^31-1 種可能,負(fù)數(shù)的范圍是-2^31 —— 1,所以我們可以求出整形的取值范圍:-231-231-1
public class TestB {
public static void main(String[] args) {
int a =10;
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
這里我們可以用int的包裝類(lèi)Integer來(lái)驗(yàn)算取值范圍結(jié)果

注:①整型的最大值+1就變成了最小值,相當(dāng)于一個(gè)圓一樣在一直循環(huán)
長(zhǎng)整型
public class TestC {
public static void main(String[] args) {
long a = 10L;
long b = 5L;
System.out.println("a的值是:"+a);
System.out.println("b的值是:"+b);
}
}
注意:長(zhǎng)整型在Java中占八個(gè)字節(jié),64個(gè)bit位,一個(gè)符號(hào)位,63個(gè)數(shù)值位,同樣的計(jì)算方法,它的取值范圍是:-263-263-1
public class TestD {
public static void main(String[]args) {
long a = 10L;
System.out.println("最大值:"+Long.MAX_VALUE);//“+”是拼接的意思
System.out.println("最小值:"+Long.MIN_VALUE);
}
}
這里我們也可以用long的包裝類(lèi)Long來(lái)驗(yàn)證

短整型
public class TestH {
public static void main (String[]args) {
short a = 2;
short b = 4;
System.out.println(a);
System.out.println(b);
}
}
短整型占兩個(gè)字節(jié),取值范圍也就是-2^ 16——2^15-1
同樣的我們也可以用short的包裝類(lèi)Short來(lái)驗(yàn)證:
public class TestI {
public static void main(String[]args) {
short a = 10;
System.out.println("最大值:"+Short.MAX_VALUE);
System.out.println("最小值:"+Short.MIN_VALUE);
}
}

單精度浮點(diǎn)型
public class TestJ {
public static void main(String[]args) {
float f = 11.5f; //小數(shù)默認(rèn)為是雙精度,所以要加一個(gè)f
float f1= 6.3f;
System.out.println(f);
System.out.println(f1);
}
}
注:?jiǎn)尉雀↑c(diǎn)型占四個(gè)字節(jié),我們同樣可以計(jì)算出它的取值范圍為-231-231-1。小數(shù)默認(rèn)為是雙精度類(lèi)型,所以在定義的時(shí)候需要在后面加一個(gè)"f",這也體現(xiàn)了java的安全性
public class TestK {
public static void main(String[]args) {
float f = 1.6f;
System.out.println(Float.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
}
}
我們同樣可以用float的包裝類(lèi)Float來(lái)驗(yàn)證

雙精度浮點(diǎn)型
public class TestO {
public static void main(String[]args) {
double d = 11.5;
double d1 = 14.73;
System.out.println(d);
System.out.println(d1);
}
}
注:double占八個(gè)字節(jié),同樣可以用double的包裝類(lèi)Double來(lái)計(jì)算取值范圍。只要是小數(shù)默認(rèn)都是雙精度類(lèi)型,所以寫(xiě)程序有小數(shù)的時(shí)候建議都用double,當(dāng)進(jìn)行兩個(gè)整數(shù)相除結(jié)果是小數(shù)的時(shí)候,需要把其中一個(gè)整數(shù)定義為double類(lèi)型,比如 double d = 1.0;
public class TestP {
public static void main(String[]args) {
double d = 1.6;
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
}
}

字符數(shù)據(jù)類(lèi)型:字符數(shù)據(jù)類(lèi)型
public class TestQ {
public static void main(String[]args) {
char ch = 'A';//可以是一個(gè)漢字,漢字也占兩個(gè)字節(jié),也可以是數(shù)字,打印出來(lái)的將會(huì)是在Unicode碼中對(duì)應(yīng)的符號(hào)
System.out.println(ch);
}
}
字符數(shù)據(jù)類(lèi)型占兩個(gè)字節(jié),不同的是這里不可用char的包裝類(lèi)Character計(jì)算它的取值范圍,因?yàn)樗娜≈祵?duì)應(yīng)的是Unicode碼中的符號(hào)
字節(jié)類(lèi)型
public class TestR {
public static void main(String[]args) {
byte a = 102;
byte b = 1;
byte c = (byte)(a+b);//小于四個(gè)字節(jié)的類(lèi)型計(jì)算時(shí)會(huì)提升為整型計(jì)算,所以需要強(qiáng)制轉(zhuǎn)換為字節(jié)類(lèi)型
System.out.println(c);
}
}
字節(jié)類(lèi)型占1個(gè)字節(jié),計(jì)算初取值范圍為-128——+127,需要注意的是,小于四個(gè)字節(jié)的類(lèi)型在進(jìn)行計(jì)算時(shí)會(huì)整型提升,所以需要強(qiáng)制轉(zhuǎn)換為字節(jié)型
public class TestS {
public static void main (String[] args) {
byte a = 12;
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
}
}
同樣可以用byte的包裝類(lèi)Byte驗(yàn)證

8.布爾類(lèi)型
public class TestT {
public static void main(String[]args) {
boolean flg = false;
System.out.println(flg);
}
}
布爾類(lèi)型在java中沒(méi)有明確大小,并且它只有兩個(gè)取值,true/false,java中的真/假只有true/false,沒(méi)有所謂的0是假,非0是真。布爾類(lèi)型對(duì)應(yīng)的包裝類(lèi)是Boolean
除去以上這八大基本數(shù)據(jù)類(lèi)型,在Java中還有一種叫引用數(shù)據(jù)類(lèi)型,如:類(lèi) String 數(shù)組,抽象類(lèi) 接口 枚舉等等,下面我們?cè)賮?lái)認(rèn)識(shí)一下String
字符串?dāng)?shù)據(jù)類(lèi)型:
public class TestU {
public static void main(String[]args) {
String str ="hello";//字符串用雙引號(hào)
String str1 = "hello"+"world";
System.out.println(str);
System.out.println(str1);//用"+"可以把兩個(gè)字符串拼接起來(lái),任意數(shù)據(jù)類(lèi)型和字符串拼接后都是字符串
}
}
認(rèn)識(shí)完以上幾種數(shù)據(jù)類(lèi)型,我們對(duì)變量也有了大概的了解,在變量的命名中,有一下幾種規(guī)則:
①:只能包含數(shù)字字母下劃線
②:數(shù)字不能開(kāi)頭
③:推薦使用小駝峰,numMax,也就是初了第一個(gè)單詞首字母,其他都要首字母大寫(xiě)
java中除了變量,還有一種叫做常量,顧名思義,也就是只能被初始化一次,并且使用的時(shí)候要記住一定要初始化,常量又分為兩種:
①:字面常量:像10,"abc"這種
②:被final修飾的變量: final int MAXNUM = 10 ;此時(shí)的maxNum是常量,并且字母全部大寫(xiě)。
學(xué)到這里,我們對(duì)Java中的數(shù)據(jù)類(lèi)型和變量也有了一定的認(rèn)識(shí),更加期待后面的學(xué)習(xí)?。?!
總結(jié)
到此這篇關(guān)于Java基本知識(shí)點(diǎn)之變量和數(shù)據(jù)類(lèi)型的文章就介紹到這了,更多相關(guān)Java變量和數(shù)據(jù)類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解使用Jenkins部署Spring Boot項(xiàng)目
這篇文章主要介紹了詳解使用Jenkins部署Spring Boot,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Java中Lambda表達(dá)式之Lambda語(yǔ)法與作用域解析
這篇文章主要介紹了Java中Lambda表達(dá)式之Lambda語(yǔ)法與作用域解析重點(diǎn)介紹Lambda表達(dá)式基礎(chǔ)知識(shí),需要的朋友可以參考下2017-02-02
SpringBoot實(shí)現(xiàn)excel文件生成和下載
這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)excel文件生成和下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(49)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-08-08
SpringCloud應(yīng)用idea實(shí)現(xiàn)可相互調(diào)用的多模塊程序詳解
IDEA 全稱(chēng) IntelliJ IDEA,是java編程語(yǔ)言的集成開(kāi)發(fā)環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的Java開(kāi)發(fā)工具,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、JavaEE支持、各類(lèi)版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說(shuō)是超常的2022-07-07
Java?數(shù)據(jù)結(jié)構(gòu)進(jìn)階二叉樹(shù)題集下
二叉樹(shù)可以簡(jiǎn)單理解為對(duì)于一個(gè)節(jié)點(diǎn)來(lái)說(shuō),最多擁有一個(gè)上級(jí)節(jié)點(diǎn),同時(shí)最多具備左右兩個(gè)下級(jí)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。本文將帶你通過(guò)實(shí)際題目來(lái)熟練掌握2022-04-04
解決Nacos在執(zhí)行startup.cmd的時(shí)候出現(xiàn)閃退的問(wèn)題
因?yàn)樵诠ぷ髦械捻?xiàng)目中需要使用到nacos作為注冊(cè)中心,但是在使用nacos的過(guò)程中運(yùn)行startup.cmd的時(shí)候出現(xiàn)了閃退的情況,運(yùn)行startup.cmd閃一下就沒(méi)有了,我把解決這個(gè)問(wèn)題的全過(guò)程理了一下,希望能幫到您,需要的朋友可以參考下2023-12-12

