TIL/Java

[SIST] Java_days05

야리니 2022. 2. 21. 23:35
728x90
반응형

1. if문과 else if문

- if(조건식) {

  조건식이 true일 때 수행할 코드

  } else {

  조건식이 ture가 아닌 모든 경우일 때 수행할 코드

  }

 

- if(조건식) {

  조건식이 true일 때 수행할 코드

  } else if(조건식) {

  조건식이 true일 때 수행할 코드

  * else if문은 하나라도 만족하면 나머지 if문은 더이상 처리(수행)하지 않는다

  }

 

코드 예제1)

코드 예제2)

 

코드 예제3)

 

1-1. Scanner로 입력을 받아 if문과 else if문 사용하기

 

2. switch문

- switch문 선언형식
 * key   : 변수, 수식, 정수, 문자열
 * value : 리터럴(값), 변수 사용 X
switch (key) {
case value:
break;
case value:
break;
 :
 :
[default:] > 생략 가능 구문
break;

 

* case문 사이에 break문이 없으면 다시 그 다음 case문을 수행!

 

코드 예제1)

 - 정수를 입력받아서 홀수, 짝수 출력하기

  아래와 같이 두 개의 case로 나눌 수도 있고 홀수, 짝수는 case 경우가 2가지이므로,

  case2를 삭제하고 default를 사용할 수 있다.

 

3. for문

- for문 형식

for (초기식; 조건식; 증감식) {
}

 

코드 예제1) 

위의 for문을 조금 자세히 파헤쳐보면

for ( 초기식(ㄱ); 조건식(ㄴ); 증감식(ㄷ)) {
} 이라고 볼 때, 

초기식을 실행하고 조건식이 true이면 {} 블럭 안에 있는 코드가 수행이 되면서 증감식인 i++가 실행되어 i가 1이 된다.

//     ㄱ -> ㄴ(0 < 10) 조건식 true -> {} 블럭 수행 -> ㄷ(1) 
//     ㄱ -> ㄴ(1 < 10) 조건식 true -> {} 블럭 수행 -> ㄷ(2)
//     ㄱ -> ㄴ(2 < 10) 조건식 true -> {} 블럭 수행 -> ㄷ(3)
//     ㄱ -> ㄴ(9 < 10) 조건식 true -> {} 블럭 수행 -> ㄷ(10)
//     ㄱ -> ㄴ(10 < 10) 조건식 false -> for문 종료

 

 

코드 예제2-1) 

10 ~ 1까지의 합계 구하기

 

코드 예제2-2) 

 

코드 예제3)

// 결과 1+2+=3

 

4. while 문

- while (condition) {

  // 조건이 true(참)일동안 반복해서 { } 블럭안에 있는 코드 실행(처리)

  }

 

코드 예제1)

// 헬로우 월드 10번 출력

int i = 1;
while (i <= 10) {
	System.out.println("헬로우 월드");
	i++;
}

 

코드 예제2)

 

4-1. while 문에 증감연산자(++, --)가 사용될 때 결과

코드 예제1)

// 결과 : 2+3+4+5+6+7+8+9+10+11+=65

 

코드 예제2)

// 결과 : 2+3+4+5+6+7+8+9+10+=54

 

코드 예제3) 전위형 증감연산자

// 결과 : 2+3+4+5+6+7+8+9+10+11+=55

 

코드 예제4) 후위형 증감연산자

// 결과 : 1+2+3+4+5+6+7+8+9+10+=55

 

코드 예제5)

package practice;

public class Pr02 {
	public static void main(String[] args) {
		int  i = 1, sum = 0;
		while( i <= 10 ) {
			System.out.print(i + "+");
			sum += i++;              // 1+2+3+4+5+6+7+8+9+10+=55 ( 파악 )
		} 
		System.out.println("=" + sum);
	}
}

// 결과 : 1+2+3+4+5+6+7+8+9+10+=55

 

코드 예제6)

package practice;

public class Pr02 {
	public static void main(String[] args) {
		int  i = 1, sum = 0;
		while( i <= 10 ) {
			System.out.print(i + "+");
			sum += ++i;              // 1+2+3+4+5+6+7+8+9+10+=65 ( 파악 )
		} 
		System.out.println("=" + sum);
	}
}

// 결과 : 1+2+3+4+5+6+7+8+9+10+=65

 

4-2. do~while문

- do~while 문은 조건식의 참 거짓을 판단하기 전에 최소한 한 번은 무조건 { } 블럭을 처리 한 후에 조건식을 묻는다. 

 

코드 예제1)

ㄱ. i 값에 9를 입력

 // 결과 : 

  헬로우 월드
  헬로우 월드
  = end =

 

ㄴ. i 값에 10을 입력

 // 결과 : 

  헬로우 월드
  = end =

 

ㄷ. i 값에 11을 입력 > 12를 입력해도 동일

 // 결과 : 

  헬로우 월드
  = end =

 

4-3. while문으로 1~10까지 합계 출력하기

코드 예제1) while문과 if문 사용

// 결과 : 1+2+3+4+5+6+7+8+9+10=55

 

코드 예제2) while문과 삼항연산자 사용

// 결과 : 1+2+3+4+5+6+7+8+9+10=55

 

코드 예제3)

 

☞  참고

 - '\b' > 제어문자(back space)

 

5. 1~10 숫자 중 홀수의 합계 구하기와 continue 문

코드 예제1)

 

int sum = 0;
		
for (int i = 1 ; i <= 10 ; i++) {
	if(i % 2 != 0) {
		sum += i;
		System.out.print( i + "+");
	}
} System.out.println("=" + sum);

// 결과 : 1+3+5+7+9+=25

 

코드 예제2)

// 결과 : 1+3+5+7+9+=25

 

코드 예제3)

// 결과 : 1+3+5+7+9+=25

 

6. charAt()

- charAt() 메서드는 문자열에서 특정 인덱스를 선택해서 한 글자만 char 형으로 바꿔주는 메소드이다.

- 선언 형식 : charAt(index);

 

코드 예제1)

String name = "hong gil dong";     // 문자열 길이 13

System.out.println(name.charAt(0));   // h
System.out.println(name.charAt(1));   // o
System.out.println(name.charAt(2));   // n
System.out.println(name.charAt(3));   // g
System.out.println(name.charAt(4));   // 
System.out.println(name.charAt(5));   // g
System.out.println(name.charAt(6));   // i
System.out.println(name.charAt(7));   // l
System.out.println(name.charAt(8));
System.out.println(name.charAt(9));   // d
System.out.println(name.charAt(10));  // o
System.out.println(name.charAt(11));  // n
System.out.println(name.charAt(12));  // g

 

코드 예제2) 코드 예제1을 for문으로 처리하기

 

코드 예제3)

키보드를 사용해서 한 문자를 입력받아서 ch 변수에 저장을 한 후 대문자, 소문자, 숫자, 한글, 특수문자인지 확인

 

코드 예제4) 코드 예제3의 if문 조건식을 Character 래퍼클래스 사용하기

 

☞  조건식 참고

  // 대문자                       'A' <= ch && ch <= 'Z'
  // 소문자                       'a' <= ch && ch <= 'z'
  // 숫자                          '0' <= ch && ch <= '9'
  // 한글                          '가' <= ch && ch <= '힣'
  // 특수문자(  # @ $ & )    '#'==ch  || '@'==ch || '$' == ch || '&'==ch

 

7. Math.random()

- Math.random() 메서드는 0 이상 1 미만의 구간에서 부동소수점의 난수를 반환하는 메서드이다.

 

코드 예제1) 국어점수를 30개 저장할 배열 선언 후 무작위로 점수 넣기

1) 0 <= 국어점수 <= 100

    // 0           <=   int 국어점수                    <= 100
    // 0.0 * 101 <=   double random() * 101      < 1.0 * 101
    // 0.0         <=   Math.random() * 101         < 101.0 
    // 0           <=   (int)(Math.random() * 101)  < 101 
    // 0           <=   (int)(Math.random() * 101)  <= 100  

728x90
반응형