본문 바로가기
Language/Java

[Java] 연산자와 조건문/반복문

by 선서니 2023. 1. 28.

📌연산자란?

연산자란 + , - , * , / 등등과 같이 어떤 기능을 수행하는 기호를 뜻한다.

각 연산자는 우선순위가 있어서 연산자 우선순위와 결합 방향에 따라 계산이 진행된다.

 

[출처] https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=29java&logNo=70188119123&view=img_4

 

💡 1) 연산자 종류와 그 우선순위를 모두 외울 수 없기 때문에 2) 언어마다 연산자 우선순위가 다를 수 있기 때문에 원하는 순서대로 계산이 진행될 수 있도록 적절하게 괄호()를 사용하는 것이 좋다!

 


📌 조건문(Conditonal Statement)

조건문은 어떤 조건에 따라 컴퓨터가 동작하는 방법을 조건에 따라 분기하는 역할을 한다. 

 

if문

if(조건식) {
	// 조건이 만족하면 실행
}
else if(조건식) { // 여러개 올 수 있음
	//if 조건을 만족하지 않지만 else if 조건을 만족할 때 실행
}
else { 
	// 위 조건 중 어떤 것도 만족하지 않을 때
}

if문은 해당 조건을 만족하는 블록 안의 내용만을 실행하며 그 뒤에 다른 조건과 블록이 있더라도 뒤의 블록들은 실행되지 않는다. 

 

if문의 조건식에는 들어갈 수 있는 타입은 boolean 타입, true/ false가 결과로 나오는 산술식 또는 메서드가 있다.

// 1. 논리형
boolean b = true; // or false;
if(b) {
 ...
}

// 2. 산술식
if(x > 0) {
 ...
}

// 3. 메서드
String str = "abc";
if(str.equals("bcd")) {
 ...
}

 

 

switch 문

if문과 마찬가지로 특정 조건을 만족하면 실행된다.

switch(인자) {
	case 조건값1 : 
    	//인자 == 조건값1 일때 실행
        [break];
   case 조건값2 : 
    	//인자 == 조건값2 일때 실행
        [break];
   case 조건값3 : 
    	//인자 == 조건값3 일때 실행
        [break];
   default : 
   	// 어떤 케이스도 해당되지 않을 때 실행
        [break];
}

 

switch문에 들어갈 수 있는 타입들은 byre, short, char, int만 가능하다!

 

 

 

if문과의 차이점으로는 if문은 조건을 만족하는 블록만 실행이 되지만 switch문은 조건을 만족하는 해당 블록부터 break를 만나기 전까지 그 뒤에 있는 모든 블록들이 실행 된다.

 

package review;

public class Condition {

	public static void main(String[] args) {
		int result = 4;
		
		if(result == 1) {
			System.out.println("if " + result);
		}
		else if(result == 2) {
			System.out.println("if " + result);
		}
		else if(result == 3) {
			System.out.println("if " + result);
		}
		else if(result == 4) {
			System.out.println("if " + result);
		}
		else if(result == 5) {
			System.out.println("if " + result);
		}
		else  {
			System.out.println("if " + result);
		}
		
		
		
		switch(result) {
			case 1 : 
				System.out.println("switch " + result);
			case 2 : 
				System.out.println("switch " +result);
			case 3 : 
				System.out.println("switch " +result);
			case 4 : 
				System.out.println("switch " +result);
			case 5 : 
				System.out.println("switch " +result);
			default : 
				System.out.println("switch " +result);
		}
	}
}


//결과
if 4
switch 4
switch 4
switch 4

 


📌반복문

반복문은 while문과 for문이 있다.

 

while문

while(조건) {
  //반복 실행할 내용
}

while문은 위와 같은 문법으로 사용하며, 조건이 true(참)인 동안 블록 안의 내용이 계속해서 반복 실행된다.

만약 while문의 조건이 true로 유지된다면 반복을 종료하지 못하고 블록 안의 내용이 계속해서 반복되게 된다. 이를 무한루프라고 하며 무한루프에 빠지지 않도록 종료 조건을 잘 설정해야 한다.

 

그래서 다음과 같이 많이 사용된다.

int i = 0; // 변수 초기화
while(i < 10) { // 반복 조건
  // 반복할 내용
  i++ // 증감식
}


int j = 0; //변수 초기화
while(i < 10) { // 반복 조건
  // 반복할 내용
  if(j == 5) break; // break문으로 가장 가까운 반복문 탈출
  j++ // 증감식
}

 

 

 for문

for(변수 초기화; 반복 조건; 증감식) {
  // 반복할 내용
}


for(int i = 0; i < 10; i++) {
  // 반복할 내용
}

for문은 위와 같이 사용하며, while문과 마찬가지로 반복 조건이 true인 동안 블록안의 내용이 계속해서 반복 실행된다.

또한 for문 안에서도  break, continue, if문을 사용할 수 있다.

 

 

for문 vs while문

for문과 while문은 서로 비슷하게 동작한다. 반복문을 사용해야 할 때는 둘 중 어떤 것을 사용해야 할까?

사실 같은 내용을 for문을 while문으로 while문을 for문으로 바꿔서 구현이 가능하지만 보통은 각 반복문이 가지고 있는

특성에 따라 조금 더 원하는 내용을 쉽게 표현할 수 있는 반복문을 선택한다.

for문 while문
초기값, 조건식, 증감식의 위치가 명확할 때
반복의 횟수가 명확할 때
index 증감을 활용할 때
반복의 횟수가 불명확한 경우
index보다 break, continue를 활용할 때

  

'Language > Java' 카테고리의 다른 글

[Java] 배열  (0) 2023.01.29
[Java] 변수와 형변환  (0) 2023.01.28

댓글