자바 기초다지기(#11)
-두 값의 정렬-
두 값에 대한 크기를 정렬하는 소스코드이다.
import java.util.Scanner;
public class Sort2 {
public static void main(String[] args) { // TODO Auto-generated method stub Scanner stdIn = new Scanner(System.in);
System.out.println("변수 a = "); int a = stdIn.nextInt(); System.out.println("변수 b = "); int b = stdIn.nextInt();
if(a>b) { int t = a; a = b; b = t; }
System.out.println("ab가 되도록 정렬 했습니다."); System.out.println("변수 a는"+a+"입니다."); System.out.println("변수 b는"+b+"입니다.");
}
} |
블록 내에서 실행되고 있는 두 값의 교환순서
1.a의 값을 t에 우선 저장한다.
2.b의값을 a에 대입하게된다.
3.t의 저장해둔 최소a의 값을 b에 대입하게된다.
입력값 57,13일시 순서도
1 | 2 | 3 | 4 |
a=57 b=13 t=0 |
a=57 b=13 t-57 |
a=13 b=13 t=57 |
a=13 b=57 b=57 |
-switch 문-
-스위치 문을 이용하면 한번애 여러분기 처리가 가능하다.
-분기를 간결하게 구현 할수 있는것이 switch문(switch statement)문, swtich문은 어떤 식을 평가한 값에 따라서 프로그램의 흐름을 복수로 분기시키는 문이다.
*case 1:과 같이 프로그램의 이동하는곳에 대해 나타내는 표시는 레이블(label)이라고 한다.
-break-
- switch 프로그램 문의 흐름을 중지 시키는것이 break문이다.
- 레이블을 진행하다가 break구문을 만날경우 그 즉시 작동중지.
ex)
case 1:
System.out.println("안녕하세요");
break;
->안녕하세요를 한번만 출력 한 후 다음 구문을 실행시키지 않는다.
-default-
- switch문을 진행시 특정 레이블과 일치하지 않을때 이동 할 곳을 나타내는 레이블
- 분기를 위해 제어식을 평가 한 값이 모든 case와 일치하지 않을 경우 default 레이블로 이동한다.
-Swtich 실습 예제 구문-
import java.util.Scanner;
public class FingerFlashing1 {
public static void main(String[] args) { // TODO Auto-generated method stub Scanner stdIn = new Scanner(System.in);
System.out.println("가위바위보할 숫자를 입력하십시오 0,1,2"); int rock = stdIn.nextInt(); // import한 Scanner통해 수치 입력
switch(rock) { case 0 : System.out.println("가위"); // 숫자 0 입력시 0번 레이블 실행 break; // 가위를 출력 후 작동 중지 case 1 : System.out.println("보"); // 숫자 1 입력시 1번 레이블 실행 break; // 1번 레이블 결과값인 보를 출력 후 작동 중지 case 2 : System.out.println("주먹"); // 숫자 2 입력시 2번 레이블 실행 break; // 2번 레이블 결과 값인 주먹을 출력 후 작동 중지 }
}
} |