제어문(흐름제어문) : 자바는 main()메소드의 시작 중괄호{} 안에서 위에서부터 아래로 실행하는 흐름을 가진다. 이러한 실행의 흐름을 개발자가 원하는 방향으로 바꾸어 주도록하는 것을 제어문 또는 흐름제어문이라고 한다. ex) 조건문(if문, switch문), 반복문(for문, while문, do-while문)
if문 : 조건식 결과가 true이냐 false이냐에 따라 블록 실행 여부가 결정. 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나 boolean 타입의 변수가 올 수 있음. if 문은 조건식이 true이면 중괄호 내부를 실행하며, false일 경우에는 블록을 실행하지 않는다. if-else문은 조건식이 true이면 중괄호 내부를 실행하고, false이면 else 중괄호 내부를 실행한다.
publicstaticvoid main(String[] args) { intscore = 50; if(score>=90) { System.out.println("점수가 90~100입니다."); System.out.println("등급은 A 입니다."); }elseif(score>=80) { System.out.println("점수가 80~89입니다."); System.out.println("등급은 B 입니다."); }elseif(score>=70) { System.out.println("점수가 70~79입니다."); System.out.println("등급은 C 입니다."); }else { System.out.println("점수가 70 미만입니다."); System.out.println("등급은 D 입니다."); } } 실행결과 :
점수가 70 미만입니다. 등급은 D 입니다.
random()함수 : 0.0과 1.0 사이에 속하는 double타입의 난수를 리턴하는 Math.random()가 있다. 이 함수의 범위는 0.0<=Math.random()<1.0으로 1.0 값은 이 범위에 포함되지 않는다. 이 함수를 이용해 1~10 자리의 정수 하나를 얻기 위해서는 다음과 같은 방법을 따른다. 1. 각 변에 얻기 위한 자리 수를 곱한다. 0.0*10<=Math.random()<1.0*10 -> 0.0<=Math.random()<10.0 2. int 타입으로 강제 변환한다. int(0.0)<=Math.random()<int(1.0) ->0<=Math.random()<10 3. 각 변에 1을 더한다. 0+1<=Math.random()<10+1 ->1<=Math.random()<11 -> 1부터 10까지의 정수 중 하나를 얻는다.
switch문 : if문과 마찬가지로 조건제어문이다. 하지만 switch문의 변수의 값에 따라서 실행문이 결정된다는 점이 if문과 다르다. 그렇기 때문에 if문보다 코드가 간결하다. switch(변수){case 값1:... case 값2:....default:...}의 형태로 변수의 값이 값1이면 첫번째 case코드부터 실행하고 그 뒤로 차례대로 수행되며 동일한 값을 가진 case가 없을 경우 default 코드를 실행한다. default 코드는 생략이 가능하다.