黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java變量類型詳解

Java變量類型詳解

更新時間:2022-09-29 11:18:48 來源:動力節(jié)點(diǎn) 瀏覽1226次

變量為我們提供了程序可以操作的命名存儲。Java中的每個變量都有一個特定的類型,它決定了變量內(nèi)存的大小和布局;可存儲在該存儲器中的值的范圍;以及可以應(yīng)用于變量的操作集。

必須先聲明所有變量,然后才能使用它們。以下是變量聲明的基本形式

data type variable [ = value][, variable [ = value] ...] ;

這里的數(shù)據(jù)類型是Java的數(shù)據(jù)類型之一,變量是變量的名稱。要聲明指定類型的多個變量,可以使用逗號分隔的列表。

以下是Java中變量聲明和初始化的有效示例

實(shí)例

int a, b, c;         // Declares three ints, a, b, and c.
int a = 10, b = 10;  // Example of initialization
byte B = 22;         // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a';        // the char variable a iis initialized with value 'a'

Java中有三種變量

局部變量

實(shí)例變量

類/靜態(tài)變量

局部變量

局部變量在方法、構(gòu)造函數(shù)或塊中聲明。

局部變量是在輸入方法、構(gòu)造函數(shù)或塊時創(chuàng)建的,變量一旦退出方法、構(gòu)造函數(shù)或者塊就會被銷毀。

訪問修飾符不能用于局部變量。

局部變量僅在聲明的方法、構(gòu)造函數(shù)或塊中可見。

局部變量在內(nèi)部堆棧級別實(shí)現(xiàn)。

局部變量沒有默認(rèn)值,因此應(yīng)聲明局部變量,并在首次使用前分配初始值。

實(shí)例

在這里,年齡是一個局部變量。這是在pupAge()方法中定義的,其范圍僅限于此方法。

public class Test {
   public void pupAge() {
      int age = 0;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }
   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

這將產(chǎn)生以下結(jié)果

輸出

Puppy age is: 7

實(shí)例

下面的示例使用age而不進(jìn)行初始化,因此在編譯時會給出錯誤。

public class Test {
   public void pupAge() {
      int age;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }
   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

這將在編譯時產(chǎn)生以下錯誤

輸出

Test.java:4:variable number might not have been initialized
age = age + 7;        ^
1 error

實(shí)例變量

實(shí)例變量在類中聲明,但在方法、構(gòu)造函數(shù)或任何塊之外。

當(dāng)為堆中的對象分配空間時,將為每個實(shí)例變量值創(chuàng)建一個槽。

使用關(guān)鍵字“new”創(chuàng)建對象時創(chuàng)建實(shí)例變量,銷毀對象時銷毀實(shí)例變量。

實(shí)例變量包含必須由多個方法、構(gòu)造函數(shù)或塊引用的值,或者必須在整個類中出現(xiàn)的對象狀態(tài)的基本部分。

實(shí)例變量可以在使用之前或之后在類級別聲明。

可以為實(shí)例變量提供訪問修飾符。

實(shí)例變量對于類中的所有方法、構(gòu)造函數(shù)和塊都可見。通常,建議將這些變量設(shè)置為私有(訪問級別)。但是,可以使用訪問修飾符為這些變量提供子類的可見性。

實(shí)例變量具有默認(rèn)值。對于數(shù)字,默認(rèn)值為0,對于布爾值為false,對于對象引用為null。值可以在聲明期間或在構(gòu)造函數(shù)內(nèi)賦值。

通過在類內(nèi)調(diào)用變量名,可以直接訪問實(shí)例變量。然而,在靜態(tài)方法中(當(dāng)實(shí)例變量被賦予可訪問性時),應(yīng)該使用完全限定名來調(diào)用它們。對象引用.VariableName。

實(shí)例

import java.io.*;
public class Employee {
   // this instance variable is visible for any child class.
   public String name;
   // salary  variable is visible in Employee class only.
   private double salary;
   // The name variable is assigned in the constructor.
   public Employee (String empName) {
      name = empName;
   }
   // The salary variable is assigned a value.
   public void setSalary(double empSal) {
      salary = empSal;
   }
   // This method prints the employee details.
   public void printEmp() {
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }
   public static void main(String args[]) {
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

這將產(chǎn)生以下結(jié)果

輸出

name  : Ransika
salary :1000.0

類/靜態(tài)變量

類變量也稱為靜態(tài)變量,在類中用static關(guān)鍵字聲明,但在方法、構(gòu)造函數(shù)或塊之外。

每個類只能有一個類變量的副本,而不管從中創(chuàng)建了多少個對象。

除了聲明為常量之外,很少使用靜態(tài)變量。常量是聲明為public/private、final和static的變量。常量變量從不改變其初始值。

靜態(tài)變量存儲在靜態(tài)內(nèi)存中。很少使用聲明為final以外的靜態(tài)變量,并將其用作公共或私有常量。

靜態(tài)變量在程序啟動時創(chuàng)建,在程序停止時銷毀。

可見性類似于實(shí)例變量。然而,大多數(shù)靜態(tài)變量被聲明為公共變量,因?yàn)樗鼈儽仨殞︻惖挠脩艨捎谩?/p>

默認(rèn)值與實(shí)例變量相同。對于數(shù)字,默認(rèn)值為0;對于布爾人來說,這是錯誤的;對于對象引用,它為空。值可以在聲明期間或在構(gòu)造函數(shù)內(nèi)賦值。此外,可以在特殊的靜態(tài)初始值設(shè)定項(xiàng)塊中分配值。

可以通過調(diào)用類名ClassName.VariableName來訪問靜態(tài)變量。

當(dāng)將類變量聲明為publicstaticfinal時,變量名(常量)都是大寫的。如果靜態(tài)變量不是public和final,則命名語法與實(shí)例和局部變量相同。

實(shí)例

import java.io.*;
public class Employee {
   // salary  variable is a private static variable
   private static double salary;
   // DEPARTMENT is a constant
   public static final String DEPARTMENT = "Development ";
   public static void main(String args[]) {
      salary = 1000;
      System.out.println(DEPARTMENT + "average salary:" + salary);
   }
}

這將產(chǎn)生以下結(jié)果

輸出

Development average salary:1000

如果變量是從外部類訪問的,則常量應(yīng)作為Employee.DEPARTMENT訪問。如果大家想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲经典在线中文字幕 | 午夜片在线 | 麻豆国产高清在线播放 | 免费中文字幕视频 | 曰批视频免费 | 色综合天天综合中文网 | 亚洲aⅴ男人的天堂在线观看 | 成人夜间视频 | 国产精品国产三级国产无毒 | 91视频一区二区 | 午夜性影院爽爽爽爽爽爽 | 2020久久国产最新免费观看 | 亚洲国产成人资源在线软件 | 欧美久久天天综合香蕉伊 | 99pao在线视频成精品 | 中文字幕第98页小明免费 | 久一在线| 精品国产免费人成网站 | 国产精品免费视频能看 | 国产高清在线不卡 | 性xxxx毛茸茸俄罗斯 | 日批在线播放 | 欧美精品1 | 夜色私人影院永久入口 | 1000部羞羞视频在线看视频 | 综合网天天操天天射 | 成人欧美网站免费 | 精品手机在线 | 丝袜调教视频 | 精品亚洲综合久久中文字幕 | 免费看一级黄色片 | 国产精品免费大片 | 久99久精品视频免费观看v | 日本一区深夜影院深a | 一区二区三区波多野结衣 | 欧洲成人免费高清视频 | 欧美一级黄视频 | 日韩高清在线高清免费 | 一机毛片 | 免费日韩毛片 | 午夜三级成人三级 |