공지사항

  • 깃허브랑 블로그의 운영 고민과 결론
즐거운 개발계발
무한한 계발
즐거운 개발계발

블로그 메뉴

  • 글쓰기
  • 관리자 페이지
  • 분류 전체보기 (26)
    • GitHub Project (0)
    • 소소한 공부 메모 (12)
    • 오픈 다이어리 (0)
    • WEB (3)
      • [자바 웹개발 워크북 - 프리렉 출판] (2)
      • 서블릿 & JSP (1)
    • Java (5)
    • DB (Oracle) (0)
    • Spring (0)
    • SQLD (1)
    • Front-End (1)
      • CSS (1)
    • Tools (3)
      • Git (1)
      • Visual Studio Code (1)
      • 파워포인트 (1)
    • CI_CD (0)
    • Coding Test (1)
      • Problem Solving (0)
      • Tips (1)
hELLO · Designed By 정상우.
즐거운 개발계발

무한한 계발

Java

If 문, If else , Switch 를 활용한 예제

2022. 8. 29. 19:06

국비 수업 4일차, 오늘은 if와 switch에 관하여 배웠다.  다른 이들에게도 도움이 되었으면 좋겠다.

 

1. 홀수, 짝수 판별 코드

public class IfElseTest 
{
	public static void main(String[] args)
	{
		int num =0;
		
		if(num%2 == 1) { //나머지를 분석하여 홀수 짝수를 분석한다.
			System.out.println(num+"은 홀수!");
		}
		else //조건문이 false일 떄 실행하는 문장
		{
			System.out.println(num+"은 짝수!");
		}
		System.out.println("프로그램 종료!");
	}	
}

If문 소괄호안에 True 값이 올 떄, 중괄호 내용이 실행이 된다.

else 구문은 If 문 소괄호의 판별식이 false가 될 떄, 실행이 되는 내용이다. 

 

실행결과

실행결과

 


2. 위의 코드를 변형하여, 이번에는 키보드에서 입력을 받아 짝수 홀수를 판별하는 프로그램을 아래와 같이 작성하였다.

public static void main(String[] args) {
/////////////////////////////////////////////////////
		
		//변수를 선언하면 지역변수 local variable
		int num;
		Scanner sc = new Scanner(System.in); //생성자를 호출한다. heap 영역에 있다. 
		// 자바는 메모리 주소 접근을 안한다. 메모리 컨트롤은 JVM이 해준다.
		System.out.print("숫자입력 : ");
		num = sc.nextInt();
		
		if(num%2==0)	System.out.println("짝수");
		else 			System.out.println("홀수");
		
		System.out.println("프로그램 종료");
		sc.close();
	}

실행결과

 


유저와 컴퓨터의 가위 바위 보 승부

- 유저측은 키보드로 숫자 입력을 받고, 컴퓨터측은 랜덤함수로 숫자를 할당받아 서로 비교하여, if else 구문을 통해 가위바위보 판정을 출력해주는 게임

	public static void main(String[] args) {
/////////////////////////////////////////////////////

		//유저와 컴퓨터간의 가위 바위 보 게임
		//가위:0 , 바위:1, 보:2

		int user;
		Scanner sc = new Scanner(System.in);
		System.out.println("가위:0, 바위:1, 보:2");
		System.out.print("유저의 선택 : ");
		user = sc.nextInt();

		int com = (int)(Math.random()*3); //0.0 ~ 1.0 의 범위에 3을 곱해주어 0.0~2.9999가 되었다.
		System.out.println("컴퓨터의 선택 " + com+" "); 
		
		if(user==com) {
			System.out.println("서로비겼습니다."); //user와 com의 값이 대등할 때 비긴다.
		}
		else if( // 유저가 이기는 상황 세가지를 논리식으로 판별하였다.
				(user==0 && com==2) || // 유저:가위, 컴퓨터: 보
				(user==1 && com==0) || // 유저:바위, 컴퓨터: 가위
				(user==2 && com==1)   )// 유저: 보 , 컴퓨터: 바위
				System.out.println("당신이 이겼습니다.");
		
		else System.out.println("당신이 졌습니다."); // 승리와 무승부를 제외한 상황, 패배를 의미

	}

실행결과


4. 스위치문

 - 스위치문 소괄호에 들어갈 식으로, 정수형, char형, String형은 가능하지만, 실수형은 불가능하다.

		int sw =0;
		switch(sw) {
		case 0:
			System.out.println("off");
			break;
			
		case 1:
			System.out.println("on");
			break;
		}
		
		char day = '월'; 
		switch(day) 
		{
		case '월': System.out.println(day);
		case '화':	
		case '수':	
		case '목':	
		case '금':	
		case '토':	
		default:
		}
	
		String season = "봄"; 
		switch(season) 
		{
		case "봄": System.out.println(season);
		case "여름":
		case "가을":
		case "겨울":
		}

//		double rate = 1.5; 
//		switch(rate) 
//		{
//		case 1.5:
//		case 2.5:
//		case 3.5;
//		case 4.5;
//		} 실수형은 불가능하다.
	}

}


5. 스위치문02

- 

90점 이상 A,

80점 이상 B,

70점 이상 C를 출력하는 코드이다. 스위치문 내부에 어떻게 num을 가공했는지 눈여겨보자. 이를 통해서 1의자리 숫자를 버리고 각 Case에 해당하는 값을 만들었다.

		int num =95;
		System.out.println(num);
	
		switch(num/10*10) {
		case 100:
		case 90: 
			System.out.println("A"); 
			break;
		case 80:
			System.out.println("B");
			break;
		case 70:
			System.out.println("C");
			break;
		case 60:
			System.out.println("D");
			break;
		
		default:
			System.out.println("F");
		//If로 구현한 것 보다 스위치가 더 성능이 좋다. 계산을 한번만 하고 case를 바로 찾아가면 되기 때문이다.
		// 가독성도 스위치가 조금 더 낫기도 하다. 중첩 If else는 괄호가 너무 많이 사용되어 헷갈린다.
		
		}
	}
}

실행결과

 

 

'Java' 카테고리의 다른 글

jdbc가 뭐지?  (0) 2022.09.25
2차원 배열 예제  (0) 2022.08.29
배열, for 문 예제  (0) 2022.08.29
자바 환경설정  (0) 2022.08.29
    'Java' 카테고리의 다른 글
    • jdbc가 뭐지?
    • 2차원 배열 예제
    • 배열, for 문 예제
    • 자바 환경설정
    즐거운 개발계발
    즐거운 개발계발
    웹개발을 공부하며 기록을 남기기 위한 블로그 입니다. 댓글로 서로 소통하며 같이 공부해요 깃허브: https://github.com/klssh3126

    티스토리툴바