매일 간단 한 JAVA 교육:변수

죄 송 하지만 요즘 일이 바 빠 서 글 을 쓸 시간 이 별로 없 으 니 양해 바 랍 니 다.
오늘 은 좀 게 으 름 을 피 워 서 변수의 정 의 를 간단하게 소개 해 드 리 겠 습 니 다.
변수 가 무엇 인지 쉽게 말 하면 주소 지침 이 고 이 지침 의 내용 은 가 변 적 이 어야 합 니 다.변수의 역할 은 프로그램 을 쓸 때 처리 할 데 이 터 를 임시로 저장 하 는 것 이다.
자바 에서 변수의 정 의 는 다음 과 같 습 니 다.
[패키지 경로.]종류 명  변수 이름[=값];
실제 변수 이름 예 는 다음 과 같 습 니 다.

java.util.Date today = new java.util.Date();

인간 의 언어 로 위의 코드 를 설명 하면 자바 util.Date 대상 주소 블록 을 새로 만 들 고 today 지침 에 저장 하 며 today 주소 세그먼트 에 저 장 된 내용 은 자바 util.Date 의 데이터 일 수 있 습 니 다.
만약 우리 가 패 킷 경 로 를 절약 하고 싶다 면 자바 의 파일 헤더,package 문장 뒤에 class 문장 밖 에 다음 과 같은 문장 을 쓸 수 있 습 니 다.

import    .[ |*];

예 를 들 어 상례:

package ...;

import java.util.Date;

...

Date today = new Date();

이 패키지 가 아 닌 경로(현재 class 가 있 는 package 와 다 름)를 참조 할 때 import 참조 또는 설명 류 의 패키지 이름 을 사용 해 야 합 니 다.마치 우리 가 남 의 집 을 방문 할 때 그의 주 소 를 먼저 알 아야 하 는 것 처럼.그러나 자바 에 서 는 자바.lang 에서 온 모든 클래스 가 가방 이름 을 열거 하지 않 아 도 직접 참조 할 수 있 습 니 다.모든 클래스 에 기본적으로 도입 되 었 습 니 다.
변 수 를 이야기 하면 자 연 스 럽 게 그 역할 영역 에 관심 을 가 질 것 이다.작용 역 에 따라 우 리 는 국부 변수(variable)와 필드(field)로 나 눌 수 있다.부분 변 수 는 코드 세그먼트 나 방법 에서 임시로 만들어 진 중간 변 수 를 말 합 니 다.이러한 변 수 는 코드 세그먼트 나 방법 체 를 뛰 어 내 린 후에 GC 에 의 해 회수 되 는 경우 가 많 습 니 다.
이 변수 가 다른 대상 에 의 해 인용 되 지 않 는 한.이 부분 은 우리 가 약 한 인용 을 말 할 때 언급 될 것 이다.
자,field 와 variable 의 차 이 를 살 펴 보 자.

package vardemo;

public class VarDemo
{
   //    field
    public String aField;
   
    static{
        //              
        String var = "I'm a var in static segment!";
    }
    //         ,   var       ,  aField    

     public void aMethod()
    {
        String var = "I'm another var for this method!";
        String aField = "test";
        for(int i=0;i<10;i++)
        {
            String var2 = "tmp var in for loop";
        }
        System.out.println(var);
        System.out.println(var2);
    }
}

위의 코드 에서 두 가지 오류 가 발생 할 수 있 습 니 다.첫 번 째 는 aMethod()에 있 는 String aField="test"이 고 다른 하 나 는 System.out.println(var 2)입 니 다.
첫 번 째 오 류 는 변수 가 필드 와 이름 을 바 꿀 수 없 기 때 문 입 니 다.jre 는 같은 클래스 에서 같은 이름 의 두 바늘,어떤 것 이 클래스 자체 의 필드,어떤 것 이 방법의 변수 인지 알 기 어렵 기 때문이다.또 같은 주소 세그먼트 의 변수 이름 도 같 을 수 없다.예 를 들 어 이렇게 쓰 는 것 도 옳지 않다.

public void aMethod()
{
    String var = "test";
    String var = "test";
}

이렇게 하면 잘못 보고 할 것 이다.
또 다른 오 류 는 바로 뒤의 System.out.println(var 2)입 니 다.프로그램 이 for 순환 을 한 후에 var 2 의 성명 은 gc 에 의 해 알 게 되 었 기 때문에 우 리 는 그것 의 주소 지침 을 다시 찾 을 수 없습니다.설령 그것 이 메모리 에 존재 할 수 있 더 라 도!
왜 변수의 작용 범 위 를 이해 해 야 합 니까?이것 은 할당 과 관계 가 있다.
먼저,변 수 를 어떻게 할당 하 는 지 말 해 보 세 요.간단 합 니 다.변 수 를 정의 할 때 와 비슷 합 니 다.

    =  ;

유일한 차이 점 은 변수 이름 전의 포인터 형식 정의 가 없 는 것 입 니 다.그 렇 죠?
필드 는 하나의 전역 변수 이기 때문에 칭찬 방법의 값 을 유지 할 수 있 습 니 다.예 를 들 어:

public class Person
{
    private String name;
    public void setName(String aName)
    {
        name = aName;
    }
    public String getName()
    {
        return name;
    }

    public static void main(String[] args){
        Person p = new Person();
        p.setName("JJ");
        System.out.println(p.getName());
    }
}

위 는 바로 우리 의 유명한 자바 빈 필드 작성 법 입 니 다.한 필드 에 getter 방법 과 setter 방법 이 있 습 니 다.이 두 가지 방법 을 통 해 외부 에 특정한 데 이 터 를 하나의 인 스 턴 스 에 저장 할 수 있 고 마지막 에 저 장 된 데 이 터 를 수시로 호출 할 수 있다.또한 서로 다른 인 스 턴 스 는 메모리 세그먼트 의 독립 으로 인해 같은 필드 의 값 이 교차 되 지 않 고 다 중 스 레 드 문제 가 발생 할 수 있 습 니 다.
field 필드 는 전역 변수 로 서 전체 주소 에서 공유 할 수 있 으 며,그 정 의 는 하나의 modifier 가 필요 합 니 다.인 스 턴 스 자 체 를 제외 하고 누가 수정 할 수 있 는 지 를 표시 할 수 있 습 니 다.예 를 들 어 위의 예 를 들 면 우 리 는 개조 할 수 있다.

public class Person
{
    public String name;
    public static void main(String[] args){
        Person p = new Person();
        p.name="JJ";
        System.out.println(p.name);
    }
}

그러나 이 는 너무 위험 하기 때문에 일반적인 상황 에서 필드 를 Public 로 정의 하 는 것 을 권장 하지 않 고 private 나 proctected 로 정의 하 는 것 만 권장 합 니 다.
마찬가지 로 변 수 는 field 든 variable 이 든 final 을 사용 할 수 있 고 static 는 field 가 정의 할 때 만 사용 할 수 있 습 니 다.필드 를 static 과 final 로 동시에 정의 할 때 상수 로 부 릅 니 다.이름 규칙 은 전체 대문자 로 사용 하고 단어 간 에 밑줄 로 구분 해 야 합 니 다.

private static final String A_CONSTANT = "I'm a constant and I can never be changed".

public login(final String username,final String password)
{
    username = "I'm trying to make it dirty";
    ....
}

상례 에서 첫 번 째 는 상량 의 정의 방식 이다.두 번 째 예 는 흔히 볼 수 있 는 방법 매개 변수 변 수 를 final 로 정의 하 는 용법 으로 방법 이 도중에 부주의 로 민감 한 입력 매개 변 수 를 수정 하 는 것 을 방지 할 수 있다.상기 예 에서 username 의 할당 이 잘못 될 수 있 습 니 다.이 유 는 두 가지 방법 으로 매개 변 수 를 수정 할 수 없 기 때 문 입 니 다.주 소 는 이미 잠 겨 있 습 니 다.
오늘 내용 은 여기 서 마 치 겠 습 니 다.급 해서 잘 못 썼 나 봐 요.제 가 잠시 후에 다시 수정 하 겠 습 니 다.
내일 우 리 는 this 와 슈퍼 라 는 두 지침 안에 지침 을 세 울 것 이다.

좋은 웹페이지 즐겨찾기