[java基礎]之變數

小杆子發表於2021-02-07
變數概述

變數其實就是記憶體中的一小塊區域,使用變數名來訪問這塊區域,因此,每個變數使用前必須要先申請(宣告),然後必須進行賦值(填充內容),才能使用。

【java基礎】之變數

變數的定義:

1.宣告

2.賦值

3.使用

注意:

1.變數一定要先宣告再賦值再使用

2.變數不能夠重複定義

3.變數不能夠連續定義 int a=b=c=10;✖

4.建議一行只寫一條語句

定義變數的三要素; 資料型別 變數名 初始化值
定義變數的格式

資料型別 變數名 = 初始化值;

變數型別
類變數 獨立與方法之外的變數,用static修飾
例項變數 獨立於方法之外的變數,不過沒有static修飾
區域性變數 類的方法中的變數
public class Variable{

 static int allClicks=0;    // 類變數

 String str="hello world";  // 例項變數

 public void method(){

 int i =0;  // 區域性變數

 }
}
區域性變數
  • 區域性變數宣告在方法、構造方法或者語句塊中;
  • 區域性變數在方法,構造方法,或者語句塊被執行的時候建立,當它們執行完成後,變數將會被銷燬;
  • 訪問修飾符不能用於區域性變數
  • 區域性變數只在宣告它的方法,構造方法或者語句塊中可見。
  • 區域性變數在棧上分配的
  • 區域性變數滅有預設值,所以區域性變數被宣告後,必須經過初始化,才可以使用。
package com.runoob.test;

public class Test{ 
 public void pupAge(){
 int age = 0;
 age = age + 7;
 System.out.println("小狗的年齡是: " + age);
 }
 public static void main(String[] args){
 Test test = new Test();
 test.pupAge();
 }
}
例項變數
  • 例項變數宣告在一個類中,但在方法、構造方法和語句塊之外;
  • 當一個物件被例項化之後,每個例項變數的值就跟著確定;
  • 例項變數在物件建立的時候建立,在物件被銷燬的時候銷燬;
  • 例項變數的值應該至少被一個方法,構造方法或者語句塊引用,是的外部能夠透過這些方式獲取例項變數資訊;
  • 例項變數可以宣告在使用前或者使用後
  • 訪問修飾符可以修飾例項變數;
  • 例項變數對於類的方法、構造方法或者語句塊是可見的。一般情況下應該把例項變數設為私有。透過使用訪問修飾符可以是例項變數對子類可見;
  • 例項變數具有預設值。數值型變數的預設值是0,布林型變數的預設值是false,引用型別變數的預設值是null。變數的值可以在宣告時指定,也可以在構造方法中指定;
  • 例項變數可以直接透過變數名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObejectReference.VariableName。
import java.io.*;

    public class Employee{

     // 這個例項變數對子類可見

     public String name;

     // 私有變數,僅在該類可見

     private double salary;

     //在構造器中對name賦值

     public Employee (String empName){

     name = empName;

     }

     //設定salary的值

     public void setSalary(double empSal){

     salary = empSal;

     } 

     // 列印資訊

     public void printEmp(){

     System.out.println("名字 : " + name );

     System.out.println("薪水 : " + salary);

     }

     public static void main(String[] args){

     Employee empOne = new Employee("RUNOOB");

     empOne.setSalary(1000);

     empOne.printEmp();

     }

    }
類變數(靜態變數)
  • 類變數也成為靜態變數,在類中以static 關鍵字宣告,但必須在方法之外。

  • 無論一個類建立多少個物件,類只擁有類變數的一份複製

  • 靜態變數除了被宣告為常量外很少使用。常量是指宣告為public/private,final和static型別的變數。常量初始化後不可改變。

  • 靜態變數儲存在靜態儲存區。經常被宣告為常量,很少單獨使用static宣告變數。

  • 基尼國泰變數在第一次訪問時建立,在程式結束時銷燬

  • 與例項變數具有相似的可見性。但為了對類的使用者可見,大多數靜態變數宣告為public型別。

  • 預設值和例項變數相似。數值型變數預設值是0,布林型預設值是false,引用型別預設值是null。變數的值可以在宣告時候指定,也可以在構造方法中指定。此外,靜態變數還可以在靜態語句塊中初始化。

  • 靜態變數可以透過:ClassName.VariableName的方式訪問。

  • 類變數被宣告為public static final 型別時,類變數名稱一般建議使用大寫字母。如果靜態變數不是public和final型別,其命名方式與例項變數以及區域性變數的命名方式一致。

    import java.io.*;
    
    public class Employee {
    
     //salary是靜態的私有變數
    
     private static double salary;
    
     // DEPARTMENT是一個常量
    
     public static final String DEPARTMENT = "開發人員";
    
     public static void main(String[] args){
    
     salary = 10000;
    
     System.out.println(DEPARTMENT+"平均工資:"+salary);
    
     }
    
    }
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章