ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • java :: 다중 if 문, switch문, for문 각종 예제 프로그램
    IT/Java & JSP & FW 2011. 12. 9. 10:30
    제어문
    조건제어문, 반복제어문

    다중 if 문 특징 (기억)
    1.순차조건문
    2.트리형구조
    3.if else 의 원형을 그대로 따라간다.

    다중 if 문 사용_음식주문 프로그램
    import java.io.*;
    public class day05_01 {
    	public static void main(String[] args) 
    	throws IOException{
    		System.out.println("먹고싶은메뉴를 고르세요");
    		System.out.println("1.짜장, 2.짬뽕, 3.탕수육, 4.팔보채");
    		System.out.print("메뉴>");
    		
    		int menu=System.in.read()-48;
    		
    		if(menu==1){
    			System.out.println("짜장면을 주문하셨습니다.");
    		}else if(menu==2){
    			System.out.println("짬뽐을 주문하셨습니다.");
    		}else if(menu==3){
    			System.out.println("탕수육을 주문하셨습니다.");
    		}else if(menu==4){
    			System.out.println("팔보채를 주문하셨습니다.");
    		}else{
    			System.out.println("잘못주문시켰습니다");
    		}
    	}
    }
    

    다중 if 문 사용_하나의 문자 확인
    import java.io.*;
    public class day05_iftest {
    	public static void main(String[] args) 
    	throws IOException{
    		
    		System.out.println("하나의 문자 입력");
    		int ch = System.in.read();  //아스키코드 값으로 들어온다. *주의 할 것
    		System.out.println(ch);  //입력값 확인 아스키코드 값이 들어온 것을 확인 할 수 있다.
    		
    		if(ch>=48 && ch<=58){  //"&& 뜻 and" 연산자 주의 
    			System.out.println("숫자입니다.");
    		}else if((ch>=65 && ch<=90)||(ch>=97 && ch<=122)){  //조건식 구성 확인 "|| 뜻  or"
    			System.out.println("영문자입니다.");
    		}else{
    			System.out.println("기타문자입니다.");
    		}
    	}
    }
    

    다중 if 문 사용 점수 합산 프로그램
    import java.io.*;  //입력을 받을 수 있는 환경 구축 무조건  써야 함
    public class day05_iftest2 {
    	public static void main(String[] args) 
    	throws IOException{  //예외 상황을 처리하기 위해 throws IOException 씀
    		BufferedReader in=
    		new BufferedReader(new InputStreamReader(System.in));
    		//점수는 1바이트 체계를 넘어가기 때문에 2바이트 이상의 체계로 하기 위해 입력구문 작성
    		System.out.println("등급확인프로그램");
    		
    		System.out.print("국어점수");
    		String str=in.readLine();  //실제로  값을 입력받기 위해 적은 구문
    		int kor = Integer.parseInt(str);  //문자형을 정수형으로 바꾸기 위해 적음
    		
    		System.out.print("영어점수");
    		int eng = Integer.parseInt(in.readLine());  //위의 두줄을 같은 의미로 한 줄로 줄여 쓸 수 있음
    		
    		System.out.print("수학점수");
    		int math = Integer.parseInt(in.readLine());
    		
    		int sum=kor+eng+math;  //합산
    		int avg=sum/3;  //통계
    		char hak;
    		
    		if (avg>=90){
    			hak = 'A';
    		}else if(avg>=80){
    			hak = 'B';
    		}else if(avg>=70){
    			hak = 'C';
    		}else if(avg>=60){
    			hak = 'D';
    		}else{
    			hak = 'F';
    		}
    		
    		System.out.println("총점:"+sum+"/평균"+avg+"/학점:"+hak);
    	}
    }
    

    Switch~case 문 특징
    1. 순차 이동이 아닌 단순 이동
    2. 값은 정수만 들어감 (* byte, short, char, int, 만 사용가능함 v.7 부터는 string 가능함)
    3. break; 랑 같이 쓰임 
    4. if ~ else 문 보다 빠름 

    Switch~case 문 사용_메뉴 주문시키기
    import java.io.*;
    public class Switch_test {
    	public static void main(String[] args) 
    	throws IOException{
    		
    		System.out.println("1.짜장 2.짬뽕 3.탕수육 4.팔보채");
    		System.out.print("메뉴>");
    		int menu = System.in.read()-48;  //아스키코드 값에서 48을 빼면 입력값 숫자가 됨.
    
    		switch(menu){
    		case 1:System.out.println("짜장시켰음");break;  //break; 를 걸어 switch 문을 종료시킴
    		case 2:System.out.println("짬뽕시켰음");break;
    		case 3:System.out.println("탕수육시켰음");break;
    		case 4:System.out.println("팔보채시켰음");break;
    		default :System.out.println("다시주문하십시오");  //마지막은 break; 쓸 필요 없다
    		}
    	}
    
    }
    

    Switch~case 문 사용_등급확인 프로그램
    import java.io.*;  //입력을 받을 수 있는 환경 구축 무조건  써야 함
    public class day05_iftest2 {
    	public static void main(String[] args) 
    	throws IOException{  //예외 상황을 처리하기 위해 throws IOException 씀
    		BufferedReader in=
    		new BufferedReader(new InputStreamReader(System.in));
    		//점수는 1바이트 체계를 넘어가기 때문에 2바이트 이상의 체계로 하기 위해 입력구문 작성
    		System.out.println("등급확인프로그램");
    		
    		System.out.print("국어점수");
    		String str=in.readLine();  //실제로  값을 입력받기 위해 적은 구문
    		int kor = Integer.parseInt(str);  //문자형을 정수형으로 바꾸기 위해 적음
    		
    		System.out.print("영어점수");
    		int eng = Integer.parseInt(in.readLine());  //위의 두줄을 같은 의미로 한 줄로 줄여 쓸 수 있음
    		
    		System.out.print("수학점수");
    		int math = Integer.parseInt(in.readLine());
    		
    		int sum=kor+eng+math;  //합산
    		int avg=sum/3;  //통계
    		char hak;
    		int ck=avg/10;  //평균을 10으로 나눠서 switch 문에서 찻기 쉽게 한다.
    		
    		switch(ck){  // 값의 규칙성을 찻는 것이 중요하다.
    		case 10: 
    		case 9:hak='A';break;
    		case 8:hak='B';break;
    		case 7:hak='C';break;
    		case 6:hak='D';break;
    		default :hak='F';
    		}
    		
    		System.out.println("총점:"+sum+"/평균"+avg+"/학점:"+hak);
    	}
    }
    
    위의 if ~ else 문과 무엇이 차이점이 있는지 확인해 보자.

    for 문 기초 구문
    import java.io.*;
    public class fortest {
    	public static void main(String[] args) 
    	throws IOException{
    		
    		int sum=0;
    		
    		for(int i=1;i<=5;i++){  //가운데 조건 값은 거의 "<="를 사용한다.
    			System.out.println(i+"번째 이름");
    			//sum=sum+i;
    			sum+=i;  //위의 식을 이와 같이 쓸 수 있다
    		}
    		System.out.println("1-5까지의 합 : "+sum);
    	}
    }
    

    for 문 5의 배수의 합 프로그램
    public class fortest {
    	public static void main(String[] args) {
    		
    		int sum=0;
    		
    		for(int i=1;i<=50;i++){  //가운데 조건 값은 거의 "<="를 사용한다.
    			if(i%5==0){
    				System.out.print(i+" ");
    				sum+=i;
    			}
    		}
    		
    		System.out.println();
    		System.out.println("1-50까지 5 배수의합 : "+sum);
    	}
    }
    

    for 문 사용_소수 구하는 프로그램
    import java.io.*;
    public class day04_00 {
    
    	public static void main(String[] args)
    	throws IOException{
    		BufferedReader in=
    			new BufferedReader(new InputStreamReader(System.in));
    		
    		System.out.println("소수인지 아닌지 판단하는 프로그램");
    		System.out.print("값입력>");
    		String str=in.readLine();
    		int num=Integer.parseInt(str);
    		//int num=Integer.parseInt(in.readLine());   <-위의 두 줄을 이렇게 쓸 수 있다.
    
    		for(int i=2;i<num;i++){  //소수의 정의를 잘 생각해서 조건문 작성
    			if(num%i==0){  //자신의 수와 카운터를 나누어 0이 있는지 확인
    				System.out.println("소수가 아닙니다.");
    				System.exit(0);  //소수가 아니므로 프로그램 종료 구문
    			}
    		}
    		System.out.println("소수입니다.");
    	}
    }
    
Designed by Tistory.