1.If 문(If-else문)
사실 if-else문이라는 것은 없다 if문이 맞는 말이다. if문은 조건문의 결과가 참이라고 하면 그때 if문을 실행을 한다.
else는 짝꿍(가장 가까운) if문의 조건식이 False일때 실행이 된다
public class ifTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int score = 93;
if(score <=90)
System.out.println("점수가 90점보다 큽니다.");
System.out.println("냠냠.");
}
} // 다음과 같이 중괄호가 없이 if문을 수행했을 경우에 if문은 자기 아래의 구문까지만 인식하기 때문에 거짓일 경우에는 "냠냠"이 출력이 된다.
// 즉, 중괄호를 표시 해주어야 올바른 코딩을 할수 있다.
/**
if-else 문을 사용하여 입력된 성적 분류하기 // 코딩하기 1-4 참조
*/
public class ifTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in); //Scanner라는 타입과 변수 input에 새로운 Scanner를 만들어 주고 표준입력을 받는다(키보드로 입력받음)
int score; // 내가 사용할 변수를 선언을 한다.
System.out.println("과제의 점수를 입력하세요 : "); //입력받을 값을 받는다.
score = input.nextInt(); // 키보드를 통해 받은 값을 정수의 값으로 바꾸어 score 변수에 저장한다.
if(score >=90) { // 조건을 만들어서 살행
System.out.println("A");
}else if(score >=80){
System.out.println("B");
}else if(score >=70) {
System.out.println("C");
}else if(score >=60) {
System.out.println("D");
}else {
System.out.println("바보");
}
}
}
//메모리 상에서 stack에 Scanner input을 생성을 한다.
//그리고 그위에 int score라는 변수를 만들어주고 입력받은 값을 저장해준다.
■ Math.random(); <- 0.000.... ~ 0.9999...까지의 임의에 난수를 생성함.
정수로 가공해서 만들고 싶다. Math.random() 함수앞에 (int)를 붙여 강제형변환을 시켜준다.
ex) (int)Math.random()*6 --> 0 ~ 5
-> *7을 해서 1~6까지 표현할 수 있을 거라고 생각할 수도 있지만 어떤 값을 곱해도 앞에 정수 값은 0이
나오기 때문에 코딩을 할때에는 +1을 하여 최초의 값을 1로 표현을 해주어야 한다.
(int)(Math.random()*6)+1 -> 1 ~ 6 (코딩을 할때 1부터 6까지 표현을 할 수 있다)
-> 6이라는 값은 정해져 있는 값이 아니고 조건에 따라 바뀔수있다.
2. switch-case문
1) 형식
switch(number) // switch 문은 if문과 다르게 조건을 넣는것이 아닌 번호를 넣는다!!!! :0
{case 0: // 그리고 위의 조건이 OK할 경우에 아래의 case의 번호에 맞는 곳에 들감!
break; // 원하는 값만 출력하고자 할때에는 꼭 break를 넣어주어야 한다. !!
// 자동차를 타고 가다가 브레이크가 작동을 안하면 계속가는 것과 같은 원리
case 1:
break;
default : // 모두 부합하는 조건이 없다면 default 값을 출력한다.~~!!
break;
}
3. while
1) 형식
while(조건식)
{ 문장; }
2) 원리 이해
- 반복계수 : 반복문 수행 전 초기화 되고 조건에 영향을 주고 반복구문 안에서 증감되는 변수(아래에서 i)
int i=1; // 1번
while(i<2) { // 2번
System.out.println("정수:"+i); // 3번
i++; // 4번
}
- 위의 코드에서 while문이 돌아가는 원리는 처음 선언된 int i=0;의 값이 메모리에 저장이된다.
그 후에 while의 조건문에서 참,거짓을 판단하고 다음라인으로 넘어간다.
값 출력을 하고 값을 증가 시켜주고 메모리에 저장이 된다. 그리고 조건식으로 돌아와 값을 확인을 한다.
- 코드가 돌아가는 순서
i=1 (메모리 저장)-> while(조건) ok!! -> 출력 -> 증감(i=2)(메모리 저장) ->while(조건) False!!->종료
* 마지막에 증감을 하고 나올 것 같지만 조건문을 확인을 하고 나오게 된다.
4. for
1) 형식
for(초기화; 조건식; 증감식)
{ 문장; }
for(int num=3; num<4; num++) //1번 int num=3, 2번 num<5, 3번 num++)
{
System.out.println(num); //4번
}
2) 원리 이해
- for문이 돌아가는 원리는 최초에 1번 int num =3 이라는 값이 메모리에 저장되게 된다. 그리고 2번 조건을 확인을 한다. 조건을 확인한 후에는 4번으로 내려가서 값을 출력을 한다. 그리고 올라가서 3번 증감 및 메모리에 저장을 한다. 그리고 2번 조건을 확인하고 4번을 실행하는 방식으로 돌아가게 된다.
- 1번 int num=3(메모리 저장) -> 2번 조건값(True) -> 4번 (출력) ->
3번 num = 4(증감)(메모리 저장)-> 2번 조건 값(False)->끝