激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 一篇文章帶你了解JavaSE的數(shù)據(jù)類型

一篇文章帶你了解JavaSE的數(shù)據(jù)類型

2021-12-13 14:32可口也可樂、 Java教程

這篇文章主要給大家介紹了關(guān)于JavaSE的數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

本文主要講解:

掌握各種數(shù)據(jù)類型

變量作用域及命名和常量

類型轉(zhuǎn)換及數(shù)值提升

 

Java類型匯總

一篇文章帶你了解JavaSE的數(shù)據(jù)類型

 

整型變量-int\長整型變量-long\短整形變量-short

基本語法格式:

int   變量名 = 初始值;
long  變量名 = 初始值;
short 變量名 = 初始值;
  • 包裝類:Integer(依舊是整形); Long ; Short
  • 示例:
int num = 10; // 定義一個(gè)整型變量
System.out.println(num);
long num = 10L; // 定義一個(gè)長整型變量, 初始值寫作 10l 也可以(小寫的 L, 不是數(shù)字1). 
System.out.println(num);
short value = 0; 
System.out.println(value);

注:Java 是強(qiáng)類型語言,10 默認(rèn)是 int 型,不加 L 則等號(hào)左右類型不匹配

  • 整型數(shù)據(jù)范圍:

int 類型占4字節(jié),數(shù)據(jù)范圍是 -2^31 ~ 2^31-1

一篇文章帶你了解JavaSE的數(shù)據(jù)類型

  • 如何查看:
System.out.println(Integer.MAX_VALUE);  // int 的最大值 2147483648
System.out.println(Integer.MIN_VALUE);  // int 的最小值-2147483648
  • 長整形數(shù)據(jù)范圍:
long 類型占 8 個(gè)字節(jié) . 表示的數(shù)據(jù)范圍 - 2^63 - > 2^63 - 1
  • 如何查看:
System.out.println(Long.MAX_VALUE);\\ 9223372036854775807
System.out.println(Long.MIN_VALUE);\\-9223372036854775807
  • 短整形數(shù)據(jù)范圍:
short 占用 2 個(gè)字節(jié) , 表示的數(shù)據(jù)范圍是 - 32768 - > +32767
  • 如何查看:
System.out.println(Short.MAX_VALUE);	
System.out.println(Short.MIN_VALUE);	
  • 注意:

當(dāng)運(yùn)算的結(jié)果超出了相應(yīng)類型的范圍, 就會(huì)出現(xiàn)溢出的情況(參考上文圓形范圍圖)

  • 以int類型為例:
System.out.println(Integer.MAX_VALUE+1);// 結(jié)果為-2147483648
System.out.println(Integer.MIN_VALUE-1);// 結(jié)果為 2147483648

特別注意:

變量定義時(shí)一定要初始化,否則編譯不通過(java語言安全性高)

變量大小與平臺(tái)位數(shù)無關(guān)(java語言可移植性高)

 

浮點(diǎn)型變量-double\float

  • 基本語法格:
double 變量名 = 初始值;
float  變量名 = 初始值;
  • 示例:
double num = 1.0;
System.out.println(num)
float num = 1.0f;    // 寫作 1.0F 也可以
System.out.println(num);

注:Java 是強(qiáng)類型語言,1.0 默認(rèn)是 double 型,不加 f 則等號(hào)左右類型不匹配

  • 輸出:

如果想規(guī)定輸出小數(shù)點(diǎn)多少位時(shí)使用 printf

System.out.printf("%.nlf",num);\\n表示想要輸出小數(shù)點(diǎn)后幾位

注意:

 

1.Java 中的 double 占 8 個(gè)字節(jié);float 占四個(gè)字節(jié)
2.當(dāng)整型相除得到的是整型,如果需要得到小數(shù)點(diǎn)需要double類型運(yùn)算
3.浮點(diǎn)數(shù)的存儲(chǔ)與整型存儲(chǔ)不同,java浮點(diǎn)數(shù)的存儲(chǔ)參考C語言(遵守IEEE754標(biāo)準(zhǔn))

字符類型變量-char

  • 基本格式:

char 變量名 = 初始值;

  • 示例:
char ch1 = 'A';
char ch2 = '呵'; 
System.out.println(ch);

注:Java 中使用 單引號(hào) + 單個(gè)字母 的形式表示字符字面值

  • 字符類型數(shù)據(jù)范圍:

java中 char 類型占兩個(gè)字節(jié)(表示的字符種類更多, 包括中文)

System.out.println(Character.MAX_VALUE);	// char 的最大值'\uFFFF'
System.out.println(Character.MIN_VALUE);	// char 的最小值'\u0000'

注:計(jì)算機(jī)中字符本質(zhì)為整數(shù):C語言中使用ASCII表示字符, Java中使用Unicode表示字符

  • 注意:

當(dāng)有編碼有中文時(shí)需要在編譯執(zhí)行 javac 時(shí)加上 -encoding UTF-8 (否則會(huì)編譯錯(cuò)誤)

 

 

字節(jié)類型變-byte

  • 基本語法格式:

byte 變量名 = 初始值;

  • 示例:

 

byte value = 0; 
System.out.println(value);

注:字節(jié)類型表示的也是整數(shù),只占一個(gè)字節(jié), 表示范圍較小 ( -128 -> 127 )(與char不同)

當(dāng)字節(jié)等小于4個(gè)字節(jié)的類型運(yùn)算時(shí)會(huì)發(fā)生整型提升

 

 

布爾類型變量-boolean

  • 基本語法格式:

boolean 變量名 = 初始值;//初始值只能是true\flase

  • 示例:
boolean value = true; 
System.out.println(value);
  • 注意:

 

1.boolean 類型的變量只有兩種取值, true 表示真, false 表示假(與C語言不同)
2.Java 中 boolean 類型和 int 不能相互轉(zhuǎn)換(類型不兼容),不存在 1 表示 true, 0 表示 false 這樣的用法
3.boolean 類型有些 JVM 的實(shí)現(xiàn)是占 1 個(gè)字節(jié), 有些是占 1 個(gè)比特位, 這個(gè)沒有明確規(guī)定

 

字符串類型變量-String

String不是基本類型,是引用類型

  • 基本語法格式:

String 變量名 = "初始值";

  • 示例:
String name = "zhangsan"; 
System.out.println(name);

注:Java 使用 雙引號(hào) + 若干字符 的方式表示字符串字面值

name存放的是字符串所占的那片空間的地址

 

字符串拼接

字符串“+”任意類型的數(shù)據(jù)結(jié)果是字符串

  • 示例:
//字符串與字符串拼接
String a = "hello"; 
String b = "world"; 
String c = a + b; 
System.out.println(c);
輸出結(jié)果:hello world
//字符串和整數(shù)進(jìn)行拼接
int a = 10;
System.out.println("a = " + a);
輸出結(jié)果:a=10
注意:當(dāng)想要先計(jì)算數(shù)據(jù)時(shí)可以加上括號(hào)
  • 示例:
int a = 10;
int b = 20;
System.out.println("a+b = " + (a + b));
輸出結(jié)果:a+b=30

字符串轉(zhuǎn)義

字符串中的一些特定的不太方便直接表示的字符需要進(jìn)行轉(zhuǎn)義(同C語言)
  • 示例:
String str = "Hello \"xxx\" !";
System.out.println(str);
輸出結(jié)果:Hello "xxx" !
  • 特殊的轉(zhuǎn)義字符:
  特殊字符的轉(zhuǎn)義序列  
轉(zhuǎn)義字符 解釋 Unicode 值
\b 退格 \u0008
\t 制表 \u0009
\n 換行 \u000a
\r 回車 \u000d
\ ‘' 雙引號(hào) \u0022
\ ' 單引號(hào) \u0027
\ \ 反斜杠 \u005c

 

變量的作用域

 

定義:指變量能生效的范圍,
一般是變量定義所在的代碼塊 (大括號(hào))(與C語言一致)

 

變量的命名規(guī)則

  • 硬性指標(biāo):

1. 一個(gè)變量名只能包含數(shù)字, 字母, 下劃線
2. 數(shù)字不能開頭
3. 變量名是大小寫敏感的. 即 num 和 Num 是兩個(gè)不同的變量
注意: 雖然語法上也允許使用中文/美元符($)命名變量, 但 強(qiáng)烈 不推薦這樣做

  • 軟性指標(biāo):

 

1. 變量命名要具有描述性, 見名知意
2. 變量名不宜使用拼音(但是不絕對)
3. 變量名的詞性推薦使用名詞
4. 變量命名推薦 小駝峰命名法, 當(dāng)一個(gè)變量名由多個(gè)單詞構(gòu)成的時(shí)候, 除了第一個(gè)單詞之外, 其他單詞首字母都大寫

 

常量

定義:指的是運(yùn)行時(shí)類型不能發(fā)生改變

 

字面值常量

10 		// int 字面值常量(十進(jìn)制) 
010 	// int 字面值常量(八進(jìn)制) 由數(shù)字 0 開頭. 010 也就是十進(jìn)制的 8 
0x10 	// int 字面值常量(十六進(jìn)制) 由數(shù)字 0x 開頭. 0x10 也就是十進(jìn)制的 16 
10L 	// long 字面值常量. 也可以寫作 10l (小寫的L) 
1.0 	// double 字面值常量. 也可以寫作 1.0d 或者 1.0D 
1.5e2 	// double 字面值常量. 科學(xué)計(jì)數(shù)法表示. 相當(dāng)于 1.5 * 10^2 
1.0f 	// float 字面值常量, 也可以寫作 1.0F 
true 	// boolen 字面值常量, 同樣的還有 false 
'a' 	// char 字面值常量, 單引號(hào)中只能有一個(gè)字符
"abc" 	// String 字面值常量, 雙引號(hào)中可以有多個(gè)字符

final 關(guān)鍵字修飾的常量

final int a = 10; 
a = 20; // 編譯出錯(cuò). 提示 無法為最終變量a分配值

注:常量不能在程序運(yùn)行過程中發(fā)生修改

 

類型轉(zhuǎn)換

 

int 和 long/double 相互賦值

隱性類型轉(zhuǎn)換
小范圍類型賦值給大范圍類型(不會(huì)報(bào)錯(cuò))
顯性類型轉(zhuǎn)換
大范圍類型賦值給小范圍類型(會(huì)報(bào)錯(cuò))

  • 示例:
int a = 10; 
long b = 20; 
a = b; // 編譯出錯(cuò), 提示可能會(huì)損失精度
b = a; // 編譯通過
注:使用強(qiáng)制類型轉(zhuǎn)化的方式可以將 double 類型強(qiáng)制轉(zhuǎn)成 int,但是可能精度缺失

int 和 boolean 相互賦值 示例:

int a = 10; 
boolean b = true; 
b = a; // 編譯出錯(cuò), 提示不兼容的類型
a = b; // 編譯出錯(cuò), 提示不兼容的類型

注:int 和 boolean互不相干,互不相干的類型之間無法強(qiáng)轉(zhuǎn)

總結(jié):

1. 不同數(shù)字類型的變量之間賦值, 表示范圍更小的類型能隱式轉(zhuǎn)換成范圍較大的類型
2. 如果需要把范圍大的類型賦值給范圍小的, 需要強(qiáng)制類型轉(zhuǎn)換, 但是可能精度丟失
3. 將一個(gè)字面值常量進(jìn)行賦值的時(shí)候, Java 會(huì)自動(dòng)針對數(shù)字范圍進(jìn)行檢查

 

數(shù)值提升

 

int 和 long 混合運(yùn)算

int a = 10; 
long b = 20; 
int c = a + b; // 編譯出錯(cuò), 提示將 long 轉(zhuǎn)成 int 會(huì)丟失精度
long d = a + b; // 編譯通過

結(jié)論:

當(dāng) int 和 long 混合運(yùn)算的時(shí)候 , int 會(huì)提升成 long , 得到的結(jié)果是 long 類型 , 需要 long 類型接收
如果非要用 int 來接收結(jié)果 , 就需要使用強(qiáng)制類型轉(zhuǎn)換

byte 和 byte 的運(yùn)算

byte a = 10; 
byte b = 20; 
byte c = a + b; 
System.out.println(c); // 編譯報(bào)錯(cuò)

解釋:計(jì)算時(shí)先將a和b都提升成int, 得到的結(jié)果也是int, 需要int型接收(或者強(qiáng)制類型轉(zhuǎn)化)

結(jié)論:

當(dāng)小于4字節(jié)類型數(shù)據(jù)計(jì)算時(shí)需考慮整型提升

 

int 和 String 之間的相互轉(zhuǎn)換

 

int 轉(zhuǎn)換成 String

示例:

int num = 10;
String str1 = num + "";
//String str2 = String.valueOf(num);

String 轉(zhuǎn)換成 int

示例:

String str = "100";
int num = Integer.parseInt(str);
//int num = Integer.valueOf(str);

 

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!

原文鏈接:https://blog.csdn.net/CS_z_jun/article/details/120000579

延伸 · 閱讀

精彩推薦
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒有升過級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 国产亚洲精品美女久久久 | 久久久在线 | 免费黄色片网站 | 免费一级毛片在线播放不收费 | 91香焦视频 | 国产精品久久久久久238 | 国产精品久久久久久久久久尿 | 在线a毛片免费视频观看 | 日韩黄色精品视频 | 91国内精品久久久久免费影院 | 中文在线国产 | 成人午夜视频免费看 | 72pao成人国产永久免费视频 | 精品国产亚洲人成在线 | 久草在线资源观看 | 91福利免费视频 | 亚洲一区免费观看 | 日本黄色免费片 | 成人在线视频在线观看 | 国产激情精品一区二区三区 | 久久久激情网 | 中文字幕免费在线看 | 在线天堂资源 | 99在线在线视频免费视频观看 | av在线一区二区三区四区 | 性色av一区二区三区四区 | 天堂成人一区二区三区 | 久久成人亚洲 | 日韩视频一区二区三区在线观看 | 久久色伦理资源站 | 色678黄网站全部免费 | 古装三级在线观看 | 国产精品一区在线免费观看 | 美女久久久久久久久 | 综合欧美一区二区三区 | 国产乱一区二区三区视频 | 成人午夜视频在线观看 | 久久精品久久精品国产大片 | 精品中文字幕在线播放 | 91在线视频免费观看 | 一级黄色a视频 |