본문 바로가기
Language/Java

[JAVA] 변수와 시스템 입출력

by 진아링 2023. 6. 5.
728x90
반응형

변수와 시스템 입출력

1. 모니터로 변수값 출력하기

System.out.println(리터럴 또는 변수);

println()에서 ln은 line의 줄임말로 행을 바꾸라는 의미이다.

메소드의미

println(내용); 괄호 안의 내용을 출력하고 행을 바꿔라
print(내용); 괄호 안의 내용을 출력만 해라
printf("형식문자열", 값1, 값2, ...); 괄호 안의 첫 번째 문자열 형식대로 내용을 출력해라

형식 문자열?

%[argument_index$][flags][width][.precision]conversion
%[값의 순번][-, 0][전체 자릿수][소수 자릿수]변환 문자

%와 conversion은 필수로 작성하고 그 외는 모두 생략할 수 있다. %는 형식 문자열의 시작을 의미하고 conversion에는 제공되는 값의 타입에 따라 d(정수), f(실수), s(문자열)를 입력한다.

System.out.printf("이름: %s", "김자바"); // 이름: 김자바
System.out.printf("나이: %d", 25); // 나이: 25

형식 문자열에 포함될 값이 2개 이상일 경우 값의 순번을 알려주어야 한다.

System.out.printf("이름: %1$s, 나이: "%2d", "김자바", 25);

flags는 빈자리를 채우는 방법인데 생략하면 왼쪽이 공백으로 채워지고, -가 오면 오른쪽이 공백으로 채워진다. 0은 공백 대신 0으로 채운다.

형식화된 문자열설명출력 형태

%10.2f 소수점 이상 7자리, 소수점 이하 2자리. 왼쪽 빈 자리 공백 ____123.45
%-10.2f 소수점 이상 7자리, 소수점 이하 2자리. 오른쪽 빈 자리 공백 123.45____
%010.2f 소수점 이상 7자리, 소수점 이하 2자리. 왼쪽 빈 자리 0 채움 0000123.45

2. 키보드에서 입력된 내용을 변수에 저장하기

int keyCode = System.in.read();

int keyCode;
keyCode = System.in.read(); // 97
keyCode = System.in.read(); // 13
keyCode = System.in.read(); // 10

System.in.read()가 실행되면 Enter키가 입력될 때까지 대기 상태가 된다. Enter키는 다른 키와 다르게 캐리지 리턴(CR: 13)과 라인 피드(LF: 10)로 구성된 2개의 키코드가 입력된다.

이는 키코드를 하나씩 읽기 때문에 2개 이상의 키가 조합된 한글을 읽을 수가 없다. 이를 보완하기 위해 Scanner 클래스를 제공한다.

import java.util.Scanner;
Scanner scanner = new Scanner(System.in); // 스캐너 변수를 선언하고 시스템의 입력 장치로부터 읽는 스캐너를 생성한 후, 생성된 스캐너를 변수에 저장한다
String input = scanner.nextLine(); // Enter키 이전까지 입력된 문자열을 읽음

자바는 기본 타입을 비교할 때는 ==를 사용하지만, 문자열을 비교할 때는 equals() 메소드를 사용한다.

boolean result = inputData.equals("비교문자열");
728x90
반응형

'Language > Java' 카테고리의 다른 글

[JAVA] 연산자의 종류  (0) 2023.06.05
[JAVA] 연산자와 연산식  (0) 2023.06.05
[JAVA] 타입 변환  (0) 2023.06.05
[JAVA] 기본 타입  (0) 2023.06.05

댓글