728x90
반응형

시간이 조금 남는 관계로 조건문 하나 더 추가합니다.

 

보너스로 일단 이게 있어야 더 재밌는거를 할꺼기 떄문에! 

 

숫자를 무작위로 만들어 봅시다. 이런거로 막 업다운 게임, 로또 같은걸 해 볼 수 있겠지요? ㅎㅎ

 

이건 그냥 일단 숙지하고 쓰세요. 다음에 시간 나면 각 Class하나하나 기능들을 나열해 볼까 싶어서요 

 

난수 발생 방법

import java.util.Random;  <-- 필요

 

Random rand = new Random(); // Random의 형태를 가진 객체 rand 생성

int n = rand.nextInt(5);  // rand를 통하여 난수 발생. nextInt(숫자); -> 0부터 숫자보다 작은값 무작위 생성

 

숫자 직접 입력받기

import java.util.Scanner; <-- 필요

 

Scanner sc = new Scanner(System.in); // Scanner의 형태를 가진 객체 sc 생성

int n = sc.nextInt(); // nextInt()는 숫자를 입력받겠다는 겁니다. 콘솔창에 직접 숫자를 입력시키시면 됩니당 ^^

 

line_characters_in_love-1 

 

 

자 이번에는 if문에서 추가로 비교하는 방법들을 나열해 볼게요.

일단은 비교 방법들!

 

> : 크다

< : 작다

>= : 크거나 같다

<= : 작거나 같다

== : 같다

! : 반대 true -> false / false -> true

 

그리고 AND, OR 조건

&& : 그리고 

|| : 또는

 

국어 하실 줄 아시면 알꺼라 믿고 디테일 하게 하지는 않아요

 

1. 문자 비교 : 'a' == 'b'  이런식이지요. 혹여나 > 이런기호 써도 된다는점. 아스키코드로 계산해서. 합니다. ㅋㅋㅋ

2. 숫자형 비교 : 그냥 우리가 하는거 그대로 3 > 4, 6==7 ...

3. 문자열 비교 : 이게 키 포인트. 실수 엄청 많이 하는데요. 얘는 일치여부를 == 하면 안되요!!!  "Singo".equals("Singgo") 이렇게 써야되요!!

 

Tip. 혹시 문자열 비교 할 경우 앞에 ""안에는 반드시 값이 존재하는게 들어가야 한다. null 이 들어가면 Error 발생

 

line_characters_in_love-17 

 

서론이 길었네요 이제야 본론에 들어갑니다!!!

 

Switch ~ Case 문!!!!! 얘는 그냥 같은지만 비교하는 if라고 생각하면 이해하기 쉬어요.

머 Switch ~ Case가 더 빠르다고는 하는데,,, 요새는 하드웨어가 잘나와서.. 잘 모르겠으면 if문 쓰세용 ㅎㅎ

 

일단 형태부터 볼까요?

 

1.

switch(x) {

case 비교값 :  break;

case 비교값 :  break;

}

 

2.

switch(x) {

case 비교값 :  break;

case 비교값 :  break;

default : break;

}

 

크게 두 가지네요. 

 

대충 센스가 좀 있으신 분들은 느낌이 오셨을꺼에요 deault 얜 멀까? 

if ~ else if ~ else 에서 맨 마지막 아무것도 아니라면 !!! 이거랑 동일 한거에요  ^^ 

 

샘플소스

public class Exam {

public static void main(String[] args) throws Exception {

char c = 'W';

switch (c) {

case 'W': System.out.println("앞"); break; // 변수명 c의 값이 W면 앞 출력

case 'A': System.out.println("좌"); break; // 변수명 c의 값이 A면 좌 출력

case 'S': System.out.println("뒤"); break; // 변수명 c의 값이 S면 뒤 출력

case 'D': System.out.println("우"); break; // 변수명 c의 값이 D면 우 출력

}

}

}


public class Exam {

public static void main(String[] args) throws Exception {

char c = 'W';

switch (c) {

case 'W': System.out.println("앞"); break; // 변수명 c의 값이 W면 앞 출력

case 'A': System.out.println("좌"); break; // 변수명 c의 값이 A면 좌 출력

case 'S': System.out.println("뒤"); break; // 변수명 c의 값이 S면 뒤 출력

case 'D': System.out.println("우"); break; // 변수명 c의 값이 D면 우 출력

   default : System.out.println("잘못누르셨습니다."); break; // 아무것도 아니라면 출력

}

}

}

 

샘플 소스 보시면 감이 오시려나요??

 

얘는 일단 무조건 같은지만 확인이 가능하다는 점 꼭 !!!!!!!!!!!!!!!!!!!! 기억해주세요

 

그다음 문제가 하나 더 있지요? break; 얘는 멀까? 

if문에서는 if 조건을 하나 실행하고 나면 그 다음꺼는 확인하지 않았지요?

하지만 swtich ~ case 는 다릅니다. break가 없다면 확인은 하지 않지만 끝까지 다음 실행들을 해버려요.

 

public class Exam {

public static void main(String[] args) throws Exception {

char c = 'w';

switch (c) {

case 'w': System.out.println("앞"); 

case 'W': System.out.println("앞"); break;

case 'a': System.out.println("좌"); 

case 'A': System.out.println("좌"); break;

case 's': System.out.println("뒤"); 

case 'S': System.out.println("뒤"); break;

case 'd': System.out.println("우");

case 'D': System.out.println("우"); break;

}

}

}


이렇게 되면 w는 break 가 없으니 계속 내려가 'w', 'W' 두개를 실행하게 되어 앞이 두번 출력됩니당^^

이해는 이제부터 하는거에요!!

과제가 있습니다.

1. 성적이 A 면 참 잘했어요, B 면 잘했어요, C 면 분발하세요, F면 공부좀 해라! 를 출력하세요

2. 숫자를 입력받아요. 12, 1, 2를 입력 받으면 겨울입니다. 3, 4, 5를 입력받으면 봄입니다. 6, 7, 8을 입력 받으면 여름입니다. 9, 10, 11을 입력받으면 가을입니다. 를 출력하세요 ^^ 

3. 난수를 0~6까지 만들어요. 그리고 3이면 출력을 해주세요.

과제는 여기까지입니다.

시간 나시는 분들은 if문으로도 해보시길 추천합니다.

조건문과 반복문은 잘해야되요!

모든건 조건문, 반복문으로 되어 있다해도 과언이 아닙니다!!!!!!!!!!

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,