java week4, 제어문


목차



선택문

Java는 if/else문(조건문)과 Switch/case문(선택문)을 제공한다.

if/else 문

if문에 들어가는 조건식이 참인 경우에 if문 내의 블록 코드를 실행한다.

만약 조건식이 거짓인 경우 else if문이 있다면 else if 문의 조건을, else문이 있다면 else문의 코드를 실행한다.

물론, 중첩 또한 가능하다.

int a = 5;
if(a > 5) {
	System.out.println("a가 5보다 큰 경우 코드 실행");
}
else if(a < 5) {
	System.out.println("a가 5보다 작은 경우 코드 실행");
}
else {
	System.out.println("a가 5인경우 코드 실행");
}
int a = 8;
if(a > 5) {
	if(a < 10) {
		System.out.println("a가 5보다 크고 10보다 작으면 코드 실행");
	}
    else{
		System.out.println("a가 10이상이면 코드 실행");
	}
}

switch/case 문

switch문은 switch의 매개변수에 맞는 조건에 따라 case문을 실행하여 다중 if문의 단점을 개선한 선택문이다.

각각의 case문에 break 키워드를 사용하지 않으면 switch문을 탈출하지 않으므로 다음 case문도 실행하기 때문에 주의해야한다.

switch 문은 java12부터 확장되어 사용되어왔다.

int a = 3;
switch(a){
	case 1 : 
		System.out.println("a가 1이면 코드 실행");
		break;
	case 2 : 
		System.out.println("a가 2이면 코드 실행");
		break;
	case 3 :
		System.out.println("a가 3이면 코드 실행");
		break;
	default : 
		System.out.println("a가 그 외의 값들인 경우 코드 실행 ");
}

반복문


반복문에는 for문, while문, do-while문, for-each(향상된 for문),Iterator가 있다.

for(초기화; 조건문; 증감식)

for문은 초기화한 값을 가지고 조건문을 검사해 초기화한 값을 증감식의 조건에 따라 증감해가면서

for문 내부의 코드를 반복하는 구문이다.

for(int i=0;i<10;i++){
	//코드 0~9회 즉, 10번 실행
}

while문(조건)

조건의 값이 참인 경우에는 계속 반복하는 구문이다.

int i=0;
while(i<10){
	//코드 10회 반복
	i++; //for문과 달리 증감식이 없기 때문에 증감식을 통해 유한적인 조건이 되게함
}

do-while문(하단 조건)

조건의 값이 하단에 존재한다. 무조건 한번은 실행한다.

int i=0;
do{
	//코드 10회 반복
	i++;
}while(i<10);

for-each문(향상된 for문)

for문과 동일하게 for를 사용하지만 구조가 for문보다 직관적이고, 반복할 객체를 하나씩 차례대로 가져와 사용하는 구조이다.

List<Integer> list = new ArrayList<>();
for(int i = 0; i<5; i++){
    list.add(i);    //0, 1, 2, 3, 4
}

for(int num : list){
    system.out.printf(num); //0, 1, 2, 3, 4    
}

Iterartor

Iterartor는 java의 Collection에 저장되어 있는 데이터를 읽어오는 방법을 표준화한 기술 중 하나이다. hasNext(), next(), remove() 메소드를 이용해 데이터를 뽑아와 사용할 수 있다.

Set<String> set = new HashSet<>();
set.add("안녕");
set.add("hello");
set.add("world");

Iterator<String> it = set.iterator();
while(it.hasNext()){
	//요소 출력 후 다음 요소로 이동 
	System.out.println(it.next());
	
	it.remove(); //요소 삭제 
}





© 2019.04. by salmon2

Powered by theorydb