IT/JAVA (17.12.18~)

4일차 JAVA (4)

만두토끼 2017. 12. 21. 12:02

1. 제어문: 명령의 흐름을 변경하는 명령어

if : 조건에 따라 분기를 수행하는 명령어 

단순 if 문

if 와 else

if 와 if else 와 else 

~라면, ~이면 


실습) 점수에 따른 결과 출력 (수우미양가)

import java.util.Scanner;


public class ControlTest {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("점수를 입력하세요: ");

int score = sc.nextInt();

if(score>=90) {

System.out.println("결과: 수");

}

else if(score>=80) {

System.out.println("결과: 우");

}

else if(score>=70) {

System.out.println("결과: 미");

}

else if(score>=60) {

System.out.println("결과: 양");

}

else {

System.out.println("결과: 가");

}

}

}



실습) 저장된 ID 와 PW 체크 

* 문자열 비교 방법: string형변수.equals("ID"); // 대, 소문자도 정확히 지켜줘야한다.

import java.util.Scanner;


public class CheckAccout {


public static void main(String[] args) {

Scanner sc= new Scanner(System.in);

String id = "id";

String pw = "*1234";

System.out.print("id를 입력하세요: ");

String check_id = sc.nextLine();

System.out.print("pw를 입력하세요: ");

String check_pw = sc.nextLine();

System.out.println("");

if(check_id.equals("id")&&check_pw.equals("*1234")) {

System.out.println("로그인 되었습니다.");

}

else if(!check_id.equals("id")){

System.out.println("없는 ID 입니다.");

}

else{

System.out.println("PW가 틀렸습니다.");

}

}

}




2. switch 

값에 의한 분기를 수행하는 명령어

정수와 문자열로만 가능

특정한 값만 선택하는 분기(메뉴)에 많이 이용 


실습) 메뉴 선택하기(Switch문)

import java.util.Scanner;


public class SwtichTest {

public static void main (String args[]) {

Scanner sc = new Scanner(System.in);


System.out.println("1:소고기 쌀국수\n2:닭고기 쌀국수\n3:딤섬\n4:새우볼");

System.out.print("원하는 메뉴를 작성하세요: ");

int menu = sc.nextInt();

System.out.println("");


switch(menu) {

case 1: System.out.println("소고기 쌀국수"); break;

case 2: System.out.println("닭고기 쌀국수"); break;

case 3: System.out.println("딤섬"); break;

case 4: System.out.println("새우볼"); break;

default: System.out.println("잘못된 메뉴");

}

}

}



실습) 메뉴 선택하기(If문)

import java.util.Scanner;


public class SwtichTest {

public static void main (String args[]) {

Scanner sc = new Scanner(System.in);


System.out.println("1:소고기 쌀국수\n2:닭고기 쌀국수\n3:딤섬\n4:새우볼");

System.out.print("원하는 메뉴를 작성하세요: ");

int menu = sc.nextInt();

System.out.println("");

if(menu==1) {

System.out.println("소고기 쌀국수");

}else if(menu==2) {

System.out.println("닭고기 쌀국수");

}else if(menu==3) {

System.out.println("딤섬");

}else if(menu==4) {

System.out.println("새우볼");

}else {

System.out.println("잘못된 메뉴");

}

}

}



 

3. while 반복문 

false가 될때까지 반복


실습) While 문 사용

public class WhileTest {

public static void main(String args[]) {

int i = 1;

while(i<=10) {

System.out.println("i= "+ i++);

}

}

}                                                                                                                                               



실습) While 문 사용하여 1부터 입력한 숫자까지 합 구하기 & 평균 구하기

import java.util.Scanner;


public class SumTest2 {

public static void main (String args[]) {

Scanner sc = new Scanner (System.in);

int i = 1;

int sum =0;

System.out.print("원하는 숫자를 입력: ");

int num = sc.nextInt();


while(i<num+1) {

sum += i;

i++;

}

System.out.println("합 = "+sum);

System.out.println("평균 = "+(sum/(double)num));

}

}




실습) 실수 연산의 오류 

public class Error {

public static void main (String args[]) {

int i =0;

double sum = 0;

while (i<1000) {

sum=sum+0.1;

i++;

}

System.out.println("sum= "+sum);

}

}


//위처럼 실수를 가지고 연산을 할 때는 

//정수로 변경해서 연산해 결과를 얻고 난 후

//다시 실수로 변경하는 것이 좋다. 



실습) 실수 연산의 오류 - 해결방법

public class Error {

public static void main (String args[]) {

int i =0;

double sum = 0;

while(i<1000) {

sum=sum+1;

i++;

}

System.out.println("sum= "+sum/10.0);

}

}





4. for 문 


실습) for 문을 이용한 1부터 10까지의 합 

public class ForTest {

public static void main(String args[]) {

int i;

int sum=0;

for(i=1;i<=10;i++) {

sum+=i;

}

System.out.println("sum= "+sum);

}

}




5. do ~ while

반복을 처리하기 위한 명령어

~ 할때까지 


6. 기타

1) 제어문 안에서 수행되는 내용이 1줄 일때는 { } 를 생략해도 됩니다. 

-> 생략 가능하지만 { } 하는 것이 코드를 읽을 때 좋습니다. 

2) 제어문 안에서 만든 변수는 제어문 안에서만 사용이 가능하다.

3) 제어문 안에 제어문 사용이 가능 


'IT > JAVA (17.12.18~)' 카테고리의 다른 글

6일차 JAVA(6)  (0) 2017.12.26
5일차 JAVA(5)  (0) 2017.12.22
3일차 JAVA (3)  (0) 2017.12.20
2일차 JAVA (2)  (0) 2017.12.19
1일차 OT 와 JAVA (1)  (0) 2017.12.19