1. Scanner(화면에서 입력 받기)
(1) Scanner Class
: 사용자로부터 입력되는 정수나 실수, 문자열을 처리하는 클래스
(2) import 작성
import java. util.Scanner;
(3) Scanner 생성
Scanner sc = new Scanner(System.in);
(4) 키보드 입력값 받기
- 정수: sc.nextInt();
- 실수: sc.nextFloat();, sc.nextDouble();
- 문자열: sc.next();, sc.nextLine();
**입력받을 때, next()는 띄어쓰기를 입력할 수 없다. 왜냐하면 띄어쓰기를 구분인자로 생각하여 각각 저장하기 때문이다. 이에 반해 nextLine();은 문자열에 띄어쓰기가 가능하다.
import java.util.Scanner; // Scanner를 사용하기 위해 추가함
class Scanner {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name;
String age;
System.out.println("당신의 이름은 무엇인가요?");
name = sc.next();
System.out.println(name + "이군요!");
System.out.println("당신은 몇 살인가요?");
sc.nextLine(); // 남아있는 엔터 날리기
// ㄴ엔터를 날리지 않으면 질문들이 다 한번에 출력됨
System.out.println(age + "살이군요!");
}
}
▼실행결과
당신의 이름은 무엇인가요? 홍길동이군요! 당신은 몇 살인가요? 21살이군요! |
2. 형변환(casting)
: 변수나 상수의 타입을 다른 타입으로 변환하는 것(boolean 제외)
(1) 값 처리의 원칙
- 같은 종류의 자료형만 대입 가능
- 같은 종류의 자료형만 계산 가능
- 계산 결과도 같은 종류의 값이 나와야 한다.
ex)
(int) 123456 → (double) 123456.0 |
(char) 'D' → (int) 68 |
(float) 2.31f → (int) 2 |
(2) 자동 형변환
: 컴파일러가 자동으로 값의 범위가 작은 자료형을 값의 범위가 큰 자료형으로 변환시켜준다.
int i = 10; double d = 3.14 + i; double d = 3.14 + (double) i; double d = 3.14 + (double) 10; double d = 3.14 + 10.0; double d = 13.14; |
(3) 강제 형변환
: 값의 범위가 큰 자료형을 값의 범위가 작은 자료형으로 변환
- 강제 형변환 시 데이터 손실이 일어날 수 있다.
3. 출력 메소드
(1) System.out.print()
: () 안의 변수나 문자, 숫자, 논리 값을 출력해준다.
(2) System.out.println()
: print문과 출력은 동일한데 자동으로 줄바꿈을 하고 출력해준다.
(3) System.out.printf()
: 정해진 형식에 맞춰서 그에 맞는 값(변수)을 줄바꿈하지 않고 출력해준다. ("%형식", 변수 등)
a. 표현법
: System.out.printf(출력하고자 하는 형식, 출력하고자 하는 값);
b. printf의 f
: format(형식)을 의미
→ 줄바꿈을 하지 않기 때문에 따로 '\n'을 추가해야 한다.
("문자열 안"에 값이 들어갈 자리를 만들어주어야 한다.)
▽자주 사용되는 printf() 지시자
%b | boolean 형식으로 출력 |
%d | 10진수(decimal) 형식으로 출력 |
%o | 8진수(octal) 형식으로 출력 |
%x, %X | 16진수(hexa-decimal) 형식으로 출력 |
%f | 부동 소수점(소수점 아래 6자리 실수, floating-point) 형식으로 출력 |
%e, %E | 지수(exponent) 표현식의 형식으로 출력 |
%c | 문자(character)로 출력 |
%s | 문자열(string)로 출력 |
- 정렬 방법
· %4d: 4칸을 확보하고 오른쪽 정렬
· %-4d: 4칸을 확보하고 왼쪽 정렬
· %3f: 소수점 아래 3자리까지만 표시
public class cd {
public void ex() {
int x = 10;
int y = 20;
System.out.printf("x = %d, y = %d \n", x, y);
//x = 10
//y = 20
System.out.printf("%d + %d = %d \n", x, y, (x + y));
//10 + 20 = 30
System.out.printf("%5d \n", x); // 10
System.out.printf("%-5d \n", y); //20
}
}
4. escape 문자
특수문자 | 문자 리터럴 | 비고 |
tab | \t | 정해진 공간 만큼 띄어쓰기 |
new line | \n | 출력하고 다음 라인으로 옮김 |
역슬래쉬 | \\ | 특수문자 사용 시 백슬래쉬(\)를 넣고 특수문자를 넣어야 함 |
작은 따옴표 | \' | " |
큰 따옴표 | \" | " |
유니코드 | \u | 유니코드를 표시할 때 사용 |