- 8.1. 변수의 의의
- 변수: 그 값이 변할 수 있는 문자
그냥 a=1; 이라고 했을 때 오류가 나는 이유
: 변수를 만들 때 저 변수 안에 어떤 데이터타입이 들어갈 수 있는지를 지정해야 하는데 지정하지 않았음.
a=1; 에서의 1은 number, 정확히는 integer(정수)
1,2,3,4,... : 자연수(natural number)
-4,-3,-2,-1,0,1,2,3,4,...: 정수(integer)
-2.0, -1.0, 0, 1.0, 2.0 ...: 실수(real number) -> 자바에서는 double 로 알고있어라
그래서 a의 앞에
int a =1; 을 붙여줘야 함
1은 정수기 때문에 a 라는 변수 안에 들어갈 수 있는 것
int b =1.1; 이 안되는 이유
우리가 b라는 변수 안에는 정수라는 데이터타입만 올 수 있다고 해놨는데, 1.1은 정수가 아니라 실수(real number)
double b = 1.1;
b라는 변수 안에는 실수값이 올 수 있다.
∴ 자바에서 변수를 만들 때는 그 변수가 어떤 데이터타입을 담을 수 있는지를 명확하게 표현해야 함!!
왜 이렇게 번거롭게 하냐? 그 변수 안에 어떤 값이 들어가 있다면 그 값은 반드시 정수거나 문자열이라는 것을 확신할 수 있기 때문에
public class Variable {
public static void main(String[] args) {
int a = 1; //Number -> integer (-2,-1,0,1,2,...)
System.out.println(a);
double b = 1.1; //real number -> double (-2.0, -1.0, 0, 1.0, 2.0, ...)
System.out.println(b);
// int c = "Hello World" : c에는 정수만 올 수 있다. 문자열은 안됨
String c = "Hello World";
System.out.println(c);
}
}
- 8.2. 변수의 효용
※변수는 반복작업을 줄일 수 있다. 반복해서 들어가는 요소를 변수로 지정한 후 그 변수에 지정된 값을 교체하면 한꺼번에 변경 가능.
system.out.println("Hello, egoing ... egoing ... egoing ... bye");
에서 egoing 이라는 텍스트를 바꾸고 싶을 때
replace로 하는 법도 있지만, 더 좋은 방법은 변수를 활용하는 것
String name = "egoing";
에서 name 에는 문자열만 올 수 있는 것
String name = "egoing";
System.out.println("Hello, "+name+" ... "+name+" ... egoing ... bye");
+가 들어가는 이유: 문자열과 변수를 연결해주는 연산자
또한,
System.out.println(10);
이라고 하면 의미를 파악할 수 없음
double VAT = 10.0;
System.out.println(VAT);
※코드를 봤을 때 그 코드의 의미를 빨리 파악할 수 있도록 코드를 작성하는 것이 가장 중요함
그 때 사용하는 가장 중요한 수단 중 하나가 변수
값의 이름을 부여하는 것
public class Letter {
public static void main(String[] args) {
String name = "egoing";
System.out.println("Hello, "+name+" ... "+name+" ... egoing ... bye");
double VAT = 10.0;
System.out.println(VAT);
}
}
- 8.3. 데이터 타입의 변환(casting)
- casting: 데이터 타입을 다른 데이터 타입으로 convert하는 것
double a = 1.1; //실수
double b = 1; //1은 소수점이 없기 때문에 정수(integer)인데 오류가 나지 않음(왜? 손실이 나지 않기 때문)
double b2 = (double) 1; // 명시적으로(수동적) 바꿔준 것.
System.out.pirntln(b); //저 변수가 실수이기 때문에 실수 형태로 바껴서 출력
int c = 1.1;
실수를 정수형으로 convert하면 오류. 1.1을 1로 바꾸면 0.1을 잃어버리기 때문
방법1)
double d = 1.1;
// int를 double로 변경
방법2)
int e = (int) 1.1;
// add cast to (int) (int 형태로 강제로(명시적으로) 바꾸는 추가기능)
system.out.println(e);
출력하면 1
1.1(double) ---> 1.0(int) 강제로 바꾸면 0.1 손실
- 1(int)을 string으로 바꾸고 싶으면? 구글링
예) java int to string casting
String f = Integer.toString(1);
public class Casting {
public static void main(String[] args) {
double a = 1.1; //실수
double b = 1; //소수점이 없기 때문에 정수(integer)인데 오류가 나지 않음
System.out.println(b); //저 변수가 실수이기 때문에 실수 형태로 바껴서 출력
//실수를 정수형으로 convert하면 오류. 1.1을 1로 바꾸면 0.1을 잃어버리기 때문
// int c = 1.1;
double d = 1.1; // int를 double로 변경
int e = (int) 1.1; // add cast to 'int'(int 형태로 강제로 바꾸는 추가기능)
System.out.println(e);
// 1 to String
String f = Integer.toString(1);
System.out.println(f);
}
}
'생활코딩' 카테고리의 다른 글
[생활코딩] 10. 디버거 (0) | 2022.08.08 |
---|---|
[생활코딩] 9. 프로그래밍 (0) | 2022.08.08 |
[생활코딩] 6. 데이터 타입 (0) | 2022.08.08 |
[생활코딩] 5. Hello Java World (0) | 2022.08.08 |
[생활코딩] 4. 실행 (0) | 2022.08.08 |