天天看點

Java基礎文法(2)-變量

title: Java基礎文法(2)-變量

blog: CSDN

data: Java學習路線及視訊

1.什麼是變量?

  • 變量的概念
    • 記憶體中的一個存儲區域
    • 該區域的資料可以在同一類型範圍内不斷變化
    • 變量是程式中最基本的存儲單元。包含變量類型、變量名和存儲的值
Java基礎文法(2)-變量
  • 變量的作用
    • 用于在記憶體中儲存資料
  • 使用變量注意
    • Java中每個變量必須先聲明,後使用
    • 使用變量名來通路這塊區域的資料
    • 變量的作用域:其定義所在的一對{ }内
    • 變量隻有在其作用域内才有效
    • 同一個作用域内,不能定義重名的變量
  • 聲明變量
    • 文法:<資料類型> <變量名稱>
    • 例如:int age;
  • 變量的指派
    • 文法:<變量名稱> = <值>
    • 例如:age= 10;
  • 聲明和指派變量
  • 文法: <資料類型> <變量名> = <初始化值>
  • 例如:int age = 10;

2.變量的分類-按資料類型

  • 對于每一種資料都定義了明确的具體資料類型(強類型語言),在記憶體中配置設定了不同大小的記憶體空間。
Java基礎文法(2)-變量
  • 變量的分類-按聲明的位置的不同
  • 在方法體外,類體内聲明的變量稱為成員變量。
    Java基礎文法(2)-變量
  • 二者在初始化值方面的異同
    • 同:都有生命周期 異:局部變量除形參外,需顯式初始化。

3.資料類型-整數型

  • Java各整數類型有固定的表數範圍和字段長度,不受具體OS的影響,以保證java程式的可移植性。
  • java的整型常量預設為 int 型,聲明long型常量須後加‘l’或‘L’
  • java程式中變量通常聲明為int型,除非不足以表示較大的數,才使用long
    類 型 占用存儲空間 表數範圍
    byte 1位元組=8bit位 -128 ~ 127
    short 2位元組 -215 ~215-1
    int 4位元組 -231 ~ 231-1 (約21億)
    long 8位元組 -263 ~ 263-1
    bit: 計算機中的最小存儲機關。byte:計算機中基本存儲單元。
  • VariableTest
public class VarialeTest{
    public class void main(String[] args){
        int number1 = 10;  //聲明變量number
        int number2 = 20;
        
        int number3 = number1+number2; //number3為10+20=30
        
        System.out.println("Number=" + number3)
    }
}
           

4.資料類型-浮點型

  • 與整數類型類似,Java 浮點類型也有固定的表數範圍和字段長度,不受具體作業系統的影響
  • 浮點型常量有兩種表示形式
    • 十進制數形式:如:5.12 512.0f .512 (必須有小數點)
    • 科學計數法形式:如:5.12e2 512E2 100E-2
    • float:單精度,尾數可以精确到7位有效數字。很多情況下,精度很難滿足需求。
    • double:雙精度,精度是float的兩倍。通常采用此類型。
    • Java的浮點型常量預設為double型,聲明float型常量須後加'f'或'F'
    類 型 占用存儲空間 表數範圍
    單精度float 4位元組 -3.403E38 ~ 3.403E38
    雙精度double 8位元組 -1.798E308 ~ 1.798E308

5.資料類型-字元類型

  • char 型資料用來表示通常意義上“字元”(2位元組)
  • Java中的所有字元都使用Unicode編碼,故一個字元可以存儲一個字母一個漢字或其他書面語的一個字元。
  • 字元型變量的三種表現形式
    • 字元常量是用單引号(‘ ’)括起來的單個字元。例如:char c1 = 'a'; char c2= '中'; char c3 = '9';
    • Java中還允許使用轉義字元‘\’來将其後的字元轉變為特殊字元型常量。例如:char c3 = ‘\n’; // '\n'表示換行符
    • 直接使用 Unicode 值來表示字元型常量:‘\uXXXX’。其中,XXXX代表一個十六進制整數。如:\u000a 表示 \n。
    • char類型是可以進行運算的。因為它都對應有Unicode碼。
    • ASCII-Unicode-UTF-8(擴充閱讀)

6.資料類型-布爾類型(boolean)

  • boolean 類型用來判斷邏輯條件,一般用于程式流程控制
    • if條件控制語句;
    • while循環控制語句;
    • do-while循環控制語句;
    • for循環控制語句;
  • boolean類型資料隻允許取值true和false,無null。
    • 不可以使用0或非 0 的整數替代false和true,這點和C語言不同。
    • Java虛拟機中沒有任何供boolean值專用的位元組碼指令,Java語言表達所操作的boolean值,在編譯之後都使用java虛拟機中的int資料類型來代替:true用1表示,false用0表示。

7.基本資料類型轉換

  • 自動類型轉換
    • 容量小的類型自動轉換為容量大的資料類型。資料類型按容量大小排序為
    Java基礎文法(2)-變量
    • 有多種類型的資料混合運算時,系統首先自動将所有資料轉換成容量最大的那種資料類型,然後再進行計算。
    • byte,short,char之間不會互相轉換,他們三者在計算時首先轉換為int類型。
    • boolean類型不能與其它資料類型運算。
    • 當把任何基本資料類型的值和字元串(String)進行連接配接運算時(+),基本資料類型的值将自動轉化為字元串(String)類型。

8.字元串類型-String

  • String不是基本資料類型,屬于引用資料類型
  • 使用方式與基本資料類型一緻。例如:String str = “abcd”;
  • 一個字元串可以串接另一個字元串,也可以直接串接其他類型的資料。
public class StringTest {
	public static void main(String[] args) {
		int no = 10;
		String str = "abcdef";
		String str1 = str + "xyz"+ no; 

		str1 = str1 + "123"; 
		char c = '國'; 
        
		double pi = 3.1416;
		str1 = str1 + pi;
		boolean b = false;
		str1 = str1 + b;
		str1 = str1 + c;
        //abcdefXYZ101233.1416false國
		System.out.println("str1 = " + str1);
}

           

9.強制類型轉換

  • 自動類型轉換的逆過程,将容量大的資料類型轉換為容量小的資料類型。使用時要加上強制轉換符:(),但可能造成精度降低或溢出,格外要注意。
  • 通常字元串不能直接轉換為基本類型,但通過基本類型對應的包裝類則可以實作把字元串轉換成基本類型
String a = "43"; int i = Integer.parseInt(a);
           
  • boolean類型不可以轉換為其它的資料類型。

10.結語

Java基礎文法(2)-變量

2020-3-26: 代碼整潔之道-關于辨別符

2020-3-26: Java基礎文法(1)-關鍵字與保留字

  • 今日好文推薦
    • 你以為你很優秀,但卻面試屢屢失敗?
    • 有攻擊者正發動中間人攻擊 GitHub和京東受影響最大
  • 今日資料推薦
    • 我的Java自學之路
    • springboot純前後端分離倉儲管理系統