수업 내용 정리 (Java)
0. 콘솔 창에 표시
System.out.println("콘솔창에 띄울 내용");
콘솔창에는 괄호 안의 내용이 띄워진다. 선언했던 변수를 적거나, 따로 큰따옴표(" ") 안에 내용을 적어 띄울 수 있다.
+ 전부 타이핑하지 않고, sysout 입력 후 ctrl + space bar 키를 누르고 enter 키를 누르면 자동완성이 되어서 편하게 작성할 수 있다.
+ 자동 완성으로 입력하면 자동으로 줄바꿈이 되지만, 가로로 출력하고 싶다면 println에서 뒤에 있는 ln을 지우면 된다.
1. 변수 (variable)
- 데이터를 사용하기 위해 저장하는 공간
- 선언하지 않은 변수는 사용 할 수 없음
int a = 10;
a = 20;
b = 10;
- a라는 변수를 선언하면서 초기 값은 10으로 한다.
- 선언했던 a라는 변수의 값을 20으로 변경한다.
- 선언하지 않은 b는 사용할 수 없다.
2. 연산자
2-1) 산술연산자
- + : 더하기
- - : 빼기
- * : 곱하기
- / : 나누기
- % : 나눈 후 나머지 값
2-2) 비교연산자
- a > b : a가 b보다 크다.
- a < b : b가 a보다 크다.
- a >= b : a가 b보다 크거나 같다.
- a <= b : b가 a보다 크거나 같다.
- a == b : a랑 b가 같다.
- a != b : a랑 b가 다르다.
2-3) 논리연산자
- && : 그리고 (and)
- || : 또는 (or)
- ! : 아닌 (not)
3. 타입
3-1) 정수
- int
- 범위: -2147483648 ~ 2147483648
- 크기: 4byte
int a = 10;
int b = 7;
int c = a + b;
int d = a - b;
System.out.println(c);
System.out.println(d);
이 경우 c는 17, d는 3의 값으로 출력된다.
3-2) 실수
- double (소수점을 포함)
- 범위: -1.7E308 ~ 1.7E308
- 크기: 8byte
double a = 10.4;
double b = 3.3;
double c = a + b;
double d = a - b;
System.out.println(c);
System.out.println(d);
이 경우 c는 13.7, d는 7.10000005의 값으로 출력된다.
3-3) 문자
- char
- 범위: 모든 유니코드 문자
- 크기: 2byte
- ' ' 안에 작성해야 함!
- 유니코드 문자이기 때문에 숫자로도 표현 가능하고, 더할 수도 있다.
char a = 'ㄱ';
char b = 'ㄴ';
System.out.println(a);
System.out.println(b);
System.out.println(a+b);
이 경우 a는 ㄱ, b는 ㄴ, a+b는 25189의 값으로 출력된다.
3-4) 문자열
- String
- " " 안에 작성해야 함!
String a = "홍길동"
String b = "심청이"
System.out.println(a);
System.out.println(b);
이 경우 a는 홍길동, b는 심청이의 값으로 출력된다.
3-5) 불리언
- boolean
- 범위: true / false
- 크기: 1bit
boolean a = true;
boolean b = false;
System.out.println(a);
System.out.println(b);
이 경우 a는 true, b는 false의 값으로 출력된다.
int a = 9;
int b = 4;
boolean c = a > b;
boolean d = a < b;
System.out.println(c);
System.out.println(d);
이 경우 c는 true, d는 false의 값으로 출력된다.
4. 형변환
4-1) 자동형변환
- 작은 저장 공간에서 큰 저장 공간으로 데이터 이동을 하는 경우
- 문자형 char은 int 자동형변환으로 정수로 표현할 수 있다.
- 오른쪽에서 왼쪽으로 변환!
int a = 10;
long b = a;
이 경우, int가 long보다 크기가 작으므로 자동형변환을 사용한다.
4-2) 강제형변환
- 큰 저장 공간에서 작은 저장 공간으로 데이터 이동을 하는 경우
- 오른쪽에서 왼쪽으로 변환!
long a = 10000l;
int d = (int)a;
이 경우, long이 int 보다 크기가 크므로 a 앞에 (int)를 붙여 강제형변환을 사용한다.
5. 조건문_if, else if, else
- if와 else if, else는 하나로 묶어 사용한다.
- if: 조건이 참이면 실행 / else if: if가 거짓이고 else if가 참일 때 실행 / else: if도 else if도 거짓일 때 실행
int age = 5;
if(age >= 19) {
System.out.println("성인입니다.");
}else if(age >= 13) {
System.out.println("청소년입니다.");
}else if(age <= 7) {
System.out.println("어린아이입니다.");
}else {
System.out.println("오류");
}
이 경우, 선언한 변수가 5의 값을 가지고 있으니 결과는 어린아이입니다. 가 출력된다.
질문한 내용이나 어려웠던 점 메모
- 형변환: 데이터의 값을 모르고 있었고, 따라서 크기 차이도 모르는 상황이라 더욱 이해하기 힘들었다. 강제형변환에서 괄호 안에 타입을 적는 것은 알겠는데 베이스인 값을 모르다보니 한 눈에는 알아보기 힘들었다.
- 8bit = 1byte
전체 피드백
사전교육 때 배웠던 내용과 겹치는 부분은 쉽게 따라갈 수 있었으나 새로운 부분은 헷갈려서 계속 봐야할 것 같다.
'프로그래밍 > 수업일지' 카테고리의 다른 글
수업일지 6일차 (23/09/21) - Java (0) | 2023.09.21 |
---|---|
수업일지 5일차 (23/09/20) - Java (0) | 2023.09.20 |
수업일지 4일차 (23/09/19) - Java (0) | 2023.09.19 |
수업일지 3일차 (23/09/18) - Java (1) | 2023.09.18 |
수업일지 2일차 (23/09/15) - Java (1) | 2023.09.15 |