본문 바로가기
코딩수업/AWS 클라우드환경 네이티브

7/19 자바(Java) 문자 연산, 연산자, 조건문, Math.random()

by 인생즐겜러 2022. 7. 19.
728x90
반응형

AWS 클라우드환경 네이티브 수업 46일차

 

 

 

진행

1. 문자 연산

2. 연산자

3. 조건문

 

 

 

 

 

요약

1. 문자 연산

2. 연산자 (증감, 논리부정, 나머지, 삼항)

3. 조건문 (if , switch)

4. Math.random()

 

 

 


 

 

 

 

 

문자 연산

 

 

 

 

 

 

 


 

 

 

 

 

연산자

 

 

 

증감 연산자 ( ++ , -- )

 

a = 5;
b = 5;


a = a + b++ ; 	// b가 먼저 계산 되고 그 다음 증감연산자가 계산



결과
a = 10
b = 6



a = a + ++b ;	// 증감연산자가 먼저 계산 되고 그 다음 b 연산



결과
a = 11 
b = 6

 

 

 

 

 

논리 부정 연산자 ( ! )

 

boolean power = true ; 

power = !power ; 	// !는 부정을 한다.



결과
power = false

 

 

 

 

 

나머지 연산자 ( % )

 

나눈 나머지를 반환한다.

 

package LectureExam;

public class OperationExample {

	public static void main(String[] args) {

		int share = 10 / 8;
		int remain = 10 % 8 ;
		
		
		System.out.println("10/8의 나눈 몫 = " + share + ", 나머지 = " + remain); 
		
		
	}

}



결과
10/8의 나눈 몫 = 1, 나머지 = 2

 

 

 

 

 

삼항 연산자 

 

구조는 아래와 같다.

조건 ? 조건이 참일 경우 값 : 조건이 거짓일 경우 값

조건이 처리되면 처리된 값은 boolean 상태로 판별을 위해 넘어가게 된다.

그리고 삼항 연산자는 중첩 사용이 가능하다.

 

중요한 한가지, 삼항연산자는 항상 값을 반환한다.

if 문과 비슷하지만 이 점이 다르다.
아래는 예시이다.

 

package LectureExam;

public class OperationExample {

	public static void main(String[] args) {

		int num = 10 ;	
		String a = num>0 ? "양수당" : "음수당" ;	
		
		System.out.println(a); 



		num = 0 ;		// 0으로 바꿔서 중첩 사용을 강제해보자!
		String b =  num>=0 ? (num == 0 ? "0이당" : "양수당") : "음수당"  ;	
	
		System.out.println(b); 

	}

}



결과
양수당
0이당

 

package LectureExam;

public class OperationExample {

	public static void main(String[] args) {

		int apples = 134 ;	// 사과의 갯수
		int bucket = 10 ;	// 바구니가 수용할 수 있는 사과갯수
		
		int b = apples%bucket <= 0 ? 0 : 1 ;
		int a = apples/bucket + b ;
		
		
		
		System.out.println("필요한 바구니의 갯수는 " + a); 
	
	}

}



결과
필요한 바구니의 갯수는 14

 

 

 

 

 


 

 

 

 

 

조건문

 

 

 

if 조건문

 

구조는 아래와 같다.

위부터 순서대로 조건확인이 진행되기 때문에 순서가 중요하다.

 

if(조건문){
	내용
} else if(조건문){
	내용
} else {
	내용
}

 

package LectureExam;

public class ifExample {

	public static void main(String[] args) {

		int score = 85 ;	
		
		if( score >= 90) {
			System.out.println("A입니다. 대기업 가셈.");
		} else if (score >= 80){	// score >= 80 && score < 90
			System.out.println("B입니다. 선생님 그러다 죽도밥도 안되염");
		} else {
			System.out.println("C입니다. 일단 취미를 특기로 발전 시키는 방향을 고려해보자");
        }
			
	}

}



결과
B입니다. 선생님 그러다 죽도밥도 안되염

 

 

 

 

 

switch 조건문

 

구조는 아래와 같다.

 

switch(입력변수){
	case 입력값1 :
    		내용;
            break;
	case 입력값2 :
    		내용;
            break;
   	default :
    		내용;
            break;
}

 

 

 

예시1

 

package LectureExam;

public class switchExample {

	public static void main(String[] args) {

		int score = (int)(Math.random()*10) + 1 ;	//1~10 사이 랜덤 수를 만들기 위한 식
	
		switch(score) {
			case 10 :
					System.out.println("10입니다. Wow"); 						
					break;
			case 9 :
					System.out.println("9입니다. Wow"); 						
					break;
			case 8 :
					System.out.println("8입니다. Wow"); 						
					break;
			case 7 :
					System.out.println("7입니다. Wow"); 						
					break;
			case 6 :
					System.out.println("6입니다. Wow"); 						
					break;
			case 5 :
					System.out.println("5입니다. Wow"); 						
					break;
			
			default :
					System.out.println("1입니다. Wow"); 						
					break;
				
		}
	}
}



결과
10입니다. Wow

 

Math.random() 에 대한 설명은 맨 아래에 첨부해두었다.

 

 

 

 

 

예시2

아래의 경우, 100점 만점의 시험 점수를 case로 나눌 때,

case를 100를 써야할 것을 약간의 머리를 써서 10개로 줄인 경우이다. (나누기 10)

 

package LectureExam;

public class conditionExample {

	public static void main(String[] args) {

		int score = (int)(Math.random()* 101);
		char grade = ' ' ; 
		
				
		switch(score/10) {
			case 10 : 
			case 9 :
				grade = 'A' ;
				break;

			case 8 :
				grade = 'B' ;
				break;

			case 7 :
				grade = 'C' ;
				break;

			case 6 :
				grade = 'D' ;
				break;


			default : 
				grade = 'F' ;
				break;
				
		}
		System.out.println("선생님 점수는 " + score + ", 학점은 " + grade + " 입니다.");

	}

}



결과
선생님 점수는 90, 학점은 A 입니다.

 

 

 

 

 


 

 

 

 

 

※ Math.random()

난수를 만드는 함수.

random()은 double타입의 0이상 ~ 1미만까지의 실수를 랜덤으로 뽑아온다.

Math.random에 10, 100 등을 곱하고 (int) 형식으로 바꾸면 여러가지 범위의 수가 가능하다.

위의 예시는 1~10 범위의 수를 만드는 예시.

 

728x90
반응형

댓글