📌 필기 시험 POINT!!
- 명령 프롬프트에서 .java파일 컴파일하고 .class 실행하기 복습을 하면서 필기 시험에 나올만한 포인트를 정리
🔸 javac 클래스이름.java
: 컴파일 명령어 작성한 .java파일을 JAVA 번역하라는 컴파일 명령어
(제대로 컴파일이 되면 클래스이름.class 파일이 생성되고 프롬프트 창에는 아무런 표시 X)
🔸 java 클래스이름(.class 생략)
: 컴파일해서 생긴 .class파일을 실행하라는 명령어
🔸 시스템 환경변수를 설정하는 이유?
: 자바가 설치된 폴더와 소스코드 파일 위치가 다를 때
→ 어떤 위치에서든 자바가 실행할 수 있도록 설정해주는 것
연산자 5개
더하기 +, 빼기 -, 곱하기 *, 나누기 /
% ⇒ 나머지 값 구하기 (나머지가 없으면 0으로 출력)
소수점을 조절해서 출력하기
%.2f ⇒ 소수점 2번째까지만 출력해주세요 (3번째에서 반올림한 값을 출력)
ex) 3.297872 → 3.30
위의 5개 말고도 연산자는 훨씬 많다.
printf()안에서 %와 s,f,d 사이에 숫자 옵션을 넣어 표시할 자리 수를 조절할 수 있다.
정수(%d)의 자리조절 - %와 d사이에 숫자가 없으면 데이터 자리 수 만큼
System.out.printf("정수%d정수\n",1234);
%와d 사이에 숫자가 있을 때 : 숫자만큼 자리 수를 확보하고 출력
자리가 모자르면 → 자동으로 필요한 만큼 자리를 추가
자리가 남으면 → 남는 자리는 숫자 앞에 공백으로
충분한 자리와 1의 자리를 맞춰(오른쪽 정렬) 출력하기 위해서 이런 숫자 옵션을 지정해서 사용하는 것이 보통
출력될 자리 확보 후 왼쪽 정렬
System.out.printf("정수%-10d정수\n",12345);
출력 ⇒ 정수12345 정수
문자열 자리 수 조절 : 정수와 거의 비슷하다.
모자르면 자리를 확보해서 출력하고, 남으면 공백 ‘-’없으면 오른쪽 정렬, 있으면 왼쪽 정렬
System.out.println()
=> 줄 바꿈이 있는 출력, 마지막에 한 번 줄 바꿈을 한다.
=> println()은 printf()의 format 기능이 없기 때문에 %d, %f, %s를 사용하지 못함.
=> 다만 \n, \t, \', \" 등은 사용이 가능하고
System.out.println("\n");
=> 두 줄 개행 (줄 바꿈)
10x20=200 를 출력하려면
System.out.println(10 + "x" + 20 + "=" + 10*20);
문자와 다른 자료형의 + 연산의 결과는 이어 붙이기 된 문자 자료
System.out.println();는 한 개의 문자 자료를 출력하는 것과 마찬가지 이다.
문자와 숫자가 다른 점
🔸 표면상으로 그 둘은 따옴표 안에 쓰여있냐, 아니냐고 구분
🔸 123은 백이십삼 이라고 읽지만 "123"은 일이삼 이라고 읽는다.
( 123은 이진수 123으로 저장되지만 “123”은 코드 값으로 저장된다.
다른 자료형이니까)
🔸 987은 1234보다 작지만, "987"은 "1234"보다 크다 라고 말한다
🔸 문자들 간의 비교는 첫 글자부터 하나씩 같은 위치의 글자와 비교
🔸 첫 글자에서 크기가 결정되면 그 다음은 비교하지 않는다.
🔸 두 번째 글자를 비교하는 경우에는 첫 번째 글자가 같은 글자 일 때에
한해서만 비교
🔸 두 번째도 같은 글자라면 세 번째 글자를 비교
🔸 사전에서 찾았을 때 먼저 나오는 글자를 “작다”라고 하고 뒤에 나오는 글자를 “크다”라고 한다.
숫자와 문자 조합해서 출력할 때 조심해야 할 점
println()에서는 format기능이 없어서 소수점 자리수를 정해서 출력하기 힘들다.
구글링 결과 Stirng.format(”format”,num);을 쓰라는데…
String.format말고도 Math.round()를 쓰는 방법도 있다고 함
printf()와 println()을 비교한 포스팅도 많았다
오늘 수업하면서 내가 생각한 둘의 장단점을 적어보았다.
🔸 printf()
장점 : format기능이 있어서 자리 수 맞추기 간단해서 코드가 짧고 간결,
단점 : 줄 바꿈 없어서 끝이나 앞에 \n를 써줘야 함, 자료형에 따라서 포맷을 정확히 써줘야 함
🔸 println()
장점 : 자동 줄 바꿈, 간단히 출력할 수 있다는 점
단점 : format기능을 사용할 수 없어서 따로 자리 수를 맞춰주는 다른 메소드를 사용해야 함 ⇒ 코드가 길어지고 복잡해짐
(int)((100+88+78)/3.0*10)/10 ⇒ 88.6
int a;
자료형 정리
byte : 1 byte형 정수
short : 2 byte형 정수
int : 정수형 자료형 4 byte형 정수
long : 정수형 자료형 8 byte형 정수
float : 실수형 자료형 4 byte형 실수
double : 실수형 자료형 8 byte형 실수
char(캐릭터) : 문자(글자) 자료형 '', 'a', 'b' 2 byte형 문자 1자, String과 다름
String : 문자열 자료형 "", "a", "abc"
0 글자에서 글자 개수 제한 없이 저장할 수 있는 자료형
String은 현재 자료형이라 부르지만 엄밀히 자료형이라기 보다는
클래스(객체)라고 부르는 게 정확한 표현
boolean - 진위형 자료 1 byte형 자료 (true/false만 저장 가능)
저장 용량의 최소 단위 : 1bit (0 또는 1 중 하나를 저장 - 이진수)
2bit → 00 01 10 11 [4개 중 하나]
3bit → 000 001 010 011 100 101 110 111 [8개 중 하나]
N bit → 2의 N승
8bit = 1byte 00000000 ~ 11111111 (256개 중 하나 저장 가능)
byte ⇒ -128 ~ 127
short = 16bit = 2byte = 65536개 = -32768~32767(정수)
int = 4byte = -2147483648~-2147483647
long = 8byte
예전 시스템의 int - 2byte
지금 시스템의 int - 4byte
실수형의 범위
double = 8byte 0.00002 ⇒ 0.2 x 10의 -4승 : 변수에 저장되는 값 → 2와 -4
10의 약 -308승 ~ 308승