【Java】浅析八种基本类型
寫作緣由
其實這些是最基本的東西了,但某個時刻可能還是會懵一下,特此梳理,強化基礎。
基本數據類型
Java語言提供了八種基本類型。六種數值類型(四種整數型,兩種浮點型),一種字符類型,還有一種布爾型。
- 數值類型
- 整數類型
- byte
- short
- int
- long
- 浮點類型
- float
- double
- 整數類型
- 字符類型
- char
- 布爾類型
- boolean
byte類型
byte 數據類型是8位、有符號的,以二進制補碼表示的整數,用在大型數組中可節約空間,主要代替整數,因為 byte 變量占用的空間只有 int 類型的四分之一。
- 最小值:-128(-27)
- 最大值:127(27-1)
- 默認值:0
Example:
byte a = 100; byte b = -30;short類型
short 數據類型是 16 位、有符號的以二進制補碼表示的整數,也可以像 byte 那樣節省空間,一個short變量是int型變量所占空間的二分之一。
- 最小值:-32768(-215)
- 最大值:32767(215 - 1)
- 默認值:0
Example:
short a = 30000; short b = -200;int類型
int 數據類型是32位、有符號的以二進制補碼表示的整數,整型變量默認為 int 類型。
- 最小值:-2,147,483,648(-231)
- 最大值:2,147,483,647(231 - 1)
- 默認值:0
Example:
int a = 1000000; int b = -2000000;long類型
long 數據類型是 64 位、有符號的以二進制補碼表示的整數,這種類型主要使用在需要比較大整數的系統上(真正巨大的數據要用java.math.BigInteger)。
需要強調的是:long a = 9_223_372_036_854_775_807; 是不對的,必須寫成long a = 9_223_372_036_854_775_807L;,因為默認的整數數值就是int類型的。
"L"不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辨,所以應該大寫。
- 最小值:-9,223,372,036,854,775,808L(-263)
- 最大值:9,223,372,036,854,775,807L(263 -1)
- 默認值:0L
Example:
long a = 9_223_372_036_854_775_807L; long b = -2000000L;float類型
float 數據類型是單精度、32位、符合IEEE 754標準的浮點數,float 在儲存大型浮點數組的時候可節省內存空間。浮點數不能用來表示精確的值,Java高精運算要用java.math.BigDecimal。
- 默認值:0.0f
Example:
float a = 123.4f;double類型
double 數據類型是雙精度、64 位、符合IEEE 754標準的浮點數,浮點數的默認類型為double類型。double類型同樣不能表示精確的值,Java高精運算要用java.math.BigDecimal。
- 默認值:0.0
Example:
double a = 123.4;boolean類型
boolean數據類型表示一位的信息,只有兩個取值:true 和 false。這種類型只作為一種標志來記錄 true/false 情況。但 boolean 的開銷比 byte 大,byte 顯然是更節省一些的。
- 默認值:false
Example:
boolean a = true; boolean a = false;char類型
char類型是一個單一的 16 位 Unicode 字符,char 數據類型理論上可以儲存任何Unicode字符。
- 最小值:\u000(即為數值0,相當于’')
- 最大值:\uffff(即為數值65,535)
- 默認值:\u000(即為數值0,相當于’')
Example:
char a = 'A'; char b = 100;測試
public class PrimitiveTypes { public static void main(String[] args) { System.out.println("****************************************************"); // byte類型 System.out.println("基本類型:byte 二進制位數:" + Byte.SIZE); System.out.println("包裝類:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println("****************************************************"); // short類型 System.out.println("基本類型:short 二進制位數:" + Short.SIZE); System.out.println("包裝類:java.lang.Short"); System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println("****************************************************"); // int類型 System.out.println("基本類型:int 二進制位數:" + Integer.SIZE); System.out.println("包裝類:java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println("****************************************************"); // long類型 System.out.println("基本類型:long 二進制位數:" + Long.SIZE); System.out.println("包裝類:java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println("****************************************************"); // float類型 System.out.println("基本類型:float 二進制位數:" + Float.SIZE); System.out.println("包裝類:java.lang.Float"); System.out.println("最小正數值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大正數值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println("****************************************************"); // double類型 System.out.println("基本類型:double 二進制位數:" + Double.SIZE); System.out.println("包裝類:java.lang.Double"); System.out.println("最小正數值:Double.MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大正數值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println("****************************************************"); // char類型 System.out.println("基本類型:char 二進制位數:" + Character.SIZE); System.out.println("包裝類:java.lang.Character"); System.out.println("最小值:Character.MIN_VALUE=" + Character.MIN_VALUE);System.out.println("最大值:Character.MAX_VALUE=" + Character.MAX_VALUE);// 以數值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺 System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); // 以數值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺 System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); System.out.println("****************************************************"); } }輸出結果
**************************************************** 基本類型:byte 二進制位數:8 包裝類:java.lang.Byte 最小值:Byte.MIN_VALUE=-128 最大值:Byte.MAX_VALUE=127 **************************************************** 基本類型:short 二進制位數:16 包裝類:java.lang.Short 最小值:Short.MIN_VALUE=-32768 最大值:Short.MAX_VALUE=32767 **************************************************** 基本類型:int 二進制位數:32 包裝類:java.lang.Integer 最小值:Integer.MIN_VALUE=-2147483648 最大值:Integer.MAX_VALUE=2147483647 **************************************************** 基本類型:long 二進制位數:64 包裝類:java.lang.Long 最小值:Long.MIN_VALUE=-9223372036854775808 最大值:Long.MAX_VALUE=9223372036854775807 **************************************************** 基本類型:float 二進制位數:32 包裝類:java.lang.Float 最小正數值:Float.MIN_VALUE=1.4E-45 最大正數值:Float.MAX_VALUE=3.4028235E38 **************************************************** 基本類型:double 二進制位數:64 包裝類:java.lang.Double 最小正數值:Double.MIN_VALUE=4.9E-324 最大正數值:Double.MAX_VALUE=1.7976931348623157E308 **************************************************** 基本類型:char 二進制位數:16 包裝類:java.lang.Character 最小值:Character.MIN_VALUE= 最大值:Character.MAX_VALUE=總結
以上是生活随笔為你收集整理的【Java】浅析八种基本类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C语言】《程序设计基础(C语言)》自编
- 下一篇: java美元兑换,(Java实现) 美元