[02]제어문,반복문,배열

제어문

  • 프로그램의 흐름을 제어
  • if , switch~case

If문

  • if(조건){조건이 true일 때만 수행}

  • if(조건){조건이 true일 때 수행}else{조건이 false일 때 수행}

  • if(조건){조건이 true일 때 수행}

    else if(조건){조건이 true일 때 수행}

    else if(조건){조건이 true일 때 수행}

    else{조건이 false일 때 수행}

Switch~case문

  • break문

    • 제시하는 값과 동일한 값을 찾아서 수행
    • 실수형, 논리형등은 사용할 수 없다.
    1
    2
    3
    4
    5
    6
    7
    8
    switch(20){//제시한 값과 동일한 값을 찾는것. 목록에서,경우의 수에서 찾음.
    		case 10:System.out.println("SEOUL");break;
    		//case앞에 있는 숫자가 경우의 수.
    		//경우의 수를 나눌때는 순차적이지 않아도 된다.
    		//그러나 보기편하게 정리해서 하자.
    		case 20:System.out.println("JEJU");break;
    		case 30:System.out.println("BUSAN");break;
    		}//목록에 있는 값을 입력하면 아무것도 출력되지 않는다.
    

반복문

for문

  • 형식
    • for(시작값;종료값;증감){}
  • Scope : 유효범위
  • 무한 LOOP
    • for(;;) : 이렇게 하면 무한루프.
  • break : 반복문을 빠져나옴
  • continue : 반복문을 계속 수행
  • for문 안에 선언되어있는 변수는 for end를 나가면 사라지는 값.
1
2
3
변수의 유효범위
local variable : 지역변수
global variable : 전역변수

while 반복문

  • while(조건){조건이 true이면 수행}
  • while(true){} > 무한LOOP
	int a=1;
		while(a<=3){
			System.out.println("JAVA");
			a++; 
		}

do~while 문

  • do{

    조건이 true이면 수행

    }while(조건);

  • 조건이 나오면 boolean 타입
  • do~while은 조건이랑 상관없이 무조건 한번은 수행된다.
    • 조건의 참, 거짓과는 상관없다.
    • 조건을 나중에 물어보기 때문이다.

이중 반복문

  1. 사각형 만들기

    1
    >  등수 구할 때 회전수 참조.
    
1
2
3
4
5
6
for(int x=1;x<=4;x++){
			for(int y=1;y<=4;y++){
				System.out.print("#");
			}
			System.out.println();
		}
  1. 삼각형 만들기

    1
    2
    3
    > 회전수 증가
    >
    > 로또번호
    
1
2
3
4
5
6
for(int z=1;z<=4;z++){
			for(int q=1;q<=z;q++){
				System.out.print("@");
			}
			System.out.println();
		}
  1. 역삼각형 만들기

    회전수 감소

    정렬

1
2
3
4
5
6
for(int v=4;v>=1;v--){
			for(int k=1;k<=v;k++){
				System.out.print("$");
			}
			System.out.println();
		}

배열

  • 배열 Array
  • 동일한 자료형의 집합.
  • 순서, 색인, index
  • 순서값 index는 0부터 시작
  • 요소 Element
  • 1차원 : 열 구성
  • 2차원 : 행과 열 구성
    • 대부분 2차원을 사용하려면 클래스를 사용.
  • 3차원 : 자바에는 없는 개념.
  • 열, 칸 , column
  • 행, 줄, row
  • new 연산자로 메모리를 할당한 후 사용한다.

1차원 배열

1
int[]kor=new int[3];
  • int 는 4byte인데 3개 선언
  • 4byte*3 > 12byte메모리 할당
  • 정수값 세개표현가능.
  • int[] kor 의미는 int 형태로 메모리 3칸을 확보하겠다. 라는 의미
  • 이럴때는 연산자 new를 사용한다.
1
2
3
kor[0]=60;
kor[1]=100;
kor[2]=85;
  • 배열의 index는 0부터 시작. 1씩 증가.
  • 배열에 값을 저장.
  • 반복문과 자주 쓰임

2차원 배열

  • 행과 열로 구성
  • 행과 열은 0부터 시작.
1
int[][] kor=new int[2][3];
  • 2행 3열
  • 2차원 배열은 기본적으로 반복문이 2개가 온다.
1
2
3
4
5
6
7
kor[0][0]=10;
kor[0][1]=20;
kor[0][2]=30;

kor[1][0]=40;
kor[1][1]=50;
kor[1][2]=60;	
  • 2차원 배열을 압축해서 사용하는 법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int[][] eng={
		 //     0열 1열 2열 		
				{10,20,30},//0행
				{40,50,60}//1행
				}; //0행은 0행끼리, 1행은 1행끼리 묶는거.
		           //2행3열

System.out.println(eng.length); 	//결과값 : 2
                                    //행의 갯수
System.out.println(eng[0].length); //결과값 : 3
                                   //0행의 열의 갯수
		
System.out.println(eng[1].length); //결과값 : 3
                                   //1행의 열의 갯수.
		
  • 자바는 다각형도 허용한다.
  • 각 행의 열의 갯수가 달라도 무방하다.