백엔드 과정/자바 예습

[혼공자]Chap 02-4 변수와 시스템 출력

mim 2021. 12. 14. 12:41
반응형

 

Chap 02-4 변수와 시스템 출력

🖥️
표준 출력장치→ System. out. println (리터럴 또는 변수) → 시스템이 가지고 있는 + 출력장치로 + 괄호 안의 내용을 출력하고 행을 바꿔라
  • 모니터로 변수값 출력하기
  • println(내용); →괄호 안의 내용을 출력하고 행을 바꿔라
  • printf("형식문자열", 값1, 값2, …); →괄호 안의 첫 번째 문자열 형식대로 내용를 출력하라
    • exam 1) printf() 메소드 사용방법
      package sec02.exam03;
      
      public class PrintfExample {
      	public static void main(String[] args) {
      		int value = 1234;
      		System.out.printf("상품의 가격:%d원\n", value); //정수 123
      		System.out.printf("상품의 가격:%6d원\n", value); //6자리 정수. 왼쪽 빈 자리 공백 ___123
      		System.out.printf("상품의 가격:%-6d원\n", value); //6자리 정수. 오른쪽 자리 공백 123___
      		System.out.printf("상품의 가격:%06d원\n", value); //6자리 정수. 왼쪽 빈 자리 0 채움 000123
      		
      		double area = 3.14159 * 10 * 10;
      		System.out.printf("반지름이 %d인 원의 넓이: %10.2f\n", 10, area); //소수점 이상 7자리, 소수점 이하 2자리. 왼쪽 빈 자리 공백 ____123.45
      		
      		String name= "홍길동";
      		String job= "도적";
      		System.out.printf("%6d | %-10s | %10s\n", 1, name, job); // 공백 세자리 | 10자리 문자열 오른쪽 공백 | 10자리 문자열 왼쪽 공백
      	
      	}
      }
  • print(내용); →괄호 안의 내용을 출력하라
⌨️
표준 입력장치→ Syetem.in.read();
  • 키보드에서 입력된 내용을 변수에 저장하기
  • int keycode = Syetem.in.read(); → 시스템이 가지고 있는+ 입력장치에서+ 입력된 키코드를 읽고 읽은 키코드를 변수에 저장하라.
    • exam 2) 입력된 코드를 변수에 저장
      package sec02.exam03;
      
      public class keyCodeExample {
      
      	public static void main(String[] args) throws Exception //throws Exception 예외 내용을 출력. 10장에서 학습
      	 {
      		int keyCode;
      		
      //콘솔 뷰에서는 엔터키가 입력될 때 까지 대기 상태가 된다. a + enter 를 쳤을때 결과가 출력됨.
      		keyCode = System.in.read();
      		System.out.println("keyCode:"+ keyCode);
      		
      		keyCode = System.in.read();
      		System.out.println("keyCode:"+ keyCode);
      		
      		keyCode = System.in.read();
      		System.out.println("keyCode:"+ keyCode);
      	}
      }
    • exam 3) 입력된 키의 개수와 상관없이 키코드 읽기
      package sec02.exam03;
      
      public class ContinueKeyCodeReadExample {
      
      	public static void main(String[] args) throws Exception {
      		int keyCode;
      		
      		while(true) {
      			keyCode = System.in.read();
      			System.out.println("keyCode:"+ keyCode);
      		} //반복문 실행, 반복을 종료하려면 Console 뷰에서 발간색 버튼을 클릭해서 강제 종료해야 한다.
      	}
      }
    • exam 4) q를 입력하면 반복 종료
      package sec02.exam03;
      
      public class QStopExample {
      	public static void main(String[] args) throws Exception {
      		int keyCode;
      		
      		while(true) {
      			keyCode = System.in.read();
      			System.out.println("keyCode:"+ keyCode);
      		if(keyCode == 113) { 
      				break;
      			} // keyCode가 113일 경우 while 반복을 중지함
      		}
      		
      		System.out.println("종료");
      	}
      
      }
  • Syetem.in.read()의 단점은 키코드를 하나씩 읽기 때문에 2개 이상의 키가 조합된 한글을 읽을 수 없다. 키보드로 입력된 문자열을 통 문자열로 읽지 못한다.이를 해결하기 위해 자바에서는 Scanner 클래스를 제공하고 있다.
    • exam 4) Scanner 클래스
      package sec02.exam03;
      
      import java.util.Scanner; //import문 Scanner가 java.util 패키지 안에 있다는 것을 알려주는 역할.
      
      public class ScannerWExample {
      	public static void main(String[] args) throws Exception {
      		Scanner scanner = new Scanner(System.in);
      		String inputData;
      		
      		while(true) {
      			inputData = scanner.nextLine();
      			System.out.println("입력된 문자열은:\"" + inputData + "\"");
      			if (inputData.equals("q")) { //equals <-문자열이 동일한 지 비교할 때 쓰는 메소드.
      				break;
      			}
      		}
      	
      		System.out.println("종료");
      	}
      }
      • equals() 메소드
      boolean result = inputData.equals("비교문자열")) →문자열이 동일한 지 비교할 때 쓰는 메소드. 저장된 문자열과 비교 문자열을 비교

 

반응형