제 4장 문 장 배정문 혼합문 제어문 표준 입출력.

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

5 장 조건과 반복 ②. Contents Counting and Looping [while 문 사용 ] Powers of 2 [while 문 사용 ] More Guessing [do 문 사용 ] Election Day [do 문 사용 ] Finding Maximum &
명품 JAVA Programming 제 3 장 반복문, 배열, 예외처리.
제6장 조건문.
어서와 Java는 처음이지! 제3장선택과 반복.
Vision System Lab, Sang-Hun Han
제 3 장 변수와 자료형.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
10. 예외 처리.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C++ Espresso 제1장 기초 사항.
IntArray[0] int length 5 intArray 객체 제 3 장 반복문, 배열, 예외처리.
C++ Espresso 제2장 제어문과 함수.
제9장 입출력과 JNI.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
7장 배열 ②.
어서와 Java는 처음이지! 제4장 배열.
제6장 제어(Control) 6.1 구조적 프로그래밍(Structured Programming)
5 익셉션 처리.
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
제7장 제어구조 I – 식과 문장.
명품 JAVA Essential.
8장 자바 입출력.
제5장 제어명령
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
Lesson 3. 입출력과 제어문.
7 스택.
Power Java 제10장 배열.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
7. while 문의 흐름 제어.
명품 Java Programming.
최용술 장 Thread 최용술
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
주소록 프로그램.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
4장 제어문 선택문: if 문, if – else 문, switch 문
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
3. while문 반복문의 종류 while 문 while( 조건식 )        문장;.
5장 조건과 반복 ②.
제2장 데이터 및 수식.
어서와 Java는 처음이지! 제4장 배열 IT응용시스템공학과 김형진 교수.
Lesson 4. 수식과 연산자.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
4장 - PHP의 표현식과 흐름 제어-.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터공학실습(I) 3주 인공지능연구실.
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
JA A V W. 04.
[INA470] Java Programming Youn-Hee Han
자바 5.0 프로그래밍.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
C언어 프로그래밍의 이해 Ch05. 명령문.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 08. 조건에 따른 흐름의 분기.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
Java 5장. 객체지향 개념 public class SumTest {
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
어서와 C언어는 처음이지 제16장.
Choi Younghwan CSE HUFS
자바 암호 프로그래밍 Java Cryptography Programming
Presentation transcript:

제 4장 문 장 배정문 혼합문 제어문 표준 입출력

문장의 종류 배정문 : var = exp 문 장 혼합문 : { } 조건문 : if 문, switch 문 혼합문 : { } 조건문 : if 문, switch 문 제어문 반복문 : for 문, while 문, do-while 문 분기문 : break 문, continue 문, return 문 예외 처리문 : try-catch-finally 동기화문 : synchronized 표준 입출력 : System.in.read(), System.out.println() 문 장

배정문 값을 변수에 저장하는 데 사용 형태 : <변수> = <식> ; 형 변환 x *= y; 형태 : <변수> = <식> ; 형 변환 협소화(narrowing) 형 변환 : 캐스트(cast) 연산자 [예제 4.1] 테스트 remainder = dividend % divisor; i = j = k = 0; x *= y;

혼합문 여러 문장을 한데 묶어 하나의 문장으로 나타냄 형태 지역변수(Local Variable) { <선언> 혹은 <문장> } 지역변수(Local Variable) 블록의 내부에서 선언된 변수 선언된 블록 안에서만 참조 가능 if (a > b) a--; b++; if (a > b) { a--; b++; }

public class LocalVariable { static int x; [예제 4.4- LocalVariable.java] ____________________________________________ public class LocalVariable { static int x; public static void main(String[] args) { int x = (x=2) * 2; System.out.println("x = " + x); } ______________________________________________________________________________ 실행결과 : x = 4

제어문 실행 순서를 제어하는 방법에 따라 프로그램의 실행 순서를 바꾸는 데 사용 조건문(선택문) : if 문, switch 문 조건에 따라 처리하는 명령을 달리하는 문장 반복문 : for 문, while 문, do-while 문 일정한 조건이 만족할때까지 동일한 명령을 반복적으로 처리 분기문 : break 문, continue 문, return 문 강제로 명령어 처리 순서를 바꾸는 문장

조건문 - if 문 [1/2] 조건에 따라 실행되는 부분이 다를 때 사용. if 문의 형태 if ( <조건식> ) <문장1> else <문장2> 조건식의 연산결과 : 논리형(true or false) 예 : if (a < 0) a = -a; // 절대값 if (a > b) m = a; else m = b; // 큰 값

if (a < b) flag = true; System.out.println("Flag is" + flag); int a,b; boolean flag; flag = false; // ........생략 if (a < b) flag = true; System.out.println("Flag is" + flag);

단일 선택 If문 한 개의 숫자를 읽어 짝수 와 홀수를 판별 public class IfSt { public static void main(String[] args) throws Exception { int n; System.out.print("Enter a number = "); n = System.in.read() - '0‘; if (n % 2 == 0) System.out.println(n + " is an even number."); if (n % 2 != 0) System.out.println(n + " is an odd number."); }

단일 선택 If문 키보드로 입력 받은 문자가 대문자인지 판별 class If { public static void main(String[] args) throws Exception { int a; System.out.print("문자를 입력하세요 : "); a = System.in.read(); if(a >= 'A' && a <= 'Z') System.out.println((char)a + "는 대문자입니다."); }

System.out.println("Flag is" + flag); if-else 문 예 int a,b; boolean flag; // ........생략 if (a < b) flag = true; else flag = false; System.out.println("Flag is" + flag);

If ~ else 문 한 개의 숫자를 읽어 짝수 와 홀수를 판별 public class IfElseSt { public static void main(String[] args) throws Exception { int n; System.out.print("Enter a number = "); n = System.in.read() - '0'; if (n % 2 == 0) System.out.println(n + " is an even number."); else System.out.println(n + " is an odd number."); }

If ~ else 문 문자를 입력 받아 대•소문자를 판별 class IfElse { public static void main(String[] args) throws Exception { int a; System.out.print("문자를 입력하세요 : "); a = System.in.read(); if(a >= 'A' && a <= 'Z') System.out.println((char)a + "는 대문자입니다."); else System.out.println((char)a + "는 소문자입니다."); }

조건문 - if 문 [2/2] 내포된 if 문 참 부분에서 if 문이 반복 else 부분에서 if 문이 반복 // . . . <문장> if (<조건식1>) <문장1> else if (<조건식2>) <문장2> … else if (<조건식n>) <문장n> else <문장>

// 같은 블록 내에서 가장 가까운 if(k>100)과 연관된 else문 } else a = d; if(i == 10) { if(j < 20) a = b; if(k > 100) c = d; else a = c; // 같은 블록 내에서 가장 가까운 if(k>100)과 연관된 else문 } else a = d; // 같은 블록 내에서 가장 가까운 if(i == 10)과 연관된 else문

조건문 -다중 if ~else문 if (조건절) 문장1; else if(조건절) 문장2; 문장3; ... else 문장n;

점수에 따라 학점을 구하는 프로그램 class IfElseIf { public static void main(String[] args) { int grade = 85 ; // 초기값 지정 if(grade >= 90) System.out.println("성적은 A 입니다."); else if(grade >= 80) System.out.println("성적은 B 입니다."); else if(grade >= 70) System.out.println("성적은 C 입니다."); else if(grade >= 60) System.out.println("성적은 D 입니다."); else System.out.println("성적은 F 입니다."); }

문자A,K,M중에 한 개를 입력 받아 조건에 맞는 문자열 출력 public class IfElseIf2 { public static void main(String[] args) throws Exception { int ch; System.out.print("문자를 입력하세요 : "); ch = System.in.read( ); if(ch == 'A' || ch == 'a') { System.out.println("America"); System.out.println("Australia"); } else if(ch == 'K' || ch == 'k') { System.out.println("Korea"); System.out.println("Kuwait"); else if(ch == 'M' || ch == 'm') { System.out.println("Mexico"); System.out.println("Monaco"); } }

조건문 - switch 문 조건에 따라 여러 경우로 처리해야 되는 경우 switch 문의 형태 여기서, default의 의미는 otherwise. break 문을 사용하여 탈출. switch ( <식> ) { case <상수식1> : <문장1> case <상수식2> : <문장2> : case <상수식n> : <문장n> default : <문장> }

Switch문 사용시 주의 사항 Switch문에 사용된 수식은 정수형(문자형) 자료 Case문에 사용되는 값은 오로지 한 개의 값만 사용 If문에서처럼 논리형 값을 사용할 수 없음 Case에 실행문이 여러 개 나오더라도 중괄호를 사용하지 않음 Break문이 없으면 다음 case로 게속 넘어 감

switch 문 switch (수식) { case 값1: 처리문장들; break; case 값2: ........... case 값n: default: 묵시적으로 처리해야 하는 문장들; }

입력한 숫자가 홀수,짝수인지 판별 class Switch { public static void main(String[] args) throws Exception { int a; System.out.print("1부터 9사이의 숫자를 입력하세요 : "); a = System.in.read() - '0'; switch(a) { case 1: case 3: case 5: case 7: case 9: System.out.println(a + "는(은) 홀수입니다."); break; case 2: case 4: case 6: case 8: System.out.println(a + "는(은) 짝수입니다."); default: System.out.println("홀수도 짝수도 아닙니다."); } } }

Switch문 실습 실습1. 앞의 예제를 나머지 연산자를 이용하여 작성 실습2. 122p 의 성적 처리를 switch문을 사용하여 작성

정수 값에 따라 요일을 출력 public class SwitchSt { public static void main(String[] args) throws Exception { int day; System.out.print("Enter the day number 1~7 : "); day = System.in.read() - '0'; switch(day) { case 1: System.out.println("Sunday"); break; case 2: System.out.println("Monday"); break; case 3: System.out.println("Tuesday"); break; case 4: System.out.println("Wednesday"); break; case 5: System.out.println("Thursday"); break; case 6: System.out.println("Friday"); break; case 7: System.out.println("Saturday"); break; default: System.out.println("Illegal day"); } /* end of switch */ }

식을 입력으로 받아 그 값을 계산하는 프로그램 public class Calculator { public static void main(String[] args) throws Exception { int x, y, p=0; char c; System.out.print("Enter an operator & two numbers = "); c = (char) System.in.read(); x = System.in.read() - '0'; y = System.in.read() - '0'; switch (c) { case '+' : p=x+y; System.out.println(x+" + "+y+" = "+p); break; case '-' : p=x-y; System.out.println(x+" - "+y+" = "+p); break; case '*' : p=x*y; System.out.println(x+" * "+y+" = "+p); break; case '/' : p=x/y; System.out.println(x+" / "+y+" = "+p); break; default : System.out.println("Illegal operator "); } } }

반복문 반복문 은 프로그램의 일정한 부분을 주어진 조건이 만족될 때까지 반복해서 실행하는 문장 반복문 for문 while문 do~while문 For문 과 while문은 먼저 조건식을 검사한후에 조건식의 결과가 참이면 반복문장을 실행 하지만,do~while문은 반복 문장을 먼저 실행한 후에 조건식을 검사하여 다시 반복할지를 검사

반복문 - for 문 [1/3] 정해진 횟수만큼 일련의 문장을 반복 for 문의 형태 <식1> : 제어 변수 초기화 <문장> <식1> : 제어 변수 초기화 <식2> : 제어 변수를 검사하는 조건식 <식3> : 제어 변수의 값을 수정 s = 0; for (i=1; i<=N; ++i) // 1부터 N까지의 합 : i 증가 s += i;

반복문 - for 문 [2/3] for 문의 실행순서  [예제 4.10] 테스트      for ( ) < 문장 >   참 거짓 for ( 식 1> ; < 2> ; < 3> ) 

1 부터 10까지 출력 class For1 { public static void main(String[] args) { int cnt; for(cnt = 1; cnt <= 10; cnt++) System.out.println( i ); }

1 부터 10까지 출력(가로로 출력) class For1 { public static void main(String[] args) { int cnt; for(cnt = 1; cnt <= 10; cnt++) ( 채우시오 ) }

1 부터 100까지 합을 구하여 출력 class For { public static void main(String[] args) { int cnt, sum = 0; for(cnt = 1; cnt <= 100; cnt++) sum += cnt; System.out.println("1+2+3+...+100 : " + sum); }

1 부터 100까지 수중 7의 배수의 합을 구하여 출력 class For { public static void main(String[] args) { int cnt, sum = 0; ( 채우시오 ) ( 채우시오 ) System.out.println("1+2+3+...+100 : " + sum); }

1부터 100가지 수를 한 줄에 10개씩 출력 class For2 { public static void main(String[] args) { int cnt, sum = 0; for(cnt = 1; cnt <= 100; cnt++) { System.out.print(cnt + " "); if((cnt % 10) == 0) System.out.print("\n"); } } }

구구단을 출력 class GuGuDan { public static void main(String[] args) { for(int i = 1; i <= 9; i++) for(int j = 1; j <= 9; j++) System.out.println(i + " * " + j + " = " + i*j); }

구구단 출력 (2단부터 9단까지 제목 포함) class GuGuDan { public static void main(String[ ] args) { for(int i = 2; i <= 9; i++) ( 채우시오 ) for(int j = 1; j <= 9; j++) System.out.println(i + " * " + j + " = " + i*j); }

구구단 출력 (2단부터 9단까지 옆으로 2단씩) class GuGuDan { public static void main(String[ ] args) { for(int i = 2; i <= 9; i++) ( 채우시오 ) ( 채우시오 ) ( 채우시오 ) }

1부터 9까지의 수를 입력 받아 해당되는 구구단을 출력 1부터 9까지의 수를 입력 받아 해당되는 구구단을 출력 class Second10 { public static void main(String[] args) throws Exception { int num, cnt; System.out.print("구구단으로 출력할 숫자를 입력하세요 : "); num = System.in.read() - '0'; for(cnt = 1; cnt <= 9; cnt++) System.out.println(num + " * " + cnt + " = " + (num*cnt)); }

반복문 - for 문 [3/3] 무한 루프를 나타내는 for 문 내포된 for 문 루프 종료 : break 문, return 문 내포된 for 문 for 문 안에 for 문이 있을 때. 다차원 배열을 다룰 때. for ( ; ; ) <문장> for (i=0; i<N; ++i) for (j=0; j<M; ++j) matrix[i][j] = 0;

반복문 - while 문 [1/2] while 문의 형태 실행순서     while ( 조건식 ) <문장> i = 1; s = 0; while (i <= N) { // 1부터 N까지의 합 s += i; ++i; }  < 문장 >   참 거짓  while (< 조건식 >)

반복문 - while 문 [2/2] for 문과 while 문의 비교 for --- 주어진 횟수 while --- 주어진 조건 for (i = 0; i < N; ++i) s += i; i = 0; while (i < N) { ++i; }

class For { public static void main(String args[]) { int n; System.out.print("1에서 10까지의 정수 : " ); for(n=1; n < 11; n++) System.out.print(n + " " ); } }

1부터 10까지 출력(세로) class While { public static void main(String[] args) { int cnt = 1; while(cnt <= 10) { System.out.println("cnt = " + cnt); cnt++; }

1부터 10 사이에서 홀수만 출력 class While2 { public static void main(String[] args) { int cnt = 1; while(cnt <= 10) { if(cnt % 2 != 0) System.out.println("cnt = " + cnt); cnt++; }

1부터 10까지 합을 출력 class While3 { public static void main(String[] args) { int cnt = 1, sum = 0; while(cnt <= 100) { sum += cnt; cnt++; } System.out.println("1+2+3+...+100 : " + sum);

1부터 100까지 홀수의 합을 출력 class Second8 { public static void main(String[] args) { int cnt = 1, sum = 0; while(cnt <= 100) { sum += cnt; cnt += 2; } System.out.println("1부터 100 사이의 홀수의 합 : " + sum );

반복문 - do-while 문 반복되는 문장을 먼저 실행 한 후에 조건식을 검사 do-while 문의 형태 <문장> while (<조건식>); precondition check --- for, while postcondition check --- do-while 조건식이 거짓이라도 <문장> 부분이 적어도 한번은 실행

1부터 100까지의 합을 구하여 출력 class DoWhile { public static void main(String[] args) { int cnt = 1, sum = 0; do { sum += cnt; cnt++; } while(cnt <= 100); System.out.println("1+2+3+...+100 : " + sum); }

class For { public static void main(String args[]) { int n; System.out.print("1에서 10까지의 정수 : " ); for(n=1; n < 11; n++) System.out.print(n + " " ); }

public static void main(String args[]) { class For { public static void main(String args[]) { System.out.print("1에서 10까지의 정수 : " ); for(int n=1; n < 11; n++) // for 문 내에서 변수를 선언하여 사용. // 변수 n은 main() 메소드를 유효범위로 가진다. System.out.print(n + " " ); }

class ForErr { public static void main(String args[]) { int n; // 변수 n 선언 System.out.print("1에서 10까지의 정수 : " ); for(int n=1; n < 11; n++) // for 문 내에서 n을 다시 선언. 에러발생 System.out.print(n + " " ); }

class DoubleC { public static void main(String args[]) { int a, b; for(a=1, b=10; a<b; a++, b--) { System.out.print("a = " + a); System.out.println(" b = " + b); }

class Forflag { public static void main(String args[]) { int i; boolean flag = false; i = 1; for( ; !flag; ) { System.out.println("i의 값은 " + i + "입니다. "); if(i == 10) flag = true; i++; } } }

분 기 문 프로그램을 작성 할 때 가장 많이 사용하는 제어문 좀 더 세밀하게 제어하기 위한 방법이 필요 선택문 반복문 break continue return

분기문 - break 문 [1/2] 블록 밖으로 제어를 옮기는 역할 break 문의 형태 레이블이 없는 경우 C/C++와 동일 int i = 1; while (true) { if (i == 3) break; System.out.println("This is a " + i + " iteration"); ++i; }

분기문 - break 문 [2/2] 레이블 break 문 goto 문 대용으로 사용 가능 사용형태 labelName : 반복문1 { 반복문2 { // . . . break; break labelName; }

Break에의해 for문 중단 class ForBreak { public static void main(String args[ ]) { for(int i=0;i=<100;i++) { if(i == 10) break; System.out.println(i + "자바의 세계로 오세요! " ); } System.out.println("Break에 의하여 for 문이 중단되었습니다."); }}

Break에의해 while문 중단 class WhileBreak { public static void main(String args[ ]) { int i = 0; while(i < 100) { if(i == 10) break; System.out.println(i + "자바의 세계로 오세요! " ); i++; } System.out.println("Break에 의하여 While 문이 중단되었습니다."); }}

내포된 반복문에서 break문이 사용되면 break문이 사용된 반복문만 벗어난다. class NestedForBreak { public static void main(String args[ ]) { int i, j; for(i=1 ; i<10 ; i++) { for(j=1 ; j<i ; j++) { if (j > 6) break; System.out.print(" * "); } System.out.println();

분기문 - continue 문 [1/3] 다음 반복이 시작되는 곳으로 제어를 옮기는 기능 continue 문의 형태 for 문 안에서 사용될 때 for (i=0; i<=5; ++i) { if (i % 2 == 0) continue; System.out.println("This is a " + i + " iteration"); }

반복문의 초기 위치로 이동 class Continue { public static void main(String[] args) { int sum = 0 ; for(int i = 0; i < 10; i++) { if(i % 2 == 0) continue; sum += i; System.out.print(i + "\t"); } System.out.println("Sum = " + sum);

분기문 - continue 문 [2/3] while 문 안에서 사용될 때 조건 검사 부분으로 이동 i = 0; if (i % 2) == 0) continue; System.out.println("This is a odd iteration - " + i); }

분기문 - continue 문 [3/3] 레이블 continue 문 레이블 break와 유사 labelName: 반복문1 { 반복문2 { // ... continue; continue labelName; }

지정된 레이블의 초기 위치로 이동 class Continue2 { public static void main(String[] args) { previous: // label 시작 for(int i = 0; i < 5; i++) { for(int j = 0; j < 5; j++) { if(j > i) { System.out.println(); continue previous; } System.out.print(i*j + "\t");

class ContinueTest { public static void main(String args[]) { for(int i=0; i<10; i++) { if (i%2 == 0) continue; System.out.println(i + " 자바의 세계로 오세요! " ); } } }

[예제 4.16- LabeledContinue.java] ___________________________________________ public class LabeledContinue { public static void main(String[] args) { int count = 0; outer: for (int i = 0; i < 10; i++) { inner: for (int j = 0; j < 10; j++) { if (j == 2) continue inner; if (j == 5) continue outer; ++count; } } System.out.println("count = " + count); } } __________________________________________________________________________________ 실행결과 : count = 40

분기문 - return 문 메소드의 실행을 종료하고 호출한 메소드에게 제어를 넘겨주는 문장 return 문의 형태 현재 메소드를 종료 return <식>; 현재 메소드를 종료하면서 식의 값을 호출했던 곳으로 반환 [예제 4.17] 테스트

Return문을 사용해 메소드의 결과 값을 출력 class Return { public static void main(String[] args) { int result; result = sum(10, 20); System.out.println("10 + 20 = " + result); } static int sum(int x, int y) { return (x + y);

class Return { public static void main(String args[]) { boolean t = true; System.out.println("알기 쉽게 해설한 자바!"); if(t) return; System.out.println("자바를 배워봅시다."); }

표준 입출력 [1/3] 시스템에서 지정한 표준 파일에 입출력하는 방법 표준 입출력 표준 입력 파일 : in 표준 출력 파일 : out 표준 에러 파일 : err 키보드 화면(screen) System 클래스의 정적 변수

표준 입출력 [2/3] 자바 언어의 기본 패키지인 java.io로부터 제공 표준 입력 메소드 : 표준 출력 메소드 : System.in.read() 키보드로부터 한 개의 문자를 읽어 그 문자의 코드 값을 정수형으로 복귀하는 기능 표준 출력 메소드 : System.out.print(), System.out.println() System.out.write()

표준 입출력 [3/3] 표준 입력에서 한 라인을 스트링 형태로 읽음 : 표준입력으로부터 한 라인을 읽어 스트링 형태로 복귀. import java.io.*; BufferedReader input = new BufferedReader( new InputStreamReader(System.in)); n = Integer.parseInt(input.readLine()); 표준입력으로부터 한 라인을 읽어 스트링 형태로 복귀. 스트링 형태를 정수 형태로 변환.

문자열 import java.io.*; public class StrTest { public static void main(String[] args) throws java.io.IOException { String str; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); str = br.readLine(); System.out.println("str = " + str); System.in.read(); } /* <실행결과> 자바  str=자바 */

문자열 import java.io.*; public class ReadLine{ public static void main(String args[]) throws java.io.IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.print("정수를 입력하고, Enter키를 치시오:"); int x = Integer.parseInt(in.readLine()); System.out.println("입력한 정수는" + x + "입니다."); System.in.read(); }

/* <해석> 3행 : throws java.io.IOException ⇒ 입출력 에러 처리 부분(예외처리) 5행 : 사용자의 입력 데이터를 저장하기 위한 임시메모리 버퍼를 준비하는 문장 6행 : System.out.println은 줄을 변경하지만 System.out.print는 줄을 변경하지 않는다. ⇒ System.out.print를 이용해서 화면에 출력되는 스트링은 입력되기 전에 버퍼(buffer) 에 일시적으로 저장된다. 7행 : 입력버퍼로부터 사용자가 입력한 데이터를 스트링으로 가져와 정수형으로 변환하여 변수 x 에 저장한다. <실행결과> 정수를 입력하고, Enter키를 치시오: 70  입력한 정수는 70입니다. */

성적 import java.io.*; public class Score1{ public static void main(String args[]) throws java.io.IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String hakbun; int kor, eng, mat, total; double average; System.out.print("학번을 입력하세요:"); hakbun = in.readLine(); System.out.print("국어점수를 입력하세요:"); kor = Integer.parseInt(in.readLine()); System.out.print("영어점수를 입력하세요:"); eng = Integer.parseInt(in.readLine()); System.out.print("수학점수를 입력하세요:"); mat = Integer.parseInt(in.readLine()); total = kor + eng + mat; average = (double)total/3; System.out.println("이 학생의 총점은 " + total); System.out.println("이 학생의 평균은 " + average); System.in.read(); } }

<실행결과> 학번을 입력하세요: 2001  국어점수를 입력하세요 : 80 영어점수를 입력하세요 : 90 수학점수를 입력하세요 : 70 이 학생의 총점은 240 이 학생의 평균은 80.0

name1=in.readLine(); //입력부 kor1=Integer.parseInt(in.readLine()); import java.io.*; public class Score2{ public static void main(String args[]) throws java.io.IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String name1, name2, name3; //변수선언부 int kor1, eng1, mat1, tot1; int kor2, eng2, mat2, tot2; int kor3, eng3, mat3, tot3; double avg1, avg2, avg3; double korAvg, engAvg, matAvg; name1=in.readLine(); //입력부 kor1=Integer.parseInt(in.readLine()); eng1=Integer.parseInt(in.readLine()); mat1=Integer.parseInt(in.readLine()); name2=in.readLine(); kor2=Integer.parseInt(in.readLine()); eng2=Integer.parseInt(in.readLine()); mat2=Integer.parseInt(in.readLine()); name3=in.readLine(); kor3=Integer.parseInt(in.readLine()); eng3=Integer.parseInt(in.readLine()); mat3=Integer.parseInt(in.readLine());

// 처리부 tot1=kor1+eng1+mat1; avg1=(double)tot1/3; tot2=kor2+eng2+mat2; avg2=(double)tot2/3; tot3=kor1+eng1+mat1; avg3=(double)tot3/3; // 출력부 System.out.println(name1+"\t"+kor1+"\t"+eng1+"\t"+mat1+"\t"+tot1+"\t"+avg1); System.out.println(name2+"\t"+kor2+"\t"+eng2+"\t"+mat2+"\t"+tot2+"\t"+avg2); System.out.println(name3+"\t"+kor3+"\t"+eng3+"\t"+mat3+"\t"+tot3+"\t"+avg3); } }

[GcdLcd.java] ___________________________________________________ import java.io.*; public class GcdLcd { static int gcdMethod(int x, int y) { while (x != y) if (x > y) x -= y; else y -=x; return x; } public static void main(String[] args) throws java.io.IOException { BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); int i, j; int gcd, lcd; System.out.print("Enter first number : "); i = Integer.parseInt(input.readLine()); System.out.print("Enter second number : "); j = Integer.parseInt(input.readLine()); gcd = gcdMethod(i, j); System.out.println("GCD of "+i+" and "+j+" = "+gcd); lcd = (i/gcd) * (j/gcd) * gcd; System.out.println("LCD of "+i+" and "+j+" = "+lcd); ___________________________________________________________________________________