5/1 생활코딩 JAVA - 상수, Switch, for
5.1 생활코딩 자바 수업 내용
수강 커리큘럼 : 언어소개 ~ 메소드까지
1) 상수란?
변하지 않는 값을 의미한다. 크게 보면 변수와 상수가 있는데, 변수는 변하는 값, 상수는 변하지 않는 값이다.
2) 데이터 타입 중 (byte, short, int, long Type) byte와 short에 int 상수를 써도 되는 이유는 무엇인가?
위에 나열한 데이터는 순서대로 담을 수 있는 크기와 범위가 확장된다.
적은 데이터는 큰 데이터 컨테이너로 이동이 가능하지만, 큰 데이터가 작은 데이터 컨테이너로는 이동할 수 없다.
만약 2183749라는 값을 byte 타입에 넣는다고 한다면 최대 128까지만 표현할 수 있기 때문에 2183749-128만큼의 손실이 발생하기 때문이다.
VR 파일럿 때 Userindex가 long으로는 담을 수 없는 큰 수였다. 이 때문에 long long으로 정의해주었어야 하는데 long으로 정의한 바람에 데이터 손실이 일어났고, 결국 모든 유저가 같은 유저번호를 갖게 된 것과 같다.
3) 형 변환, 자동 형 변환이 나는 이유? 자동 형변환이 안 될때는?
2번에서 언급한 것처럼 표현범위가 좁은 데이터가 큰 범위의 데이터로 이동한다면 유저의 편의를 위해 자동으로 형 변환이 되는 경우가 있다. 만약 이것이 안된다면 아래와 같이 형(Type)을 지정해주면 된다.
float a = 1F; (1은 정수인데 뒤에 F를 붙여 float으로 형 변환을 시켜주었다.)
4) Switch 문?
if 절과 역할이 비슷하다. Parameter 번호부터 이하 case를 모두 출력한다.
아래의 경우 hi, bye를 모두 출력하며 Switch(2)로 바꾸면 bye만 출력한다.
Switch(1):
case 1:
System.out.println("hi");
case 2:
System.out.println("bye");
어떤 값을 받는지에 따라 실행할 코드를 case별로 분리해놓으면 유용할 것 같다.
예를 들어 로그인 결과에 따라 ID가 틀린 경우, 비번이 틀린 경우등등 case를 분류해서 프론트에 어떤 메시지를 노출해주면 좋을 지 생각해보면 좋을 것 같다.
5) JAVA의 for문 문법
for (초기화; 조건; then절 실행 후 취할 행동) {
then절
}
따라서 이렇게 된다.
int i = 0;
for (i=0; i < 10; i++) {
System.out.println(i);
}
이렇게 하면 i가 0부터 9까지 출력된다. for문 조건 내에서 int i =0 이라고만 정의해줘도 된다.
6) 배열?
파이썬의 list, tuple, dict등 컨테이너라고 생각하면 될 것 같다. 다만 아직 다른 형태의 container가 있는지는 모르겠고 문자열의 원소를 지닌 그룹 (String[] group) 이런 식으로의 배열 정의만 봤다.
7) while, for, each로 이어지며 사람들은 어떤 힘듬을 겪었을까?
수강 커리큘럼 : 언어소개 ~ 메소드까지
1) 상수란?
변하지 않는 값을 의미한다. 크게 보면 변수와 상수가 있는데, 변수는 변하는 값, 상수는 변하지 않는 값이다.
2) 데이터 타입 중 (byte, short, int, long Type) byte와 short에 int 상수를 써도 되는 이유는 무엇인가?
위에 나열한 데이터는 순서대로 담을 수 있는 크기와 범위가 확장된다.
적은 데이터는 큰 데이터 컨테이너로 이동이 가능하지만, 큰 데이터가 작은 데이터 컨테이너로는 이동할 수 없다.
만약 2183749라는 값을 byte 타입에 넣는다고 한다면 최대 128까지만 표현할 수 있기 때문에 2183749-128만큼의 손실이 발생하기 때문이다.
VR 파일럿 때 Userindex가 long으로는 담을 수 없는 큰 수였다. 이 때문에 long long으로 정의해주었어야 하는데 long으로 정의한 바람에 데이터 손실이 일어났고, 결국 모든 유저가 같은 유저번호를 갖게 된 것과 같다.
3) 형 변환, 자동 형 변환이 나는 이유? 자동 형변환이 안 될때는?
2번에서 언급한 것처럼 표현범위가 좁은 데이터가 큰 범위의 데이터로 이동한다면 유저의 편의를 위해 자동으로 형 변환이 되는 경우가 있다. 만약 이것이 안된다면 아래와 같이 형(Type)을 지정해주면 된다.
float a = 1F; (1은 정수인데 뒤에 F를 붙여 float으로 형 변환을 시켜주었다.)
4) Switch 문?
if 절과 역할이 비슷하다. Parameter 번호부터 이하 case를 모두 출력한다.
아래의 경우 hi, bye를 모두 출력하며 Switch(2)로 바꾸면 bye만 출력한다.
Switch(1):
case 1:
System.out.println("hi");
case 2:
System.out.println("bye");
어떤 값을 받는지에 따라 실행할 코드를 case별로 분리해놓으면 유용할 것 같다.
예를 들어 로그인 결과에 따라 ID가 틀린 경우, 비번이 틀린 경우등등 case를 분류해서 프론트에 어떤 메시지를 노출해주면 좋을 지 생각해보면 좋을 것 같다.
5) JAVA의 for문 문법
for (초기화; 조건; then절 실행 후 취할 행동) {
then절
}
따라서 이렇게 된다.
int i = 0;
for (i=0; i < 10; i++) {
System.out.println(i);
}
이렇게 하면 i가 0부터 9까지 출력된다. for문 조건 내에서 int i =0 이라고만 정의해줘도 된다.
6) 배열?
파이썬의 list, tuple, dict등 컨테이너라고 생각하면 될 것 같다. 다만 아직 다른 형태의 container가 있는지는 모르겠고 문자열의 원소를 지닌 그룹 (String[] group) 이런 식으로의 배열 정의만 봤다.
7) while, for, each로 이어지며 사람들은 어떤 힘듬을 겪었을까?
댓글
댓글 쓰기