Latest web development tutorials

자바 변수 유형

자바 언어에서 모든 변수는 사용하기 전에 선언해야합니다. 변수 선언의 기본 형식은 다음과 같습니다 :

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

형식 설명 : Java 데이터 유형의 유형입니다. 식별자는 변수 이름입니다. 동일한 유형의 여러 변수를 선언 쉼표를 사용할 수 있습니다.

여기에 변수 선언의 몇 가지 예입니다. 일부는 초기화 과정을 포함합니다.

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

Java 언어는 가변 형식이 지원

  • 지역 변수
  • 멤버 변수
  • 클래스 변수

자바 지역 변수

  • 방법, 생성자 또는 문 블록에서 선언 된 지역 변수;
  • 방법 생성자 또는 명령문의 블록들이 실행될 때 생성하도록 실행될 때 로컬 변수는 변수를 파괴한다;
  • 액세스 한정자는 로컬 변수를 사용할 수 없다;
  • 전용 메서드, 생성자 또는 문 블록 볼에 선언 된 지역 변수;
  • 지역 변수는 스택에 할당됩니다.
  • 로컬 변수는 사용하기 전에 초기화되어야 로컬 변수 선언되도록 기본값이 없다.

예 1

다음의 예에서, 세 로컬 변수이다. pupAge () 메소드에 정의 된, 그 범위는이 방법에 한정 될 것이다.

package com.w3big.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();
   }
}

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

小狗的年龄是: 7

예 2

세 변수 아래의 예에서 컴파일시 에러에 있도록 초기화되지 않습니다 :

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

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

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

인스턴스 변수

  • 인스턴스 변수 클래스로 선언하지만, 블록 외부 공법 및 문장의 방법에서;
  • 오브젝트가 인스턴스화 될 때, 각각의 인스턴스 변수의 값 따라 결정된다;
  • 인스턴스 변수는 객체가 파괴 파괴 될 때 객체가 생성 될 때 생성에서,
  • 인스턴스 변수의 값이 있어야합니다 적어도 방법, 생성자 또는 문 블록 참조, 외부 인스턴스 변수가 이러한 방법을 통해 정보를 얻을 수 있도록;
  • 인스턴스 변수는 사용하기 전에 또는 사용 후 선언 할 수 있습니다;
  • 액세스 한정자는 인스턴스 변수를 수정할 수 있습니다;
  • 인스턴스 변수 클래스 메소드, 생성자 또는 문 블록을 위해 그것을 볼 수 있습니다. 정상적인 상황에서는 개인 인스턴스 변수를해야한다. 서브 클래스에 표시 인스턴스 변수를 만들 수 있습니다 액세스 한정자를 사용하여;
  • 인스턴스 변수에는 기본값이 있습니다. 숫자 변수의 디폴트 값은 0, 부울 변수의 기본값이 거짓, 기준 입력 변수의 디폴트 값은 널 (null)이다. 변수의 값은,이 또한 생성자에 지정할 수 선언시에 지정 될 수있다;
  • 인스턴스 변수를 직접 변수 명에 의해 액세스 될 수있다. ObejectReference.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 키워드를 선언하지만, 외부는 공법 블록의 처리에 있어야한다.
  • 클래스가 객체의 수를 만들지 여부, 클래스는 클래스 변수의 복사본을 가지고있다.
  • 상수는 거의 사용하지 않기 때문에 정적 변수 외에도 선언된다. 상수는 변수 / 공공 민간 최종 정적 유형으로 선언됩니다. 초기화 상수 후 변경할 수 없습니다.
  • 정적 변수는 정적 메모리에 저장됩니다. 종종 그것은 상수로, 거의 혼자 정적 변수 선언을 사용하지 선언했다.
  • 프로그램을 작성하기 시작할 때 정적 변수, 프로그램의 끝에 파괴한다.
  • 그리고 인스턴스 변수는 비슷한 시야를 가지고있다. 클래스의 사용자가 볼 수있는 것 외에, 스태틱 형 변수의 대부분은 공적으로 선언된다.
  • 기본 및 인스턴스 변수 유사합니다. 숫자 변수 디폴트 값은 0이며, 기본값 부울 값이 거짓 기준 디폴트 값이 널 입력. 변수의 값은 생성자에 지정 될 선언시에 지정 될 수있다. 또한, 정적 변수는 정적 문 블록에서 초기화 될 수있다.
  • 정적 변수가 수있다 : 액세스 ClassName.VariableName.
  • 클래스 변수는 공공 정적 최종 형, 대문자를 사용해야합니다 클래스 변수 이름으로 선언됩니다. 정적 변수는 공공 및 최종 형태, 일관된 명명 및 명명 해당 인스턴스 변수와 지역 변수가 아닌 경우.

예 :

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

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

开发人员平均工资:10000.0

참고 :이 변수의 다른 유형에 액세스하려는 경우, 액세스 할 수 있습니다 Employee.DEPARTMENT을.

우리는 자바 변수 유형을 보려면이 장에서는 다음 절 우리는 자바 수식의 사용을 소개합니다.