variable

변수 Variable

변수에서 가장 중요 한것

변수에 데이터를 할당 하는 방법

변수에 할당한 데이터를 가져오는 방법

기본형 변수 데이터 할당 및 출력

정수형

IntVarTest.java

// 변수 선언
int i0;
long l0;
// 변수 초기화
i0 = 0;
l0 = 0L; // 0l  소문자 가능
// 변수 선언과 초기화
int i1 = 1;
long l1 = 1L; // 1l  소문자 가능

//  출력 : 주의 =>  변수명과 문자열은 다름
System.out.println("i0");
System.out.println("l0");
System.out.println("i1");
System.out.println("l1");
System.out.println("====");
System.out.println(i0);
System.out.println(l0);
System.out.println(i1);
System.out.println(l1);

실수형

DoubleVarTest.java

// 변수 선언
double d0;
float f0;

// 변수 초기화
d0 = 3.14;
f0 = 3.14F; // 0f 소문자 가능

// 변수 선언과 초기화
double d1 = 3.14;
float f1 = 3.14F; // 1f 소문자 가능 

//  출력 
System.out.println(d0);
System.out.println(f0);
System.out.println(d1);
System.out.println(f1);

논리형

BoolVarTest.java

// 변수 선언
boolean t0;
boolean f0;

// 변수 초기화
t0 = true;
f0 = false; 

// 변수 선언과 초기화
boolean t1 = true;
boolean f1 = false; 

//  출력 
System.out.println(t0);
System.out.println(f0);
System.out.println(t1);
System.out.println(f1);

문자형

CharVarTest.java

// 변수 선언
char c0;

// 변수 초기화
c0 = 'a';

// 변수 선언과 초기화
char c1 = 'b';

//  출력 
System.out.println(c0);
System.out.println(c1);

// 아스키 코드값을 넣어도 됨
char c2 = 65; 
System.out.println(c2);

참조형

package chapter03;

public class StringEx {

    public static void main(String arg[]) {

        String name; // 변수 선언
        name = "홍길동"; // 변수 초기화

        String name2 = "홍길동"; // 선언과 동시에 초기화
        String name3 = null;   // null값으로 초기화
        String name4 = "";     // ""값으로 초기화

        System.out.println("name2="+name2);
        System.out.println("name3="+name3);
        System.out.println("name4="+name4);
    }

}

상수와 리터럴

package chapter03;

public class ConstEx {

    public static void main(String[] args) {
        final double PI = 3.14; 
        //PI = 3.14159; // 변경불가
    }
}

변수의 범위(Scope)

package chapter03;

public class ScopeEx { // 1. 클래스 블럭

    int no; // 1. 클래스 블럭 내에서 사용 가능한 변수

    public static void main(String[] args) { // 2. main 메서드 블럭

        String name; // 2. main 메서드 블럭 내에서 사용 가능한 변수

        if (true) {
            // 메서드 블럭 안에서 선언한 변수 사용 가능
            name = "홍길동";

            // if문 블럭안에서 변수 선언
            String email = "hong@test.com";
        }

        // if문 블럭 밖에서 email 변수를 사용하면 에러 발생 
        //email = "hong@test.com";
    }
}

두 변수의 값 교환하기

형변환 type casting

자동(묵시적) 형변환

package chapter03;

public class CastingEx {

    public static void main(String[] args) {

        // 자동형변환 예시
        int number = 10;    // int 자료형
        long number2 = number;  // 자동형변환 int < long
        float number3 = number2;// 자동형변환 long < float
        double number4 = number3; // 자동형변환 float < double

        System.out.println(number);
        System.out.println(number2);
        System.out.println(number3);
        System.out.println(number4);

    }
}

강제(명시적) 형변환

package chapter03;

public class CastingEx2 {

    public static void main(String[] args) {

        // 강제형변환 예시
        double pi = 3.14;   // double 자료형

        int pi2 = (int)pi;  // 강제형변환

        System.out.println(pi2); // 값의 손실 발생
    }
}

문자열을 정수로 변환

package chapter03;

public class CastingEx4 {

    public static void main(String[] args) {

        String s1 = "1";
        String s2 = "2";

        int i1 = Integer.parseInt(s1);
        int i2 = Integer.parseInt(s2);

        int add = i1 + i2;

        System.out.println(add);


    }
}