MultiEx

haribo·2021년 2월 27일
0

Java

목록 보기
2/17

변수의 범위 = 변수의 스코프

상사일때 부하직원한테 영향을 주는건 쉽지만, 부하직원일때 상사에게 영향을 주는 것은 어렵다.

물은 위에서 아래로 흐르고... 코딩 또한 매한가지

  • 변수는 자신보다 하위 블록으로는 침투할 수 있다.
int num = 100;
if (num == 100) {
		// num이 현재 블록의 바깥에서 선언되었으므로 유효
		System.out.println(num);
}

출력결과 : 100
int num = 100;
for (int i=0; i<10; i++) {
		// 변수 num이 현재 블록 밖에서 생성되었으므로 사용가능
		System.out.println(num + i);
}

출력결과 : 
101
102
103
104
105
106
107
108
109
  • 자신이 선언된 블록 밖으로는 빠져나갈 수 없다. (kind of... 하극상)
int num = 100;
if (num == 100) {
		int result = num + 100;
}
// 변수 result가 if 블록 안에서 생성되었으므로 사용불가
System.out.println(result);
for (int i=0; i<10; i++) {
		...
}
// i가 for문을 위한 괄호 안에서 사용되었으므로 사용불가
System.out.println(i);

Main01

public class Main01 {
	public static void main(String[] args) {
		int target = 100;
		
		if (target == 100) {
			int num = target + 100;
			System.out.println(num);
		} else {
			int num = target - 100;
			System.out.println(num);
		}
	}
}

Main02

public class Main02 {
	public static void main(String[] args) {
		int point = 78;
		
		if (point > 70 && point <= 80) {
			if (point > 77) {
				System.out.println("C+ 입니다.");
			} else if (point < 74) {
				System.out.println("C- 입니다.");
			} else {
				System.out.println("C0 입니다.");
			}
		}
	}
}

Main03

public class Main03 {
	public static void main(String[] args) {
		int sum1 = 0;
		int sum2 = 0;
		
		for (int i = 1; i <= 100; i++) {
			// 2로 나눈 나머지가 0이면 짝수
			if (i % 2 == 0) { sum1 += i; }
			else			{ sum2 += i; }
		}
		System.out.println(sum1);
		System.out.println(sum2);
	}
}

Main04

public class Main04 {
	public static void main(String[] args) {
		for (int i = 2; i <= 9; i++) {
			for (int j = 1; j < 10; j++) {
				int k = i * j;
				System.out.println(k);
			}
			
			if (i < 9) {
				System.out.println("------------------");
			}
		}
	}
}

Main05

public class Main05 {
	public static void main(String[] args) {
		int i = 2;
		int j = 1;
		
		while (i <= 9) {
			while (j < 10) {
				int k = i * j;
				System.out.println(k);
				j++;
			}
			
			if (i < 9) {System.out.println("-----------------");}
			
			i++;
			j = 1;
		}
	}
}

Main06

public class Main06 {
	public static void main(String[] args) {
		int sum = 0;
		int i = 0;
		while (true) {
			
			i++;
			// continue : 실행흐름이 증감식으로 강제 이동
			if (i % 2 == 0) { continue; }
			// break : 반복 강제 종료
			if (i > 100) { break; }
			sum += i;
			System.out.println(i);
		}
		System.out.println(sum);
	}
}
이 포스트는 itpaper.co.kr에서 제공되는 강의자료를 바탕으로 작성되었습니다.
profile
그림 그리는 백엔드 개발자

0개의 댓글