全面剖析java 數據類型與運算符

java的數據類型與運算符

java的變量和類型

變量指的是程序運行是可變的量,其需要開辟內存空間用於儲存一些數據
而類型是對變量的種類進行劃分,不同的類型有不同的屬性

在這裡插入圖片描述

基本數據類型——數值型

整型

byte

byte 變量名=初始值
byte類型表示一個整形不過隻占1個字節;
其數據范圍為[-128,127]

public static void main(String[] args) {
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
    }

在這裡插入圖片描述

short

***short 變量名 = 初始值 ***
short表示變量的類型是一個整型
short的取值范圍[-32768,32767]

public static void main(String[] args) {
        System.out.println(Short.MIN_VALUE);
        System.out.println(Short.MAX_VALUE);
    }

在這裡插入圖片描述

int

語法:
***int 變量名 = 初始值 ***

int 表示變量的類型是一個整型
Java中,int類型占4個字節(每個字節占8個比特位)
其數據范圍是 -2^31 -> 2^31-1 , 也就大概是 -21億 到 +21億

public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }

在這裡插入圖片描述

如果運算結果超過其數據范圍,就會出現溢出情況

public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE+1);
        System.out.println(Integer.MIN_VALUE-1);
    }

在這裡插入圖片描述

21億這樣的數字對於當前的大數據時代來說, 是很容易超出的. 針對這種情況, 我們就需要使用更大范圍的數據類型來表示,因此 Java 中提供瞭 long 類型.

long

語法:
***long 變量名 = 初始值 ***
long 占8個字節其數據范圍 [-2^63 ,2^63-1]

public static void main(String[] args) {
        long a=10l;
        System.out.println(a);
    }
public static void main(String[] args) {
        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);
    }

在這裡插入圖片描述

註意:

基本語法格式和創建 int 變量基本一致, 隻是把類型修改成 long初始化設定的值為 10L , 表示一個長整型的數字. 10l 也可以.使用 10 初始化也可以, 10 的類型是 int, 10L 的類型是 long, 使用 10 L 或者 10 l 更好一些.

浮點型

double

語法:
double 變量名 = 初始值

public static void main(String[] args) {
        double num = 1.0;
        System.out.println(num);
    }

註意:
在 Java 中, int 除以 int 的值仍然是 int(會直接舍棄小數部分).

public static void main(String[] args) {
        int a = 1;
		int b = 2;
		System.out.println(a / b);
    }

在這裡插入圖片描述

Java 中的 double 雖然也是 8 個字節, 但是浮點數的內存佈局和整數差別很大, 不能單純的用 2 ^ n 的形式表示數據范
圍.
Java 的 double 類型的內存佈局遵守 IEEE 754 標準(和C語言一樣), 嘗試使用有限的內存空間表示可能無限的小數, 勢
必會存在一定的精度誤差.

public static void main(String[] args) {
        double num = 1.1;
        System.out.println(num * num);
    }

在這裡插入圖片描述

float

語法:
float 變量名 = 初始值

public static void main(String[] args) {
        float num = 1.0F;
        System.out.println(num);
    }

float 類型在 Java 中占四個字節, 同樣遵守 IEEE 754 標準. 由於表示的數據精度范圍較小, 一般在工程上用到浮點數都
優先考慮 double, 不太推薦使用 float.

字符型

char

char 變量名 = 初始值

public static void main(String[] args){
	 	char ch='呵';
        System.out.println(ch);
}

註意:

Java 中使用 單引號 + 單個字母 的形式表示字符字面值.計算機中的字符本質上是一個整數. 在 C 語言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一個字符占用兩個字節, 表示的字符種類更多, 包括中文.

佈爾型

boolean

boolean 變量名 = 初始值

public static void main(String[] args) {
        boolean bool=false;
        System.out.println(bool);
    }

註意:

  • boolean 類型的變量隻有兩種取值, true 表示真, false 表示假.
  • Java 的 boolean 類型和 int 不能相互轉換, 不存在 1 表示 true, 0 表示 false 這樣的用法.
  • boolean 類型有些 JVM 的實現是占 1 個字節, 有些是占 1 個比特位, 這個沒有明確規定.

運算符

運算符:|

*** 如果兩個二進制位都是 0, 則結果為 0, 否則結果為 1***

public static void main(String[] args) {
        int a=1;
        int b=2;
        System.out.println(a|b);
    }

在這裡插入圖片描述

運算符:&

如果兩個二進制位都是 1, 則結果為 1, 否則結果為 0.

public static void main(String[] args) {
        int a=1;
        int b=2;
        System.out.println(a&b);
    }

在這裡插入圖片描述

運算符:^

*** 如果兩個數字的二進制位相同, 則結果為 0, 相異則結果為 1.***

public static void main(String[] args) {
        int a=1;
        int b=2;
        System.out.println(a^b);
    }

在這裡插入圖片描述

運算符:~

如果該位為 0 則轉為 1, 如果該位為 1 則轉為 0

public static void main(String[] args) {
        int a=1;
        int b=~a;
        System.out.println(b);
    }

在這裡插入圖片描述

運算符:>>

最右側位不要, 最左側補符號位(正數補0, 負數補1)

 public static void main(String[] args) {
        int a=8;
        System.out.println(a>>1);//向右位移1個
    }

在這裡插入圖片描述

運算符:<<

最左側位不要瞭, 最右側補 0

public static void main(String[] args) {
        int a=8;
        System.out.println(a<<1);
    }

在這裡插入圖片描述

運算符:>>>

最右側位不要瞭, 最左側補 0(無論他是否為負數)

public static void main(String[] args) {
        int a=8;
        System.out.println(a>>>1);
        int b=-1;
        System.out.println(b >>> 1);
    }

在這裡插入圖片描述

到此這篇關於全面剖析java 數據類型與運算符的文章就介紹到這瞭,更多相關java 數據類型與運算符內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: