일단 해보는 코딩/Java

[Java] Switch ~ case 문, For문

eun_zoey2 2022. 7. 21. 14:26
728x90

 

Switch ~ case 문

 

if 문과 비슷하지만 if 문은 괄호 안에 인자 값이 True/False 로 결정되는 조건식이 들어가야 하고,

Switch 문은 인자 값으로 조건이 아닌 비교할 값이 들어가야 한다. case로 여러 특정 조건을 나열한다.

특정 조건을 만족하면 바로 실행되어 case 문을 벗어나야 하기 때문에 각 case 문 끝에는 break; 를 기술한다.

 

package Java04;

import java.util.Scanner;

public class Test04 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		System.out.print("하고싶은 것을 선택하세요 => 1: 게임하기, 2: 게임소개, 3: 게임종료 ");
		int n = scan.nextInt();
		switch (n) {	//인자로 비교할 대상이 들어가야한다.
		case 1:			// 인자와 비교할 첫 번째 값이 들어간다.
			System.out.println("1: 게임하기");
			break;
		case 2:			// 인자와 비교할 두 번째 값이 들어간다.
			System.out.println("2: 게임소개");
			break;
		case 3:			// 인자와 비교할 세 번째 값이 들어간다.
			System.out.println("3: 게임종료");
			break;
		default:
			System.out.println("메뉴 선택이 올바르지 않아요");
			break;
		}
		/*   if 문장으로 바꿔보기
      	 	 if (n==1) {
			System.out.println("1 : 게임하기");
		} else if (n==2) {
			System.out.println("2 : 게임소개");
		} else if (n==3) {
			System.out.println("3 : 게임종료");
		} else {
			System.out.println(" 메뉴선택이 올바르지 않아요.");
		}
       		 */
		scan.close();
	}
}
더보기

Q1. 키보드에서 두 개의 숫자를 입력받고, 이어서 연산자를 입력받은 뒤 연산자를 case "+" : 식으로 각각 분할해서 계산하기.

package Java05;

import java.util.Scanner;

public class Q1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		System.out.print("Enter first num1 :  ");
		double num1 = scan.nextDouble();
		System.out.print("Enter first num2 :  ");
		double num2 = scan.nextDouble();
		System.out.print("Enter Operator'(+,-,*,/,%)' : ");
		String sign = scan.next();
		scan.close();
		//System.out.println(num1 + sign + num2);
		
		switch (sign) {
		case "+":
			System.out.println(num1 + num2);
		break;
		case "-":
			System.out.println(num1 - num2);
			break;
		case "*":
			System.out.println(num1 * num2);
			break;
		case "/":
			System.out.println(num1 / num2);
			break;
		case "%":
			System.out.println(num1 % num2);
			break;
		default :
			System.out.println("잘못된 연산자 입니다.");
		}
	}
}

 

For문  
for (i=시작; i <= 끝; i++;/i--)

 

package Java04;

import java.util.Scanner;

public class Test05 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i;
		for (i=0; i<10; i++) {
			System.out.println("hello, it's me" + i);
		}
		System.out.println("oh Yeah!!!!!!!");
		
	}
}
더보기

Q2-1. 100~1 까지 감소해서 보이는 for 문

뒷 부분은 생략
package Java05;

public class Q2_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for (int i=100; i>=1; i--) {
			System.out.print(i + ", ");
			for (int j=1; j>=100; i++) {
			}
		}
	}
}

Q2-2. 1~50까지에서 3의 배수만 출력하는 for문

하단 생략
package Java05;

public class Q2_2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			for (int j=1; j<=50; j++) {
				if(j%3 == 0) 	//3의 배수
					System.out.print(j + "는(은) 3의 배수입니다.\n");
			}
		}
	}

Q3. 2~9사이의 숫자를 입력하고 입력받은 숫자의 구구단을 계산하시오 .

package Java05;

import java.util.Scanner;

public class Q3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		System.out.print("숫자를 입력해보세용 ^^ : ");
		int dan = scan.nextInt();
		if (dan <= 1 || dan >=10) {
			System.out.println("2~9 사이의 숫자를 넣으세용 ^^");
		} else {
			for(int i=1; i<=9; i++) {
				System.out.println(dan + "*" + i + "=" + (dan*i));
			}
			scan.close();
		}
	}
}

Q4-1. 아래의 형태로 출력하기.

package Java05;

public class Q4 {
// 01 02 03 04
// 05 06 07 08
// 09 10 11 12 출력하기.
	public static void main(String[] args) {
		int count = 0;
		for (int i=1; i<=3; i++) {	//3행 
			for (int j=1; j<=4; j++) { //4열
				System.out.printf("%02d " , ++count); 
				//2자리 십진수 포맷, ++count로 인해서 숫자 늘어남. 
				//c의 printf() 사용해서 문자/숫자 등의 포맷을 맞춤
			}
		System.out.println(); //줄바꿈
		}
	}
}

package Java05;

public class Q5 {
	// A B C D
	// E F G H 
	// I J K L
	public static void main(String[] args) {
		int ch = 'A';
		for (int i=1; i<=3; i++) {	//3행 
			for (int j=1; j<=4; j++) { //4열
				System.out.printf("%c " , ch++); 
			}
		System.out.println(); //줄바꿈
		}
	}
}
package Java05;

public class Q6 {
	// *
	// * *
	// * * *
	// * * * *
	// * * * * *
	public static void main(String[] args) {
		for (int i=0; i<=5; i++) {	
			for (int j=0; j<=i; j++) {
				System.out.print("* ");
			}
		System.out.println(); //줄바꿈
		}
	}
}
package Java06;

public class Q1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/* 방법1. 
        	for (int i=1; i<=10; i++) {	
			for (int j=0; j<10; j++) {
				int num = i+j;
				if(num >10) 
					num -=10;
					System.out.print(num + " ");
			}
				System.out.println();
			}*/
		/* 방법 2.
        	for (int i=0; i<10; i++) {
			for (int j=i; j<10+i; j++)
				System.out.print(j%10+1 + " ");
			System.out.println();
			} */
            	/* 방법 3 .
                int arr[] = {1,2,3,4,5,6,7,8,9,10};
		int num;
		for (int i=0; i<=10; i++) {
			for (int k=0; k<10; k++){
				System.out.print(arr[k]);
				System.out.print(" ");
			}
			System.out.println();
			num = arr[0];
			for(int j=0; j<9; j++) {
				arr[j] = arr[j+1];
			}
			arr[9] = num; */
            int count =0;
		for (int i=0; i<10; i++) {
			count +=i;
			for (int j=0; j<10; j++) {
				if(count == 10)
					count = 0;
				++count;
				System.out.print(count + " ");
			}
			count=0;
			System.out.println();
		}
	}
}

 

Nested if/for -
하나의 if-문, for-문 안에 if-문, for-문이 들어있는 경우이다.

뒷부분 생략...

package Java04;


public class Test05 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i,j;
		for (j=2; j<10; j++) {
			for(i=1; i<=9; i++) {
				System.out.println(j + "x" + i +"=" + j*i);
			}
		}	
	}

 

 

확장 For 문
for의 ( ) 안에서 반복 범위를 지정하지 않고 배열이나, 셀렉션 클래스에서 요소의 개수에 맞춰서 반복시키는 경우를 말한다.

 

ex) int [ ] a = {1, 2, 3, 4} => for (int b : a) ; 식으로 표현하는데 (Python의 slicing)이 구문에서 b는 요소를 대입하기 위한 변수로써 요소의 개수를 미리 지정하지 않아도 된다. a에는 배열이나 컬렉션 클래스로 지정한다.  b에 a요소를 처음부터 차레대로 대입하는데 몇 개의 요소인지는 몰라도 요소가 있는 한 처리를 계속하게 된다.

package Java04;

public class Test07 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String[] season = {"Spring","Summer","Autumn","Winter"};
		for (String s : season) { // 바로 변수선언
		System.out.println(s);
		}
	}
}

'일단 해보는 코딩 > Java' 카테고리의 다른 글

[Java] 자바 난수(random) 함수 및 seed 설명  (0) 2022.07.22
[Java] 배열(Array)  (0) 2022.07.21
[Java] If문, else if~,  (0) 2022.07.21
[Java] 스캐너(Scanner) 예제모음  (0) 2022.07.20
[Java] 연산자 종류  (0) 2022.07.20