반응형
반응형
package for_while;

public class BreakContinue {

	public static void main(String[] args) {
		
		for (int i = 0 ; i <= 100 ; i = i + 2) {
			if(i >= 20 ) {
				break;
			}else {
				continue;
			}
		}
	}

}

continue와 break에 대해서 알아봅시다.

 

continue란 진행하다라는 의미죠 원래 중괄호가 끝나야 다시 위로 올라가서 i = i + 2를 하지만

continue를 만나면 바로 i = i + 2를 해주고 i <= 100을 합니다.

 

break란 중단하는 것이죠 반복문을 빠져나오게 합니다. for문이 2개라면 break문이 있는 for문을 탈출합니다.

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형

 

package for_while;

public class While {

	public static void main(String[] args) {
		
		int sum = 0;
		int i = 1;
		
		while (i <= 100) { // 참이면 실행
			sum += i;
			i++;
		}
		System.out.println(sum);
	}

}

 

package for_while;

import java.util.*;

public class DoWhile {

	public static void main(String[] args) {
		int sum = 0;
		int i = 1;
		do {
			sum += i;
			i++;
		}while (i <= 100);
		System.out.println(sum);

	}

}

while문도 for문과 동일하게 반복문입니다. 하지만 형태가 조금 다르죠

while문도 동일하게 조건에 맞으면 반복합니다. 하지만 i++같이 따로 설정은 안 해두면 영원히 반복할 수 있습니다.

 

do while의 경우 while문인데 먼저 실행하고 while문 조건을 나중에 따집니다.

 

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형
package for_while;

public class While {

	public static void main(String[] args) {
		
		int sum = 0;
		for (int i = 1; i <= 100 ; i++) {
			sum = sum + i; // i는 101이 돼서 나옴
		}
		System.out.println(sum);
		
		// ------------- 1 ~ 100 까지 합 ------------------
		
		for (int i = 1 ; i < 10 ; i++) {
			System.out.println("------------"+ i + "단입니다------------");
			for (int j = 1; j < 10; j++)
			{
				System.out.println(i + " X " + j + " = " + i*j);
			}
		}
		// -------------- 구구단 출력 -------------------------

	}

}

for문이 무엇이냐면 반복문입니다. 어떠한 작업을 반복해서 하죠 while문도 있는데 다음에 알아보도록 합시다

 

for (int i = 1 ; i <= 100 ; i++) 을 설명하자면 i = 1 이라고 처음에 초기값을 줍니다.

그다음 i <= 100 (1 <= 100) 인가요? 맞으면 중괄호 내용을 진행합니다 (sum = sum + i;)

중괄호가 끝나면 i++를 해줍니다. i <= 100 (2 <= 100) 인가요? .... 거짓이 나올 때까지 반복합니다.

 

이중 for문이란 그냥 for문 안에 for문이 들어간 것입니다.

 

for (int i = 1 ; i < 10 ; i++){

   for (int j = 1 ; j < 10 ; j++{

    ....

   }

}

여기에서 i가 1로 들어가고 j가 10번 반복하게 됩니다 1 ~ 9까지 그리고 i가 2가 되고 j가 10번 반복... i가 끝날 때까지

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형

 

package switch_case;

public class SwitchCase {

	public static void main(String[] args) {
		
		int num = (int)(Math.random()*7) + 1; // +1이 없으면 0부터 시작함
		
		switch (num) {
			case 1:
				System.out.println("1이 출력 됐습니다");
				break;
			case 2:
				System.out.println("2가 출력 됐습니다");
				break;
			case 3:
				System.out.println("3이 출력 됐습니다");
				break;
			case 4:
				System.out.println("4가 출력 됐습니다");
				break;
			case 5:
				System.out.println("5가 출력 됐습니다");
				break;
			case 6:
				System.out.println("6이 출력 됐습니다");
				break;
			default :
				System.out.println("잘못 출력 됐습니다");
				break;

	}


	}
}

switch case문이란 if문하고 유사합니다. switch 안에 어떤 값이 들어가냐에 따라

어떤 프로세싱을 할지가 정해지기 때문에 유사합니다 하지만 어떤 상황에는 이게 더 보기 편합니다.

그리고 이게 더 효율적일 때도 있습니다.

 

예를 들자면 게임 메뉴 같은 경우 1번 눌렀을 때 게임 시작

이런식으로 하면 되게 편하고 보기도 좋고 합니다.

if문을 쓰면 if else if else if .... 이런식으로 많이쓰고 가독성도 좋지 않아지게 됩니다.

 

코드를 설명하자면 (int)(Math.random() * 7) + 1 을 설명하자면 (int)(Math.random())은 하나라고 기억해두시고

*7이라는 건 7개의 경우의 수를 의미하고 + 1을 해준 이유는 + 1을 안 해주면 0 ~ 6까지 수가 나옵니다.

 

1 ~ 7까지 수를 원하면 +1을 해주면 됩니다.

반응형
반응형

 

package infix_operation;

public class InfixOperation {

	public static void main(String[] args) {
		
		int result = 0;
		
		result +=10; // result = result + 10
		System.out.println("result = " + result); // 10
		
		result -=5; // result = result - 5
		System.out.println("result = " + result); // 5

		result *=4; // result = result * 4
		System.out.println("result = " + result); // 20
		
		result /=2; // result = result / 2
		System.out.println("result = " + result); // 10
		
		result %=2; // result = result % 2
		System.out.println("result = " + result); // 0

	}

}

 

 

이항연산자란 주석에 적힌 거 처럼 저렇게 긴 식을 간단하게 줄일 수 있습니다.

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형
package unary_operation;

public class UnaryOperation {

	public static void main(String[] args) {
		
		int x = 10;
		int y = 10;
		int z = 0;
		
		System.out.println("-----------------");
		x++; 
		++x;
		System.out.println("x = "+x); // 12
		
		System.out.println("-----------------");
		y--; 
		--y;
		System.out.println("y = "+y); // 8
		
		System.out.println("-----------------");
		z = x++; 
		System.out.println("z = "+z); // 12
		System.out.println("x = "+x); // 13

		System.out.println("-----------------");
		z = ++x; 
		System.out.println("z = "+z); // 14
		System.out.println("x = "+x); // 14
		
		System.out.println("-----------------");
		z = ++x + y++ ; 
		System.out.println("x = "+x); // 15
		System.out.println("y = "+y); // 9
		System.out.println("z = "+z); // 23

	}

}

 

단항연산자란 항이 1개라는 의미이죠 여기서 x++ , ++x 와 같은 걸 의미합니다.

 

여기서 주의할 점이 있는데 x++란 ++x는 비슷하지만 다릅니다. x = x +1 처럼 1을 더하는 과정입니다만

z = ++x + y++ 에서 다른 점이 나옵니다. 

 

32번 Line에서 x = 14 , y = 8 입니다.

z = (++x)[15] + y[8] 이여서 z값은 23이 나오고 x의 경우는 15가 됩니다. 그리고 y의 경우는 

아까 z를 만드는 연산식에서 y++일 때 y + (++x) 이런식으로 계산 되는 거지만 결국엔 ++가 붙어있기 때문에

y의 값은 9가 됩니다.

 

 

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형
package logic_operation;

public class LogicOperation {

	public static void main(String[] args) {
		
		int v1 = 45;
		int v2 = 55;
		
		// ------------------ if문 2번 사용 ------------------ 
		if(v1 >= 40) {
			if(v1 <= 50) {
				System.out.println("v1은 40과 50사이에 수입니다.");
			}
		}
		
		// ------------------ 논리연산자 사용 ------------------ 
		
		if(v1 >= 40 && v1 <= 50 ) { // and
			System.out.println("v1은 40과 50사이에 수입니다.");
		}
		
		if(v2 >= 100 || v2 <= 80) { // or
			System.out.println("v2는 100보다 크거나 80보다 작은 수입니다.");
		}
		

	}

}

 

 

만약 40보다 크고 50보다 작은수라는 판별을 하려면 지금까지 배운 걸로는 if문을 두개를 써야합니다.

 

하지만 논리 연산자는 그걸 간단하게 만듭니다.

 

and라는 것을 아시는지요 그리고라는 의미로 A and B 라는 건 A도 만족시키고 B도 만족시켜야합니다.

Java에서 이러한 연산자를 표현하는 방식은 && 입니다.

 

또한 or도 존재합니다. A or B A를 만족시키거나 B를 만족시키거나 둘중에 하나만 만족시키면 충분합니다.

Java에서 이러한 연산자를 표현하는 방식은 || 입니다.

 

코드도 짧아지고 보기도 좋죠?

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형
package if_else;

public class IfElse {

	public static void main(String[] args) {
		
		char A = 'A';
		char B = 'B';
		
		if (A > B) {
			System.out.println("A가 더 큽니다.");
		}else if (A == B){
			System.out.println("A와 B는 같습니다.");
		}else {
			System.out.println("B가 더 큽니다.");
		}

	}

}

 

if문이란 가장 많이 쓰이는 구조로 () 소괄호 안에 내용이 참이면 {} 중괄호 내용을 실행합니다.

 

char형으로 비교연산이 가능하다고 했습니다.

 

A > B 비교했을 때 참이 아니기 때문에 다음으로 넘어갑니다.

else if 에서 A == B 입니까? 아니기 때문에 또 넘어갑니다.

else의 경우는 위의 경우가 다 아니면 else에 있는 중괄호 내용을 실행합니다.

B가 더 큽니다가 출력됩니다.

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형
반응형

 

package compare_operation;

public class CompareOperation {

	public static void main(String[] args) {
		
		int num1 = 10;
		int num2 = 10;
		
		// ------------------ int형 비교연산 ------------------
		
		boolean result1 = (num1 == num2); 
		boolean result2 = (num1 != num2);
		boolean result3 = (num1 <= num2);
		boolean result4 = (num1 >= num2);
		boolean result5 = (num1 < num2);
		boolean result6 = (num1 > num2);
		boolean result7 = !(num1 > num2); 
		
		System.out.println("result1 = " + result1); // true
		System.out.println("result2 = " + result2); // false
		System.out.println("result3 = " + result3); // true
		System.out.println("result4 = " + result4); // true
		System.out.println("result5 = " + result5); // false
		System.out.println("result6 = " + result6); // false
		System.out.println("result7 = " + result7); // true
		
		// ------------------ char형 비교연산 ------------------
		
		char char1 = 'A'; // 65
		char char2 = 'B'; // 66
		boolean result8 = (char1 < char2);
		
		System.out.println(result8); // true

	}

}

 

여기서 새로운 자료형이 나오는데 boolean 입니다.

true하고 false를 반환합니다. 비교 연산자를 써서 옳으면 true 틀리면 false를 반환하는 것입니다.

 

char형도 비교연산이 가능한데 유니코드표를 가지고 비교합니다.

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형