App Programming/JAVA2008/09/30 19:58
출처: http://thx4alice.tistory.com/124?srchid=BR1http%3A%2F%2Fthx4alice.tistory.com%2F124


byte[] by 를 출력할 때,
System.out.write(by, 04);  사용하면 된다.


System 클래스 Member Field
in, out, err

기본 출력 (PrintStream 클래스)
- write Method
- print Method
- println Method
- printf Method

1. write 부터

  1. public class Exam_02   
  2. {   
  3.     public static void main(String[] ar)   
  4.     {   
  5.         System.out.write(65);   
  6.         System.out.flush();   
  7.         System.out.println();   
  8.         byte[] by = new byte[]{'J''A''V''A'};   
  9.         System.out.write(by, 04);   
  10.         System.out.println();   
  11.         int x = 100;   
  12.         char y = 'B';   
  13.         float z = 12.456f;   
  14.         double w = 12.456;   
  15.         System.out.print(x);   
  16.         System.out.println();   
  17.         System.out.print(y);   
  18.         System.out.println();   
  19.         System.out.println(z);   
  20.         System.out.println(w);         
  21.     }   
  22. }  
write 메서드는 flush 메서드와 병행되어야만 출력버퍼에 들어가있는 내용이 모니터로 출력됩니다.

2. print, println
  1. import java.io.*;   
  2. public class Exam_07 {   
  3.     public static void main(String[] ar) throws IOException {   
  4.         byte[] by = new byte[10];   
  5.         System.out.print("과목 = ");   
  6.         System.in.read(by);        
  7.         System.out.println("결과 = " + new String(by));   
  8.     }   
  9. }  
print, println 은 가장 많이쓰는 자바의 표준출력 메서드인데요.
둘 차이는 개행문자가 들어가느냐 안들어가느냐의 차이.

3. printf
  1. public class Exam_03   
  2. {   
  3.     public static void main(String[] ar)   
  4.     {   
  5.         int a = 100;   
  6.         char b = 'A';   
  7.         float c = 12.346f;   
  8.         String d = "홍길동";   
  9.            
  10.         System.out.printf("a = %d 입니다\n", a);   
  11.         System.out.printf("b = %c = %d \n", b, (int)b);   
  12.         System.out.printf("c = %6.2f\n", c);   
  13.         System.out.printf("d = %s 입니다", d);   
  14.     }   
  15.   
  16. }  
printf 는 c 언어의 printf 와 같습니다.

문자 및 숫자 입력
아스키 = System.in.read();
숫자 = System.in.read() – 48 or ‘0’;
문자 = (char)System.in.read();

문자열 입력
System.in.read(byte[]);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

4. 문자열 입력 예제
  1. import java.io.*;   
  2.   
  3. public class Exam_09   
  4. {   
  5.     public static void main(String[] ar) throws IOException   
  6.     {   
  7.         BufferedReader in = new BufferedReader(   
  8.                 new InputStreamReader(System.in) );        
  9.         String imsi = "";   
  10.         byte a = 0;   
  11.         int b = 0;   
  12.         float c = 0.0f;   
  13.            
  14.         System.out.print("수를 입력하세요 : ");   
  15.         imsi = in.readLine();   
  16.            
  17.         a = Byte.parseByte(imsi);   
  18.         b = Integer.parseInt(imsi);   
  19.         c = Float.parseFloat(imsi);   
  20.            
  21.         System.out.println("a = " + a);   
  22.         System.out.println("b = " + b);   
  23.         System.out.println("c = " + c);   
  24.     }   
  25.   
  26. }  

5. 개행문자에 대한 참고
  1. import java.io.*;   
  2.   
  3. public class Exam_06   
  4. {   
  5.     public static void main(String[] ar) throws IOException   
  6.     {   
  7.         BufferedReader in = new BufferedReader(   
  8.                 new InputStreamReader(System.in) );   
  9.            
  10.         System.out.print("키보드 하나를 누르세요 : ");   
  11.         char a = (char)System.in.read();           
  12.         System.out.println("a = " + a);   
  13.         //System.in.read(); // \r   
  14.         //System.in.read(); // \n   
  15.         in.readLine();   
  16.            
  17.         System.out.print("수를 하나 누르세요 : ");   
  18.         int b = System.in.read() - '0';        
  19.         System.out.println("b = " + b);   
  20.     }   
  21.        
  22. }  
자바에서 사용하는 개행문자는 \r\n 입니다.
System.in.read() 로 단순 문자를 입력받았을 때에는,
입력버퍼에 \r\n 이 여전히 남아있어 이것을 없애기 위해서는
System.in.read() 입력을 두 번 더 받아야합니다.



Posted by BAGE