본문 바로가기
생활/꿀팁

[IT] Java기초(4) - 연산자(Operator), 제어문(if ~ else 문)

by 개성공장 2021. 11. 17.
반응형

 연산자

* 데이터, 그 다음 단계는?

 - 변수를 통해서 데이터를 보관하는 구조를 생각한 다음은?

 - 실제로 계산하는 작업을 하고

 - 알아서 판단해서 작업하기를 원합니다.

 

* 연산자(Operator)

 - 쉽게 말해서 CPU가 뭔가 계산하는 것. 결과가 발생

 - 연산자를 이용 : 산술, 논리 등...

 

* 연산자의 종류

 - 산술(Arithmetic) 연산자 : +, - , *, /, %(나머지)

 - 단항(Unary) 연산자 : +, -, ++, --, !

 

 - 동등(Equality) 연산자 : ==, !=, >, >=, <, <=

 - 동등연산자 결과는 boolean으로 나옴

 

 - 조건(Conditional) 연산자 : &&, ||, ?

 - Bitwise, Bit shift : >>, <<, >>>, <<<, &, ^, |

 

 - 자동증감연산자(++, --)는 유일하게 assign 하지 않아도 됨

int a=10;

int b=5;

int c=a++ + ++b + ++a;

// c=10 + 6 + 12 = 28

 

* 수학은 Math API에게!!!

 - Math.random() : double 0에서 부터 0.99999999에 해당하는 값을 임의로 생성

 

 

화서역 파크 푸르지오 아파트

 

 제어문

 * 조건에 따른 분기 : if ~ else

 

 * Java의 분기의 기준 : true / false

 - Java에서는 boolean 타입의 결과로 분기

 - if (분기 결과 발생 코드)

 - if (코드)  ~ else

 - if  ~  else if  ~  else

 

 

---

public static void main(String[] args) {

int value=10;
int odd=value%2;

if(odd==0) {
	System.out.println("짝수");
	} else {
	System.out.println("홀수");
	}
}

---

 

 

 * 유의사항

 - 자바에서 조건문은 항상 Ture/False 결과가 나오는 식을 넣어야 한다. (odd==0 이런식)

 - if ~ else if ~ else를 사용하는 경우, 조건문의 순서를 검사의 폭이 작은 것부터 큰 방향 순서로 나열해야 한다.
 (역컴파일 했을 때 볼 수 있듯이, 앞에 있는 조건문을 만족하는 경우 나머지 else 조건문은 검사하지 않으므로)
 
 * switch
 - if ~ else if 의 변형
 - JDK 1.7버전부터 문자열을 이용한 switch가 가능
 - 부등호 등 연산문은 사용할 수 없음.

 

위례열병합발전소

 

---
String condition = "A"

switch (condition) {
	case "A" :
		System.out.println("A입니다.");
	      break;
	case "B" :
		System.out.println("B입니다.");
	      break;
     
	default :
	      break;
}
---
 
변수의 스코프
 * 제어문과 변수의 스코프(범위)
 - 변수가 어디까지 사용이 가능한지를 결정하는 것이 변수의 스코프
 - C, Java에서는 변수의 스코프는 {  } (brace, 중괄호)를 기준으로
 - block based !! 지역변수
 - 전역변수는 메모리를 계속 차지하는 문제가 있음
반응형

댓글