국비수업/수업정리

문자열 / 형식지정자 / 콘솔 입력

밀김 2023. 2. 16. 10:58
728x90

 

 

 

 

 

 

 

- new PrintStream : 문자열을 전문으로 출력하는 객체

 

 

출력을 제어하기 위한 명령어들

 

 

- println (\n이 포함된 출력방식)

 

- printf (f는 포맷. 값을 포맷해서 출력해준다. %d(값의 형식을 지정해, 대입할수 있는 명렁어)와 같이 잘 쓰인다)

 

- %d는 십진수로 출력된다

 

 

(요정도는 암기해놔도 좋다)

여러 출력 형식이 존재한다

 

 

 

 


 

 

<형식 지정자> 

 

package ex1;

class FirstProgram{

	public static void main(String[] args){

         int kor1,kor2,kor3;
	     int total;
	     float avg;
	     	
	     kor1 = 50;
	     kor2 = 60;
	     kor3 = 80; 
		 		
	     total=kor1+kor2+kor3;
	     avg=total/3; 

	     System.out.println("┌────────────────────────────┐");
	    System.out.println("\n│           성적표            │\n");
	     System.out.println("└────────────────────────────┘\n");
	     
	     System.out.printf("국어1 : %3d\n", kor1); //%3d=앞에 3자리까지 표시하겠다는것
	     System.out.printf("국어2 : %3d\n",kor2);
	     System.out.printf("국어3 : %3d\n",kor3);
	     System.out.printf("총점 : %3d\n",total);
	     System.out.printf("평균 : %6.2f\n",avg); //%6.2f=숫자의 전체 자릿수(소수점포함)는 6자리까지 표시할거고
	                                             //소수점 뒤에는 두자리까지만 표시하겠다는 뜻 .2
	     System.out.print("\n──────────────────────────────");
	}
	
}

 

 

https://youtu.be/-MrlWt4uT5Y

 

 

 

- $형식 지정자는 어떤 하나의 값을 중복해서 사용할때 쓴다

 

- $는, index라고 보면 된다. 

ex) System.out.printf("%2$d %d %d",1,2,3) > 2,2,3 이 출력된다. 첫번째에 두번째값을 넣겠다고 했으니(2$), 첫번째 자리값이 1이 아니라 2가 출력되는것..

 

 


 

 

 

/*
여러줄 주석 달기!!!!!
*/

 

 

- read : 블러킹,블럭 함수라고 불림(사용자의 입력값을 받아 실행하는)

 

 

 

 

System.out.print("아무 문자나 입력해주세요:");
	     int code = System.in.read();
	     
	     System.out.println(code);
	     
	     System.out.write(code);
	     System.out.flush();
         
/*
결과값:
아무 문자나 입력해주세요:a
97
a
*/

 

 

1. read로 인해 값을 입력해달라고 콘솔창이 깜빡거린다

2. 사용자가 콘솔창에 입력한 a가 버퍼에 들어간다

3.  버퍼에는 a 문자에 해당하는 키코드값(아스키코드 변환) 97이 들어간다

4. println에는 97로 출력이 됨 (println은 아스키코드 출력)

5. 97이 wirte로 넘어가서 flush에 97담기고 97이 콘솔창으로 배출이 된다

(wirte가 문자 출력 스트림이기 때문에 flush에서는 a가 출력됨)

6. 하지만 콘솔창은 문자리더기이기 때문에 값이 문자 a로 띄워지게 된다?(>선생님 설명)

* wire는 문자 ' '만 가능 문자열 " "은 불가능 *

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90