<오늘의 꿀팁>
* 단축키
ctrl 방향키 : 하나하나 스페이스 눌러서 이동하지 않아도 됨.
shift 방향키 : 원하는 방향으로 드래그
ctrl d : 라인이 삭제됨.
제어문자(역슬래시문자로 원화 위에있는거 쉬프트없이 특별한 기능을 가진 문자임) :
\n 행을 바꿔줘
\t 칸을 띄워줘
--------------------------------------------------------------
System.out.println("오늘은 3일차 입니다~~");
System.out.println("내일부터 3일 연휴 입니다.");
// 오늘은 3일차 입니다~~
내일부터 3일 연휴 입니다.
System.out.print("오늘은 3일차 입니다~~");
System.out.print("내일부터 3일 연휴 입니다.");
// 오늘은 3일차 입니다~~내일부터 3일 연휴 입니다.
차이점 : ln이 붙은건 라인을 바꿔준다는 말.
--------------------------------------------------------------
char ch = 0x3092; //char도 정수형이므로 정수데이터 가능 (16진수값)
System.out.println(ch); //답 : 히라가나가 나옴
--------------------------------------------------------------
<조건문 if, else if, else>
if (조건1) {
명령1;
명령2;
...
} else if (조건2) {
명령1;
명령2;
...
} else if (조건3) {
명령1;
명령2;
...
} else {
명령1;
명령2;
...
}
--------------------------------------------------------------
<조건문 switch-case 명령>
(1) switch-case명령문과 if문하고 차이는 case값1의 조건을 만족하면 끝나는 if와 달리 switch-case는 조건을 만족해도 case값2의 명령을 또 수행한다. 그렇기 때문에 break; 를 선언해서 불필요한 흐름을 탈출해야 함.
(2) 스위치에 오는 (값)은 말 그대로 값이라서 정수형데이터랑 String 데이터만 올 수 있다.
(3) 처리할 수 있는 범위 : switch case < if
switch(값) {
case 값1 :
명령1;
break;
case 값2 :
명령2;
break;
}
--------------------------------------------------------------
<break; 와 continue;>
break; 와는 다르게 반복문을 계속 진행하는 것도 있음.
바로 continue;
반복문을 진행하다가 continue가 있을 경우,
다시 반복문 코드 블럭의 처음 부분으로 돌아가서 진행.
// 예시 :
for (int i=0; i<10; i++) {
if (i==5){
continue;
}
System.out.println(i);
}
// 답 :
0
1
2
3
4
6
7
8
9
(숫자 5만 빼고 0부터 9까지 출력이 됨.)
즉, continue가 있을 경우 아래의 코드를
실행하지 않고 다시 반복문의 시작 부분으로 돌아가는 것
i가 5가 되면 continue문이 실행되어 다음 반복으로 넘어가기 때문에 5는 출력되지 않음.
--------------------------------------------------------------
<연습문제>
// 문제 :
int a = 3;
if (a > 3 && ++a > 3) {
System.out.println("조건만족");
}
System.out.println(a);
// 답 : 거짓(조건만족 안뜸), 3 (왜냐면 &&는 모든게 참이여야 하는데 앞부터 이미 거짓이므로
//뒤에가 참이더라도 아예 비교를 하지않음.
//연산이 아예 안이루어지기 때문에 전위연산자가 반영이 되지 않은 것.
// 문제 :
int a = 3;
if (a > 1 || ++a > 3) {
System.out.println("조건만족");
}
System.out.println(a);
// 답 : 참(조건만족 뜸), 3
or는 어차피 앞부터 참이기 때문에 하나만 만족시키면 되서 앞이 참이면 뒤에 계산을 안함.
// 문제 :
int i = 30;
int j = 40;
int max = i > j ? i : j;
// max 변수에 i와 j 중에서 큰 값을 저장
// i가 j보다 크면 max에 i를 저장
// i가 j보다 작거나 같으면 max에 j를 저장
// 따라서, max 변수에 40을 저장
int min = i < j ? i : j;
// min 변수에 i와 j 중에서 작은 값을 저장
// i가 j보다 작으면 min에 i를 저장
// i가 j보다 크거나 같으면 min에 j를 저장
// 따라서, min 변수에 30을 저장
System.out.println("큰값 ->"+max);
System.out.println("작은값->"+min);
//답 :
//큰값 ->40
//작은값->30
// 문제 : 주민번호 값으로 성별을 추출 하시오.
String id = "990401-1234567"; //8번째자리 값을 추출해야 성별을 알 수 있다.
// 풀이 :
//추출하고 싶은 값을 변수에 담는 습관이 중요하다.
char sung = id.charAt(7); // id라는 문자열에서 7번째 문자를 char변수 sung에 저장.
if (sung == '1' || sung == '3' ) {
System.out.println("남자");
} else {
System.out.println("여자");
}
//답 : 남자
// 문제 : 주민번호 값으로 출생지역을 추출하시오.
// 0서울 1인천경기 2강원도 5전라도 7,8경상도 9제주도
String id = "041201-3182555";
// 풀이 :
char region = id.charAt(8);
if (region == '0') {
System.out.println("서울");
} else if (region == '1') {
System.out.println("인천경기");
} else if (region == '2') {
System.out.println("강원도");
} else if (region == '5') {
System.out.println("전라도");
} else if (region == '7' || region =='8') {
System.out.println("경상도");
} else if (region == '9') {
System.out.println("제주도");
}
//답 : 인천경기
// 문제 : 콘솔창에 주민번호를 입력하여 성별을 파악해라.
// 풀이 :
import java.util.Scanner; //Scanner가 없을 경우 import를 해서 맨 위 상단에 넣어주어야 함.
Scanner sc = new Scanner(System.in); // 키보드 객체 생성 (메모리 할당을 받았단 얘기)
System.out.print ("주민번호 입력->" );
String id = sc.nextLine(); // Scanner 클래스의 nextLine() 메서드를 사용하여 입력받은 문자열을 String변수 id에 저장
char sung = id.charAt(7);
if (sung == '1' || sung == '3' ) {
System.out.println("남자");
} else {
System.out.println("여자");
}
// 이렇게 입력하면 아래 console창에 주민번호 입력 -> 이라는게 뜨는데
// 여기다가 실제 주민번호를 콘솔창에 입력해주면
// 여자인지 남자인지 성별구분을 콘솔창에서 해줌.
// 답 :
주민번호입력 -> 041201-3115555(내가 입력하는부분)
남자
// 문제 : switch-case문을 사용하여 주어진 주민번호의 지역을 알아내라.
String id = "041201-3182555";
// 풀이 :
String id = "041201-3182555";
char region = id.charAt(8); // id라는 문자열에서 8번째 문자를 char변수 region에 저장.
switch(region) {
case '0':
System.out.println("서울");
break;
case '1':
System.out.println("인천경기");
break;
case '2':
System.out.println("강원도");
break;
case '5':
System.out.println("전라도");
break;
case '7':
case '8':
System.out.println("경상도");
break;
case '9':
System.out.println("제주도");
break;
}
// 답 : 인천경기
// 문제 : switch-case문을 사용하여 주어진 주민번호의 성별을 알아내라.
String id = "990401-1234567";
// 풀이 :
String id = "990401-1234567";
char sung = id.charAt(7);
switch(sung) {
case '1' :
case '3' :
System.out.println("남자");
break;
case '2' :
case '4' :
System.out.println("여자");
break;
}
// 답 : 남자
'JAVA' 카테고리의 다른 글
<JAVA_PreClass_231012목> (2) | 2023.10.12 |
---|---|
<JAVA_PreClass_231011수> (2) | 2023.10.11 |
<JAVA_PreClass_231010화> (0) | 2023.10.10 |
<JAVA_PreClass_231005목> (2) | 2023.10.05 |
<JAVA_PreClass_231004수> (0) | 2023.10.04 |