시간이 조금 남는 관계로 조건문 하나 더 추가합니다.
보너스로 일단 이게 있어야 더 재밌는거를 할꺼기 떄문에!
숫자를 무작위로 만들어 봅시다. 이런거로 막 업다운 게임, 로또 같은걸 해 볼 수 있겠지요? ㅎㅎ
이건 그냥 일단 숙지하고 쓰세요. 다음에 시간 나면 각 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()는 숫자를 입력받겠다는 겁니다. 콘솔창에 직접 숫자를 입력시키시면 됩니당 ^^
자 이번에는 if문에서 추가로 비교하는 방법들을 나열해 볼게요.
일단은 비교 방법들!
> : 크다
< : 작다
>= : 크거나 같다
<= : 작거나 같다
== : 같다
! : 반대 true -> false / false -> true
그리고 AND, OR 조건
&& : 그리고
|| : 또는
국어 하실 줄 아시면 알꺼라 믿고 디테일 하게 하지는 않아요
1. 문자 비교 : 'a' == 'b' 이런식이지요. 혹여나 > 이런기호 써도 된다는점. 아스키코드로 계산해서. 합니다. ㅋㅋㅋ
2. 숫자형 비교 : 그냥 우리가 하는거 그대로 3 > 4, 6==7 ...
3. 문자열 비교 : 이게 키 포인트. 실수 엄청 많이 하는데요. 얘는 일치여부를 == 하면 안되요!!! "Singo".equals("Singgo") 이렇게 써야되요!!
Tip. 혹시 문자열 비교 할 경우 앞에 ""안에는 반드시 값이 존재하는게 들어가야 한다. null 이 들어가면 Error 발생
서론이 길었네요 이제야 본론에 들어갑니다!!!
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;
}
}
}
[출처] [JAVA] 8. 조건문 Switch ~ Case |작성자 금듀
'JAVA > 소스코드' 카테고리의 다른 글
Java try ~ catch ~ finally 추가 ( multi catch ) (0) | 2017.10.26 |
---|---|
[JAVA] URLConnection 사용해서 POST 방식으로 전송하기/StringBuilder/BufferedWriter/InputStream/BufferedReader/InputStreamReader 사용 (0) | 2015.12.02 |
java - 날짜, 전화번호 format 변경하기 (0) | 2015.11.18 |
[Java] 암호화를 위한 MessageDigest 클래스, Java로 MD5, SHA-256 암호화 (1) | 2015.11.18 |
double 형 소수점 2쩨 자리까지만 자르는법 질문합니다.(java.jsp) (0) | 2015.10.22 |
[Java] DecimalFormat, NumberFormat 숫자 포맷 (0) | 2015.10.22 |
[Java] 숫자 금액표시(세자리 콤마) 및 소수점 포맷 (0) | 2015.10.22 |
Java 실수형 데이터 소수점 자르기(DecimalFormat) (0) | 2015.10.22 |