首頁 > 軟體

Java基礎學習之關鍵字和變數資料型別的那些事

2022-07-15 18:02:06

一. 關鍵字

Java中的關鍵字是由特定的單片語成,單詞全為小寫字母,每個都有特殊的含義,其實Java關鍵字也就那幾十個,這個不需要背,以後都會知曉:

將以上關鍵字分類大概是這樣的:

tips:

值得注意的是goto,以前的時候還在用,現在作為Java的保留字,已經不用了,但是還是存在的,保留下來而已。

Java中需要我們自定義的名字叫做識別符號。比如方法名,類名等都是需要我們自己定義。唯一注意的就是識別符號的命名規則:

一個合法的識別符號只能由數位,字母,下劃線,$組成,不能有其它符號,開頭不能以數位開頭,嚴格區分字母的大小寫,並且不能有空格,不可使用關鍵字,但是可以包含關鍵字。

二. 變數

2.1 變數的定義

變數就是可以變化的量,是記憶體當中的一小塊儲存資料的區域空間,用來儲存資料的。

這塊區域空間會進行相同資料型別範圍內的變化,此外變數也是程式中最小的儲存單元。它包含資料型別,變數名稱以及變數的值。

使用變數的幾點注意事項:

  • Java中的變數必須先宣告後使用。
  • 使用變數名去存取這塊區域資料。
  • 變數的作用域作用在{}中,且只在其中有效。
  • 同一個作用域內,變數名不可重複定義。

什麼是變數的作用域?

作用域呢,就是描述變數的有效作用範圍,只要是在這個範圍裡面變數就是可以被存取的。
變數的作用域只需要記住一句話就行了:出了大括號{}就不起作用了。

2.2 變數的分類

1. 按照資料型別分類

程式中需要處理許多資料,每一個資料都有它所屬的資料型別,,對於不同資料都有其對應的資料型別,就是在記憶體中分配了所對應大小的記憶體空間。

並且不同資料所開闢的記憶體大小也會不一樣。按照資料型別分類,Java可以分為基本資料型別參照資料型別。

基本資料型別有八種,分三大類,數值型(包括整型與浮點型),字元型與布林型,它們是:

byte,short,int,long,float,double,char,boolean

注意:字串型別不是基本的資料型別,是屬於參照資料型別比如“1”,字元型別使用單引號’a’。

整數型別byte,short,int,long使用

在Java變數的定義是這樣的:資料型別 變數名 = 字面值,Java中的整型常數預設型別是int型別的,在宣告long型時需要在常數後面加入L或者小寫的l。

它們的區別就是所佔的位元組不同,也就是表示的範圍也是不同的,範圍如下:

變數宣告,只要在範圍內都是可以的:

/**
 * @author 爪哇鬥羅(javaDouLuo)
 * @date 2022/7/2
 */
public class Demo02 {
	
	public static void main(String[] args) {
		// 變數宣告,只要在範圍內都是可以的
		byte b = 127;
		short s = 123;
		int i = 199;
		long l = 21L;
	}
}

浮點型float,double使用

浮點型就是帶小數點的,但是兩者的精度有限float屬於單精度,所以精度難以滿足需求,double屬於雙精度,精度要比float要高。

Java中宣告浮點型別的資料時float資料型別後需要加入f

浮點數精度問題

在使用浮點數的時候可能會導致精度的丟失,比如這段程式碼:

public class DataType {
    public static void main(String[] args) {
        //浮點數精度丟失
        float f1 = 221342423242434f;
        float f2 = f1 + 1;
        System.out.println(f1 == f2);//true
    }

發現結果為true,所以在實際開發中不要使用浮點數進行運算操作,最標準的話是使用BigDecimal物件型別進行運算。 

boolean型別

關於布林型別,只有true和false兩個值,通常是作為程式判斷的標誌。     

什麼是位元組

瞭解位元組之前看看什麼是二進位制,現在的計算機只會識別二進位制指令,也就是0與1。

只認識01010101011101010....這種的,計算機識別0與1的時候是通過底層交流電的開閉來告訴辨別指令的。

所謂的1個位元組佔8個位元位(1byte=8bit)而一個位元位存放的就是0或者1。

1Byte = 8bit
1KB =1024Byte
1MB = 1024KB
1G = 1024MB
1T = 1024G

基本資料型別的轉換

基本資料型別之間的轉換分為顯式轉換隱式轉換,布林型別不可進行型別的轉換。

  •  範圍從低到高為隱式轉換,反之需要顯式轉換。
  • 轉換時應該注意精度問題。
  • byte short char需要進行顯式轉換。
 public static void main(String[] args) {
        int a = 128;
        byte i = (byte)a;
        System.out.println(i);
 }

這段程式碼輸出結果是-128,因為在轉換時要注意到記憶體溢位的問題,因為128已經超過byte所表示的範圍。

三. 字元編碼

因為計算機只認識二進位制資料,但是我們日常中說的語言比如漢字,英語等。這些計算機並不會認識,它們之間也沒有任何轉換的關係。

為了讓計算機能夠識別現實中的文字,於是人為的將現實中的文字與二進位制的關係所對應起來。

根據某種格式進行編碼,這種對照轉換關係就是字元編碼。

比如最初只支援英文,所以最先出現的字元編碼就是ASCII碼。比如’a’對應的字元編碼是97,對應的二進位制就是【01100001】,'A’對應的是65,'0’對應的是48。

將字元’a’通過ASCII進行解碼變為【01100001】,反之就是編碼。當解碼與編碼使用的是不是統一的編碼對照表就會出現亂碼。

Java中的char基本資料型別,它佔了兩個位元組,只能儲存一個漢字或者一個數位,不管存的是什麼其實底層本質就是數位。

也就是說char與數值之間可以進行常數之間的運算,就是表示字元的時候運算的是ASCII對應的值。

public class DataType {
    public static void main(String[] args) {
        char a = '1';
        char b = '國';
        char c = 'A' + 1;
        char d = 'a';
        System.out.println(a);//1
        System.out.println(b);// 國
        System.out.println((int)b);// 22269
        System.out.println((int)c);// 66
        System.out.println((int)d);//97
	}
}

補充:變數的宣告和初始化

測試變數的定義

1. 變數的宣告和賦值格式: 資料型別  變數名 = 變數值

2. 注意點:

① java是強型別的語言,宣告的每個變數,一定要指名其變數型別。

② 變數一定需要在賦值之後才可以使用

③ 變數需要先宣告,後賦值。

④ 變數都有其作用域,超出作用域範圍後,就失效。

⑤ 在同一個作用域範圍內,不可以定義同名的變數

class VariableTest {
    public static void main(String[] args) {
        //myNumber = 1;
        //變數的宣告
        int myNumber;
        //變數的賦值
        myNumber = 1;

        //變數的宣告和賦值同時進行
        int count = 2;

        System.out.println(myNumber + 1);
        //編譯不通過
        //System.out.println(age);
        //編譯不通過:在同一個作用域範圍內,不可以定義同名的變數
        //int count = 3;
        count = 3;//重新賦值
        System.out.println(count);

        int age = 20;
        System.out.println(age);
    }

    public void method(){
        int age = 10;
        System.out.println(age);
    }
}

總結

到此這篇關於Java基礎學習之關鍵字和變數資料型別的文章就介紹到這了,更多相關Java關鍵字和變數資料型別內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com