Jenis pembolehubah Java
Dalam bahasa Java, semua pembolehubah mesti diisytiharkan sebelum digunakan. Format asas untuk mengisytiharkan pembolehubah adalah seperti berikut:
type identifier [ = value][, identifier [= value] ...] ;
Penerangan format: jenis ialah jenis data Java. pengecam ialah nama pembolehubah. Berbilang pembolehubah dari jenis yang sama boleh diisytiharkan dipisahkan dengan koma.
Berikut menyenaraikan beberapa contoh pengisytiharan berubah-ubah. Ambil perhatian bahawa sesetengahnya termasuk proses permulaan.
int a, b, c; // 声明三个int型整数:a、 b、c int d = 3, e, f = 5; // 声明三个整数并赋予初值 byte z = 22; // 声明并初始化 z String s = "php" // 声明并初始化字符串 s double pi = 3.14159; // 声明了双精度浮点型变量 pi char x = 'x'; // 声明变量 x 的值是字符 'x'。
Jenis pembolehubah yang disokong oleh bahasa Java ialah:
Pembolehubah setempat
Pembolehubah ahli
Pembolehubah kelas
Pembolehubah tempatan Java
Pembolehubah setempat diisytiharkan dalam kaedah, pembina atau blok pernyataan; Pembolehubah setempat dicipta apabila kaedah, pembina, atau blok pernyataan dilaksanakan Apabila ia dilaksanakan, pembolehubah akan dimusnahkan; Pengubah suai akses tidak boleh digunakan untuk pembolehubah setempat; Pembolehubah setempat hanya boleh dilihat dalam kaedah, pembina atau blok pernyataan di mana ia diisytiharkan; Pembolehubah setempat diperuntukkan pada timbunan.
Pembolehubah tempatan tidak mempunyai nilai lalai, jadi selepas pembolehubah tempatan diisytiharkan, ia mesti dimulakan sebelum ia boleh digunakan.
Contoh 1
Dalam contoh berikut umur ialah pembolehubah setempat. Ia ditakrifkan dalam kaedah pubAge() dan skopnya terhad kepada kaedah ini. package com.php.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(); } }
Hasil penyusunan dan larian contoh di atas adalah seperti berikut:
小狗的年龄是: 7
Contoh 2Dalam contoh berikut, pembolehubah umur tidak dimulakan, jadi ralat akan berlaku semasa penyusunan:
public class Test{ public void pupAge(){ int age; age = age + 7; System.out.println("小狗的年龄是 : " + age); } public static void main(String args[]){ Test test = new Test(); test.pupAge(); } }
Contoh kompilasi dan hasil larian di atas adalah seperti berikut:Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error
Pembolehubah instance
Pengubah suai akses boleh mengubah suai pembolehubah contoh; Pembolehubah contoh boleh dilihat oleh kaedah, pembina atau blok pernyataan dalam kelas. Secara amnya, pembolehubah contoh hendaklah dijadikan peribadi. Pembolehubah contoh boleh dilihat kepada subkelas dengan menggunakan pengubah suai akses; Pembolehubah contoh mempunyai nilai lalai. Nilai lalai pembolehubah berangka ialah 0, nilai lalai pembolehubah Boolean adalah palsu, dan nilai lalai pembolehubah jenis rujukan adalah nol. Nilai pembolehubah boleh ditentukan pada masa pengisytiharan atau dalam pembina; Pembolehubah contoh boleh diakses terus melalui nama pembolehubah. Tetapi dalam kaedah statik dan kelas lain, anda harus menggunakan nama yang layak sepenuhnya: ObjectReference.VariableName.
Contoh:
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 : " + name ); System.out.println("salary :" + salary); } public static void main(String args[]){ Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); } }
name : Ransika salary :1000.0Pembolehubah kelas (pembolehubah statik)
Pembolehubah statik jarang digunakan kecuali apabila diisytiharkan sebagai pemalar. Pemalar merujuk kepada pembolehubah yang diisytiharkan sebagai jenis awam/swasta, muktamad dan statik. Pemalar tidak boleh ditukar selepas permulaan.
Pembolehubah statik disimpan dalam kawasan storan statik. Selalunya diisytiharkan sebagai pemalar, pembolehubah jarang diisytiharkan menggunakan statik sahaja.
Pembolehubah statik dicipta pada permulaan program dan dimusnahkan pada akhir program.
Mempunyai keterlihatan yang serupa dengan pembolehubah instance. Tetapi untuk dapat dilihat oleh pengguna kelas, kebanyakan pembolehubah statik diisytiharkan sebagai jenis awam.
Nilai lalai adalah serupa dengan pembolehubah contoh. Nilai lalai pembolehubah berangka ialah 0, nilai lalai pembolehubah Boolean adalah palsu, dan nilai lalai bagi jenis rujukan adalah nol. Nilai pembolehubah boleh ditentukan apabila mengisytiharkannya atau dalam pembina. Di samping itu, pembolehubah statik juga boleh dimulakan dalam blok pernyataan statik.
Pembolehubah statik boleh diakses melalui:
ClassName.VariableName . - Apabila pembolehubah kelas diisytiharkan sebagai jenis akhir statik awam, nama pembolehubah kelas mesti menggunakan huruf besar. Jika pembolehubah statik bukan jenis awam atau akhir, kaedah penamaannya adalah konsisten dengan kaedah penamaan pembolehubah contoh dan pembolehubah tempatan.
- Contoh:
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); } }
Hasil penyusunan dan larian contoh di atas adalah seperti berikut:
开发人员平均工资:10000.0
Nota: Jika kelas lain ingin mengakses pembolehubah ini, mereka boleh mengaksesnya seperti ini: Pekerja.JABATAN.
Dalam bab ini kita belajar tentang jenis pembolehubah Java, dan dalam bab seterusnya kita akan memperkenalkan penggunaan pengubahsuai Java.