1. 程式人生 > >Java中變數的使用

Java中變數的使用

1.java中變數的介紹
        程式的基本功能是處理資料,程式用變數來接收並表示資料,程式中必須先定義變數才能使用;
       定義變數是指設定變數的資料型別和變數的名字,Java語言要求變數遵循先定義->再初始化->然後使用的規則。

   變數的使用有一個作用域的問題,作用域是指它的存在範圍,只有在這個範圍內,程式程式碼才能訪問它。其次,作用域決定了變數的生命週期。變數的生命週期是指從一個變數被建立並分配記憶體空間開始,到這個變數被銷燬並清除其所佔用記憶體空間的過程。當一個變數被定義時,它的作用域就被確定了。按照作用域的不同,
  變數可分為以下型別:

  . 成員變數:在類中宣告,它的作用域是整個類;成員變數又叫做屬性/例項變數

  . 區域性變數:在一個方法的內部或方法的一個程式碼塊的內部宣告。如果在一個方法內部宣告,它的作用域是整個方法;如果在一個方法的某個程式碼塊的內部宣告,它的作用域是這個程式碼塊。程式碼塊是指位於一對大括號"{}"以內的程式碼。

  . 方法引數:方法或者構造方法的引數,它的作用域是整個方法或者構造方法。
  . 異常處理引數:和方法引數很相似,差別在於前者是傳遞引數給異常處理程式碼塊,而後者是傳遞引數給方法或者構造方法。異常處理引數是指catch(Exception e)語句中的異常引數"e",它的作用域是緊跟著catch(Exception e)語句後的程式碼塊。

2.區域性變數
  1) 定義在方法的內部或方法的一個程式碼塊的內部;           

     public void method1() {
         int a = 0;                      //區域性變數,作用域為整個method01方法;
         if(a==0)

     { 
            int b = 0;                   //區域性變數,作用域為所處的程式碼塊;
            b = a;
         }
            b = 20;                         //編譯出錯,b不能被訪問
     }

   2) 區域性變數沒有預設值,使用之前必須先初始化;

   3) 生命週期
      從宣告開始,到這個區域性變數直接所在的程式碼塊結束為止

     public class Sample {
            public int add() {
                  int addResult = 1; //定義addResult變數
                  addResult = addResult+2;
                  return addResult;
            }//區域性變數生命週期結束

            public int subtract() {
                  int subResult = 1;  //定義subResult變數
                  subResult = subResult-2;
                  return subResult;                                  
            }

            public static void main(String[] args) {
                Sample s = new Sample();
                s.add();
                s.add();
            }
     }

3.例項變數 
  1) 在類中宣告,它的作用域是整個類;

    class Test {
           private int n1=0;
           private int n2=0;

           public int add() {
                  int result = n2 + n2;
                  return result;
           }
     }

   2) 例項變數有預設值,使用之前無須初始化;
          注意每種變數的預設值
          基本型別中的:
                        整型變數預設值都為0
                        浮點型預設值都為0.0
                        char預設值'\u0000'
                        boolean預設值false
                       引用型別的預設值都為null

  3) 生命週期
       從類的一個物件被建立開始,到這個物件被銷燬

  class Test {
           private int n1=0;
           private int n2=0;

           public int add() {
                  int result = n2 + n2;
                  n1 = n1+1;
                  n2 = n2+2;
                  return result;
           }

           public static void main(String[] args) {
                  Test t1 = new Test();
                  Test t2 = new Test();

                  t1.add();
                  t1.add();

                  t2.add();
           }
     } 


 以上就是變數的介紹