반응형
1. 변수 타입 변환
- 두 변수의 타입이 다를 때, 한쪽 변수값을 다른 쪽 변수에 복사해서 저장해야 할 경우 필요한 변환
1) 자동 타입 변환
- 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때, 프로그램 실행 도중에 자동으로 타입 변환
-> 타입별 허용 범위 크기: byte < short < int < long < float < double
=> 예외로, char보다 허용 범위가 작은 byte는 자동 타입 변환되지 않음(char과 다르게 byte는 음수를 포함해서)
(1) 자동 타입 변환 예시 코드(자바 컴파일러 사이트https://www.mycompiler.io/ko/new/java에서 실행)
(2) 정수 연산에서 자동 타입 변환
- 정수 타입 변수가 산술 연산식(연산자: +, -, *, /, %)에서 피연산자로 사용되면
int 타입보다 작은 byte/short 타입의 변수는 int 타입으로 자동 변환
(3) 실수 연산에서의 자동 타입 변환
- 실수 타입 변수가 산술 연산식(연산자: +, -, *, /, %)에서 피연산자로 사용될 경우
두 연산자가 동일한 타입이면 해당 타입으로 연산되지만, 하나라도 double 타입이면 다른 피연산자도 double로 자동 변환
(4) + 연산에서의 문자열 자동 타입 변환
- 숫자 + 숫자 -> 덧셈 연산, 숫자 반환
- "문자열" + 숫자 -> 결합 연산, "문자열숫자" 문자열 반환
- 숫자 + "문자열" -> 결합 연산, "숫자문자열" 문자열 반환
2) 강제 타입 변환
- 큰 허용 범위 타입은 작은 허용 범위 타입으로 자동 타입 변환될 수 없으므로, 강제로 나눠서 저장해야 함
(1) 강제 타입 변환 예시 코드(자바 컴파일러 사이트https://www.mycompiler.io/ko/new/java에서 실행)
(2) 문자열을 기본 타입으로 강제 타입 변환
-> 단, 문자열에 숫자가 아닌 것을 포함하고 있으면 NumberFormatException이 발생
기본 타입 | 변환 방법 | 예제 코드 |
int | Integer.parseInt(String) | int num = Integer.parseInt("123"); |
double | Double.parseDouble(String) | double d = Double.parseDouble("12.34"); |
float | Float.parseFloat(String) | float f = Float.parseFloat("12.34f"); |
long | Long.parseLong(String) | long l = Long.parseLong("123456789"); |
short | Short.parseShort(String) | short s = Short.parseShort("123"); |
byte | Byte.parseByte(String) | byte b = Byte.parseByte("12"); |
boolean | Boolean.parseBoolean(String) | boolean bool = Boolean.parseBoolean("true"); |
2. 변수와 시스템 입출력
1) 시스템 입력
- 시스템의 표준 입력 장치는 System.in.read();를 사용
-> 입력 장치에서 입력된 키코드를 읽고 변수에 저장할 수도 있음
=> 예시: int keyCode = System.in.read(); - 키보드로 입력한 내용을 문자열로 읽으려면, Scanner를 사용
-> 2개 이상의 키가 조합된 한글이나 숫자를 문자열로 읽을 수 있게 함
-> 예시: Scanner sc = new Scanner(System.in); String data = sc.nextLine; int num = sc.next();
2) 시스템 출력 메서드의 종류(시스템의 표준 출력 장치인 모니터로 출력)
메서드 | 의미 |
System.out.println(출력내용); | 괄호 안 내용을 출력하고 행 바꾸기 |
System.out.print(출력내용); | 괄호 안 내용을 출력 |
System.out.printf("문자열 형식", 값1); | 괄호 안의 문자열 형식대로 내용 출력 |
*printf 사용 방법
서식 | 의미 | 예제 코드 | 출력 예시 |
%d | 정수 출력 | System.out.printf("정수: %d", 123); | 정수: 123 |
%f | 실수 출력 (기본 소수점 6자리) | System.out.printf("실수: %f", 12.3456); | 실수: 12.345600 |
%.2f | 실수 출력 (소수점 2자리) | System.out.printf("실수: %.2f", 12.3456); | 실수: 12.35 |
%s | 문자열 출력 | System.out.printf("문자열: %s", "Hello"); | 문자열: Hello |
%c | 문자 출력 | System.out.printf("문자: %c", 'A'); | 문자: A |
%b | 불린(boolean) 값 출력 | System.out.printf("논리값: %b", true); | 논리값: true |
%x | 16진수 출력 | System.out.printf("16진수: %x", 255); | 16진수: ff |
%o | 8진수 출력 | System.out.printf("8진수: %o", 255); | 8진수: 377 |
%e | 지수 표기법 출력 | System.out.printf("지수 표기: %e", 12345.6789); | 지수 표기: 1.234568e+04 |
%n | 줄 바꿈 | System.out.printf("줄바꿈%n다음 줄"); | 줄바꿈 다음 줄 |
반응형
'자바(JAVA) > 미니 프로젝트 & 기초 공부' 카테고리의 다른 글
Java 기초 또 다시 공부하기 5일차 - 반복문(for문, while/do-while문, break/continue) (1) | 2025.05.23 |
---|---|
Java 기초 또 다시 공부하기 4일차 - 연산자와 연산식, 조건문 (3) | 2025.05.22 |
Java 기초 또 다시 공부하기 2일차 - 변수, 기본 타입 (2) | 2025.05.19 |
Java 기초 또 다시 공부하기 1일차 - 자바 특징, 자바 개발 환경 구축, 자바 프로그램 개발 과정 (2) | 2025.05.16 |
Java 기초 다시 공부하기 9주차 - 연습 문제 풀이 1 (0) | 2024.09.03 |