📌 콘솔 입력
✅ Scanner 클래스
- 자바는 입출력 스트림 System.in, System.out, System.err 제공, 문자열을 동적으로 넣어줌
(System.in은 콘솔로부터 데이터를 입력 받는데 사용) - 사용시 : type 변수 = 스캐너클래스.메서드 형식으로 사용
int age = scanner.nextInt();
- 기본적으로 스페이스로 입력 값 구분, nextLine()은 엔터로 입력값 구분하고 스페이스는 문자열로 취급함
🔵 자료형 메서드
정수형 nextByte() 입력값 byte형으로 반환 nextShort() 입력값 short형으로 반환 nextInt() 입력값 int형으로 반환 nextLong() 입력값 long형으로 반환 실수형 nextFloat() 입력값 float형으로 반환 nextDouble() 입력값 double형으로 반환 문자형 next() 입력 라인 문자열 반환 nextLine() 입력 라인 전체 문자열 반환(스페이스 포함)
🔰 콘솔 입력창 활성화를 위한 Vscode 설정변경 방법
- 설정 : java console 검색 : externalTerminal 으로 수정
📍콘솔입력 자료형 메서드 예시
package section18;
import java.util.Scanner;
public class Practice1803 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 적절한 Scanner 객체의 메서드를 사용하여 아래와 같이 입력/출력이 되게 하시오!
/*
* 이름을 입력하세요: 김일남
* 나이를 입력하세요: 99
* 키를 입력하세요: 169.9
* 이름: 김일남, 나이: 99, 키: 169.90
*/
System.out.print("이름을 입력하세요: ");
String name = scanner.nextLine();
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt();
System.out.print("키를 입력하세요: ");
double height = scanner.nextDouble();
System.out.printf("이름: %s, 나이: %d, 키: %.1f\n", name, age, height);
scanner.close();
}
}
📌 출력 명령 ( System.out.printf(); )
System.out.print(); | 인수를 문자열로 콘솔 출력 |
System.out.println(); | 인수를 문자열로 콘솔 출력 + 개행(줄바꿈) |
System.out.printf(); | 서식 문자 사용 출력(문자열 포매팅) |
🔵 서식 문자별 출력 형
%d | 정수(10진수) |
%o | 정수(8진수) |
%x | 정수(16진수) |
%f | 실수 |
%e | 지수 |
%g | %e 또는 %f 형태로 출력 |
%s | 문자열 |
%c | 문자 |
%% | Literal %(문자열로 취급) |
📍 서식 문자별 단순 출력문 예시
- Ex.맞는 서식문자 넣고 출력하기
package section18;
public class Practice1801 {
public static void main(String[] args) {
int age = 25;
double height = 175.5;
String city = "Busan";
//나이,키,도시 가 나오도록 나이:? , 키: ? .. 작성하기
System.out.printf("나이:%d, 키: %.1f, 도시: %s \n", age,height,city);
}
}
-Ex) 여러 개의 서식 문자 사용
package section18;
public class Ex1803 {
public static void main(String[] args) {
System.out.println(String.format("I eat %d apples.", 5 ));
//format 서식 문자(%d)를 사용하게 해주는 메서드
//위의 string format 쓰는게 번거로워서 나온게 아래의 printf(얘도 줄바꿈이 안되므로 필요시 \n을 붙힘)
System.out.printf(String.format("나는 %d 시에 저녁을 먹을것이다 \n",8));
System.out.printf(String.format("내 시력은 %.1f 이다 \n",1.2));
System.out.printf("i eat %d apples. \n", 5);
//실수 넣기 : 실수용 서식문자로 바꿔야함 (표현하고자하는 소숫점 자리까지를 %.n 으로 표기)
System.out.printf("i eat %f apples. \n", 2.5);
System.out.printf("i eat %.2f apples. \n", 2.5);
System.out.printf("i eat %s apples. \n", "five");
System.out.printf("i eat %s apples. \n", "2.50");
//%를 붙히려면 %%로 함
System.out.printf("i have completed %d%% of my Java studies.\n", 50);
//숫자 글자 같이 서식문자로 나타내기
System.out.printf("i have completed %d%% of my %s studies.\n", 100,"Java");
System.out.printf("i have completed %3d%% of my %s studies.\n", 90,"Java");
System.out.printf("i have completed %-3d%% of my %s studies.\n", 20,"Java");
//%3d%%, %-3d%% 처럼 3칸의 공간을 확보하며 서식문자의 공간확보량을 지정가능
System.out.printf("i have completed %.2f%% of my %s studies.\n", 99.9999,"Java");
//반올림을 함 = 99.9999는 100.00%로 표현됨 (반올림이 싫으면 문자열로 넣어야함 -> "99.9999","Java")
}
}
- Ex. 서식 문자와 변수의 사용 (Scanner 사용해서 직접 입력해보기)
package section18;
import java.util.Scanner;
public class Practice1803 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 적절한 Scanner 객체의 메서드를 사용하여 아래와 같이 입력/출력이 되게 하시오!
/*
* 이름을 입력하세요: 김일남
* 나이를 입력하세요: 99
* 키를 입력하세요: 169.9
* 이름: 김일남, 나이: 99, 키: 169.90
*/
System.out.print("이름을 입력하세요: ");
String name = scanner.nextLine();
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt();
System.out.print("키를 입력하세요: ");
double height = scanner.nextDouble();
System.out.printf("이름: %s, 나이: %d, 키: %.1f\n", name, age, height);
scanner.close();
}
}
🔰 String format 까지 써주는게 번거로우므로, println (자동 개행) 대신 printf 를 사용하며
내용에 \n 을 붙혀 수동 줄바꿈을 하는식으로 사용
System.out.printf("나의 키는 %d Cm이다.\n", 165);
🔰칸을 확보 하려면 서식문자에 -n이나 n을 붙힘
System.out.printf("i have completed %d%% of my %s studies.\n", 100,"Java");
System.out.printf("i have completed %3d%% of my %s studies.\n", 90,"Java");
🔰숫자의 반올림이 자동으로 반영되므로, 문자열으로 수정 한다
(Ex. 99.999 숫자의 반올림 이슈)
System.out.printf("i have completed %.2f%% of my %s studies.\n", 99.9999,"Java");
이렇게 출력하는 경우 서식문자를 %.2f (즉, 소숫점 2자리까지 표현) %%로 했기 때문에
반올림 하는 특성상, 100.00% 되는데, 이를 방지하려면 99.999를 문자열인 "99.999"로 넣어야 함
'🟪 Backend-Java' 카테고리의 다른 글
8. 반복문의 흐름제어 (for, while, do-while 흐름제어/break,continue) (0) | 2024.07.05 |
---|---|
6. 데이터 타입표 (기본자료형,참조자료형,byte,short,int,long,char등) (2) | 2024.07.03 |
5. 연산자 (대입,산술,복합대인,관계,논리,조건,증감연산자,전위증감연산자 등등) (0) | 2024.07.02 |
1-3. 깃허브 데스크탑 기본 사용법 + 자바 파일 배포 + 마크다운방법 (0) | 2024.06.30 |
1-2. 자바 개발 환경설정 : JAVA JDK,Vscode + 컴파일 된 코드 실행하기 (0) | 2024.06.29 |