Java에서 변수는 Java 프로그램 실행 중에 데이터 값을 저장하는 데이터 컨테이너입니다. Java의 모든 변수에는 보유할 수 있는 값의 유형과 수량을 지정하는 데이터 유형이 할당됩니다. 변수는 데이터의 메모리 위치 이름입니다.
자바의 변수
Java 변수는 메모리 위치에 부여되는 이름입니다. 프로그램의 기본 저장 단위입니다.
- 변수에 저장된 값은 프로그램 실행 중에 변경될 수 있습니다.
- Java의 변수는 메모리 위치에 부여된 이름일 뿐입니다. 변수에 대해 수행된 모든 작업은 해당 메모리 위치에 영향을 미칩니다.
- Java에서는 모든 변수를 사용하기 전에 선언해야 합니다.
Java에서 변수를 선언하는 방법은 무엇입니까?
시각적인 도움을 위해 아래 그림과 같이 Java에서 변수를 선언할 수 있습니다.
이미지에서 변수를 선언하는 동안 다음 두 가지 사항을 처리해야 한다는 것을 쉽게 알 수 있습니다.
- 데이터 형식 : 이 변수에 저장할 수 있는 데이터 유형입니다.
- 데이터_이름: 변수에 이름이 지정되었습니다.
이런 방식으로 이름은 메모리 위치에만 부여될 수 있습니다. 다음 두 가지 방법으로 값을 할당할 수 있습니다.
- 변수 초기화
- 입력을 받아 값 할당
Java에서 변수를 초기화하는 방법은 무엇입니까?
이는 다음과 같은 3가지 구성 요소의 도움으로 인식될 수 있습니다.
- 데이터 형식 : 이 변수에 저장할 수 있는 데이터 유형입니다.
- 변수_이름 : 변수에 부여된 이름입니다.
- 값 : 변수에 저장된 초기값입니다.
일러스트레이션:
// Declaring float variable float simpleInterest; // Declaring and initializing integer variable int time = 10, speed = 20; // Declaring and initializing character variable char var = 'h';>
Java의 변수 유형
이제 다음과 같이 나열된 다양한 유형의 변수에 대해 논의하겠습니다. 다음과 같습니다:
- 지역 변수
- 인스턴스 변수
- 정적 변수
여기에 나열된 모든 유형의 변수의 특성을 자세히 논의해 보겠습니다.
1. 지역변수
블록이나 메서드, 생성자 내에 정의된 변수를 지역 변수라고 합니다.
- 이러한 변수는 블록에 들어갈 때 생성되거나, 블록을 종료한 후 함수가 호출되고 소멸되거나, 함수에서 호출이 반환될 때 생성됩니다.
- 이러한 변수의 범위는 변수가 선언된 블록 내에서만 존재합니다. 즉, 해당 블록 내에서만 이러한 변수에 액세스할 수 있습니다.
- 정의된 범위에서 사용하기 전에 지역 변수를 초기화하는 것이 필수입니다.
방법의 시간 복잡도:
Time Complexity: O(1) Auxiliary Space: O(1)>
다음은 위의 접근 방식을 구현한 것입니다.
자바
// Java Program to implement> // Local Variables> import> java.io.*;> class> GFG {> > public> static> void> main(String[] args)> > {> > // Declared a Local Variable> > int> var => 10> ;> > // This variable is local to this main method only> > System.out.println(> 'Local Variable: '> + var);> > }> }> |
문자열 형식화 자바
>
>산출
Local Variable: 10>
예 :
자바
10개 중 10개
package> a;> public> class> LocalVariable {> > public> static> void> main(String[] args)> > {> > // x is a local variable> > int> x => 10> ;> > // message is also a local> > // variable> > String message => 'Hello, world!'> ;> > System.out.println(> 'x = '> + x);> > System.out.println(> 'message = '> + message);> > if> (x>> 5> ) {> > // result is a> > // local variable> > String result => 'x is greater than 5'> ;> > System.out.println(result);> > }> > // Uncommenting the line below will result in a> > // compile-time error System.out.println(result);> > for> (> int> i => 0> ; i <> 3> ; i++) {> > String loopMessage> > => 'Iteration '> > + i;> // loopMessage is a local variable> > System.out.println(loopMessage);> > }> > // Uncommenting the line below will result in a> > // compile-time error> > // System.out.println(loopMessage);> > }> }> |
>
>
출력 :
message = Hello, world! x is greater than 5 Iteration 0 Iteration 1 Iteration 2>
2. 인스턴스 변수
인스턴스 변수는 비정적 변수이며 메서드, 생성자 또는 블록 외부의 클래스에서 선언됩니다.
- 인스턴스 변수는 클래스에 선언되어 있으므로 클래스의 객체가 생성될 때 이러한 변수가 생성되고 객체가 소멸될 때 소멸됩니다.
- 지역 변수와 달리 인스턴스 변수에 액세스 지정자를 사용할 수 있습니다. 액세스 지정자를 지정하지 않으면 기본 액세스 지정자가 사용됩니다.
- 인스턴스 변수의 초기화는 필수가 아닙니다. 기본값은 변수의 데이터 유형에 따라 다릅니다. 을 위한 끈 그것은 없는, ~을 위한 뜨다 그것 ~이다 0.0f, ~을 위한 정수 그것은 0. 다음과 같은 래퍼 클래스의 경우 정수 그것은 널 등
- 인스턴스 변수는 객체를 생성해야만 접근할 수 있습니다.
- 다음을 사용하여 인스턴스 변수를 초기화합니다. 생성자 객체를 생성하는 동안. 우리는 또한 사용할 수 있습니다 인스턴스 블록 인스턴스 변수를 초기화합니다.
방법의 복잡성:
Time Complexity: O(1) Auxiliary Space: O(1)>
다음은 위의 접근 방식을 구현한 것입니다.
자바
// Java Program to demonstrate> // Instance Variables> import> java.io.*;> class> GFG {> > // Declared Instance Variable> > public> String geek;> > public> int> i;> > public> Integer I;> > public> GFG()> > {> > // Default Constructor> > // initializing Instance Variable> > this> .geek => 'Shubham Jain'> ;> > }> > // Main Method> > public> static> void> main(String[] args)> > {> > // Object Creation> > GFG name => new> GFG();> > // Displaying O/P> > System.out.println(> 'Geek name is: '> + name.geek);> > System.out.println(> 'Default value for int is '> > + name.i);> > > // toString() called internally> > System.out.println(> 'Default value for Integer is '> > + name.I);> > }> }> |
>
사전 초기화 프로그램 C#
>산출
Geek name is: Shubham Jain Default value for int is 0 Default value for Integer is null>
3. 정적 변수
정적 변수는 클래스 변수라고도 합니다.
- 이러한 변수는 인스턴스 변수와 유사하게 선언됩니다. 차이점은 정적 변수는 메서드, 생성자 또는 블록 외부의 클래스 내에서 static 키워드를 사용하여 선언된다는 것입니다.
- 인스턴스 변수와 달리, 생성하는 객체 수에 관계없이 클래스당 정적 변수 복사본은 하나만 가질 수 있습니다.
- 정적 변수는 프로그램 실행 시작 시 생성되고 실행이 끝나면 자동으로 소멸됩니다.
- 정적 변수의 초기화는 필수가 아닙니다. 기본값은 변수의 데이터 유형에 따라 다릅니다. 을 위한 끈 그것은 없는 , 을 위한 뜨다 그것은 0.0f , 을 위한 정수 그것은 0 , 을 위한 래퍼 클래스 좋다 정수 그것은 없는, 등.
- (객체를 통해) 인스턴스 변수와 같은 정적 변수에 액세스하면 컴파일러는 경고 메시지를 표시하지만 프로그램은 중단되지 않습니다. 컴파일러는 자동으로 객체 이름을 클래스 이름으로 바꿉니다.
- 클래스 이름 없이 정적 변수에 액세스하면 컴파일러는 자동으로 클래스 이름을 추가합니다. 그러나 다른 클래스의 정적 변수에 액세스하려면 두 개의 다른 클래스에 동일한 이름의 정적 변수가 있을 수 있으므로 클래스 이름을 언급해야 합니다.
- 정적 변수는 인스턴스 메서드 내에서 로컬로 선언할 수 없습니다.
- 정적 블록 정적 변수를 초기화하는 데 사용할 수 있습니다.
방법의 복잡성:
Time Complexity: O(1) Auxiliary Space: O(1)>
다음은 위의 접근 방식을 구현한 것입니다.
자바
// Java Program to demonstrate> // Static variables> import> java.io.*;> class> GFG {> > // Declared static variable> > public> static> String geek => 'Shubham Jain'> ;> > > public> static> void> main(String[] args)> > {> > // geek variable can be accessed without object> > // creation Displaying O/P GFG.geek -->>'>를 사용하여 + GFG.geek);> > // static int c=0;> > // above line,when uncommented,> > // will throw an error as static variables cannot be> > // declared locally.> > }> }> |
>
>산출
Geek Name is : Shubham Jain>
인스턴스 변수와 정적 변수의 차이점
이제 인스턴스 변수와 정적 변수의 차이점을 살펴보겠습니다.
- 각 객체에는 자체 인스턴스 변수 복사본이 있는 반면, 생성하는 객체 수에 관계없이 클래스당 정적 변수 복사본은 하나만 가질 수 있습니다. 따라서, 정적 변수 에 좋다 메모리 관리 .
- 한 개체를 사용하여 인스턴스 변수에 적용된 변경 사항은 각 개체에 인스턴스 변수의 자체 복사본이 있으므로 다른 개체에 반영되지 않습니다. 정적 변수의 경우 정적 변수는 클래스의 모든 개체에 공통이므로 변경 사항이 다른 개체에 반영됩니다.
- 객체 참조를 통해 인스턴스 변수에 접근할 수 있고, 클래스 이름을 사용하여 정적 변수에 직접 접근할 수 있습니다. .
- 인스턴스 변수는 'new' 키워드를 사용하여 객체가 생성될 때 생성되고 객체가 소멸될 때 소멸됩니다. 정적 변수는 프로그램이 시작될 때 생성되고 프로그램이 중지되면 소멸됩니다.
통사론: 정적 및 인스턴스 변수
class GFG { // Static variable static int a; // Instance variable int b; }>
결론
기사에서 기억해야 할 중요한 사항은 다음과 같습니다.
- Java의 변수는 Java 프로그램 실행 중에 데이터 값을 저장하는 데이터 컨테이너입니다.
- Java에는 로컬 변수, 정적 변수 및 인스턴스 변수의 세 가지 유형의 변수가 있습니다.
Java 변수에 대한 FAQ
Q1. Java의 변수란 무엇입니까?
변수는 내부에 데이터 값을 저장할 수 있는 Java의 컨테이너입니다.
Q2. Java의 3가지 유형의 변수는 무엇입니까?
Java에는 세 가지 유형의 변수가 아래에 언급되어 있습니다.
- 지역 변수
- 정적 변수
- 인스턴스 변수
Q3. Java 예제에서 변수를 선언하는 방법은 무엇입니까?
아래와 같이 구문을 사용하여 Java에서 변수를 선언할 수 있습니다.
data_type variable_name;>예:
// Integer datatype with var1 name int var1;>
꼭 읽어야 할 내용:
- Java의 변수 선언 규칙
- Java의 변수 범위
- C++와 Java의 정적 키워드 비교
- Java에서는 정적 지역 변수가 허용됩니까?
- Java의 인스턴스 변수 숨기기