ホームページ  >  記事  >  Java  >  [Java チュートリアル] Java 変数の型

[Java チュートリアル] Java 変数の型

黄舟
黄舟オリジナル
2016-12-26 11:26:321385ブラウズ

Java 変数の型

Java 言語では、すべての変数は使用前に宣言する必要があります。変数を宣言するための基本的な形式は次のとおりです:

type identifier [ = value][, identifier [= value] ...] ;

形式の説明: type は Java データ型です。識別子は変数名です。同じ型の複数の変数をカンマで区切って宣言できます。

以下に変数宣言の例をいくつか示します。初期化処理が含まれるものもありますのでご注意ください。

int a, b, c;         // 声明三个int型整数:a、 b、c。
int d = 3, e, f = 5; // d声明三个整数并赋予初值。
byte z = 22;         // 声明并初始化z。
double pi = 3.14159; // 声明了pi。
char x = 'x';        // 变量x的值是字符'x'。

Java 言語でサポートされる変数の型は次のとおりです:

ローカル変数

メンバー変数

クラス変数

Java ローカル変数

ローカル変数はメソッド、コンストラクター、またはステートメント ブロックで宣言されます。メソッドでは、コンストラクターまたはステートメント ブロックは実行時に作成されます。

アクセス修飾子はメソッド、コンストラクター、またはステートメント内でのみ宣言されます。ブロック内で表示されます。

ローカル変数はスタック上に割り当てられます。

ローカル変数にはデフォルト値がないため、ローカル変数を宣言した後、使用する前に初期化する必要があります。

例 1

次の例では、年齢はローカル変数です。これは pubAge() メソッドで定義されており、その範囲はこのメソッドに限定されます。

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();
   }
}

上記の例のコンパイルと実行結果は次のとおりです:

Puppy age is: 7

例 2

次の例では、age 変数が初期化されていないため、コンパイル中にエラーが発生します。

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();
   }
}

上記の例のコンパイル結果と実行結果は次のとおりです:

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

インスタンス変数

インスタンス変数はクラス内で宣言されますが、メソッド、コンストラクター、およびステートメントブロックの外で宣言されます

オブジェクトがインスタンス化されると、各インスタンスが宣言されます。その後、変数の値が決定されます。

インスタンス変数はオブジェクトの作成時に作成され、オブジェクトが破棄されるときに破棄されます。

インスタンス変数の値は、少なくとも 1 つのメソッド、コンストラクター、またはステートメント ブロックによって参照される必要があります。外部がこれらのメソッドを渡してインスタンス変数情報を取得できるようにするため、

インスタンス変数は使用前または後に宣言できます。クラス。一般に、インスタンス変数はプライベートにする必要があります。インスタンス変数は、アクセス修飾子を使用してサブクラスに表示できます。

インスタンス変数にはデフォルト値があります。数値変数のデフォルト値は 0、ブール変数のデフォルト値は false、参照型変数のデフォルト値は null です。変数の値は宣言時またはコンストラクターで指定できます。

インスタンス変数には変数名を通じて直接アクセスできます。ただし、静的メソッドやその他のクラスでは、完全修飾名 ObjectReference.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  : " + 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.0

クラス変数(静的変数)

クラス変数は静的変数とも呼ばれ、クラス内で static キーワードを使用して宣言されます。ただし、ブロックの外のメソッド コンストラクターとステートメントで使用する必要があります。

クラスが作成するオブジェクトの数に関係なく、クラスにはクラス変数のコピーが 1 つしかありません。

静的変数は、定数として宣言される場合を除いて、ほとんど使用されません。定数は、パブリック/プライベート、最終型、および静的型として宣言された変数を指します。初期化後に定数を変更することはできません。

静的変数は静的記憶領域に保存されます。変数は定数として宣言されることがよくありますが、static のみを使用して宣言されることはほとんどありません。

静的変数はプログラムの開始時に作成され、プログラムの終了時に破棄されます。

インスタンス変数と同様の可視性を持ちます。ただし、クラスのユーザーに見えるようにするために、ほとんどの静的変数はパブリック型として宣言されます。

デフォルト値はインスタンス変数と似ています。数値変数のデフォルト値は 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 = "Development ";
   public static void main(String args[]){
      salary = 1000;
      System.out.println(DEPARTMENT+"average salary:"+salary);
   }
}

以上实例编译运行结果如下:

Development average salary:1000

注意:如果其他类想要访问该变量,可以这样访问:Employee.DEPARTMENT。

本章节中我们学习了Java的变量类型,下一章节中我们将介绍Java修饰符的使用。

 以上就是【java教程】Java变量类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。