天天看點

我的JAVA學習之路(第三天)-------常量與變量

(參考網易雲課堂:龍馬高新教育)

1.常量

1.1聲明常量

(順便分享一個很實用快捷鍵CTRL+D,可以删除JAVA目前行的内容 )
      (還有CTRL+M 也很好用)
      文法: final 資料類型 常量名稱 = 值
      規範:常量名稱通常使用大寫字母,比如PI、YEAR等等
      規則:常量名稱符合辨別符的要求,隻能用字母、數字、_、$組成,不能以數字開頭、不能使用關鍵詞      
public class TestFinal4_1 {
  static final int YEAR = 365;  //定義一個常量(在main外或者裡面都可以)
  //main方法是靜态的 是以上面定義也要加static
  public static void main(String[] args) {
    System.out.println("一年有"+YEAR+"天");  
    System.out.println("兩年有"+YEAR*2+"天"); 
  }
}
如果把YEAR的定義放在main裡面就可以不加
public class TestFinal4_1 {
  public static void main(String[] args) {
    final int YEAR = 365;  
    System.out.println("一年有"+YEAR+"天");      
  }

}      

2.變量

2.1聲明變量

變量的定義指派與使用不太多叙述;      
public static void main(String[] args) {
    int num = 10;
    System.out.println("num="+num);
    double money = 1000000;
    System.out.println("money="+money);
    num = 100;
    System.out.println("num="+num);
    char ch = 'z';
    System.out.println("ch="+ch);
  }      

2.2變量的作用範圍

按作用範圍分類:成員變量和局部變量

1.成員變量

在類體中定義的變量,作用範圍為整個類,這個類中都可以通路到定義的這個變量

public class Test4_2 {
  static int k = 1;   //即為成員變量---在類體中定義
  public static void main(String[] args) {
  
  }

}      

2.局部變量

在一個函數(方法)或代碼塊中定義的變量

特點:局部變量在方法或代碼塊被執行的時候建立,在結束時被銷毀

下面給一個簡單的例子
public class Test4_2 {

  public static void main(String[] args) {
    int a = 1;
    //以下就是一個塊
    {
      int b = 2;
      System.out.println("a="+a);
      System.out.println("b="+b);
    }
    int b = 3; //因為在上面執行結束後 代碼塊就被銷毀了
    System.out.println("a="+a);
    System.out.println("b+"+b);
  }

}      

成員變量可以與局部變量重名

其調用服從“就近原則”

下面給出一個例子

如果不删除int var = 2,結果會顯示 2,删除後則為1;

public class Test4_2 {
  static int var = 1;
  public static void main(String[] args) {
    int var = 2;
    System.out.println("the value of var = "+var);
  }

}

例二:
public class Test4_2 {
  static int var = 1;
  public static void main(String[] args) {
    int var = 2;
    System.out.println("the value of var = "+var);
    pt();
  }
  public static void pt() {
    System.out.println("the value of var = "+var);
  }

}      

3.拓展

1.Java中作用範圍禁止嵌套,而在c/c++中則可以,在下面分别給出在java與c中的例子;

錯誤!!!或報錯
public static void main(String[] args) {
    int a = 1;
    {
      int a =2
      System.out.println("a="+a);
    }
  }      
在C語言中 正确!!!
#include<stdio.h>

int main()
{
  int a = 1;
  {
    int a=2;
    printf("%d",a);
  }
 }      

4.實戰練習

public class Test4_3 {

  public static void main(String[] args) {
    int sum = 0;
    for(int i = 1;i<=100;i++)
    {
      sum += i;
      
    }
    System.out.println("sum = "+sum);
  }

}