file 생성
src 오른쪽 버튼 클릭 > New
제어문
1. 조건(분기) 제어문 : if, switch
1) if
기본형 : if(조건식) {....} 조건식이 true일 때만 실행
2지 선다형 : if(조건식) {①....} else {②.....} 조건식이 true면 ①, false면 ②를 실행
다지 선다형 : if(조건식) {.....} else if(조건식2) {.....} ...... else {......}
2) switch
case, default문과 조합
형식 : switch(표현식) {
case : ......
}
표현식에 사용할 수 있는 것 : 정수, 문자(char), 문자열(String)
import java.util.Random;
public class DiceClass {
public static void main(String[] args) {
//난수 생성하는 객체 Random p115
Random random = new Random();
int r = random.nextInt(6) + 1; //범위지정
// nextInt(최댓값) 범위 : 0 ~ 최댓값 -1
// System.out.println(r);
switch (r){
case 1:
System.out.println("1이 나왔습니다.");
break;
case 2:
System.out.println("2가 나왔습니다.");
break;
case 3:
System.out.println("3이 나왔습니다.");
break;
case 4:
System.out.println("4가 나왔습니다.");
break;
case 5:
System.out.println("5가 나왔습니다.");
break;
default:System.out.println("6이 나왔습니다.");
}
}
}
2. 반복 제어문 : for(횟수 반복), while(그 외)
for) 기본형식 : for(초기식; 조건식; 증감식)
forEach 형식 : for(변수 : 리스트(배열이나 구조체))
자바스크립트의 for of와 같은 형식
js에서) let arr = [10, 20, 30];
for (let v1 of arr) {console.log(v1); } // 배열의 값
출력 => 10, 20, 30
for (let v2 in arr) {console.log(v2); } // 배열 순서주소
출력 => 0, 1, 2
while) 기본형식 : while(조건식) {.....}
do while 형식 : do {......} while (조건식);
3. 기타 제어문 : break, continue(skip용도)
실습) 콘솔 프로그램의 골격
프로그램 실행 후 처음으로 타이틀 출력
메뉴 출력
메뉴 입력
해당 메뉴 실행
메뉴 출력
메뉴 입력
해당 메뉴 실행
반복
종료 메뉴 입력
종료
객체 지향의 개념을 포함하여 골격을 작성
-> 골격 객체를 만들어서 실행하는 형태
예) 프로그램 골격
import java.util.Scanner;
public class ControllerClass {
// 프로그램의 모든 부분을 처리하는 인스턴스를 설계한 클래스
// 타이틀 : 관리프로그램
// 메뉴 1. 입력 2. 출력 0. 종료
public void run() {
String menu; // 메뉴를 입력받아 저장하는 변수
// 입력 객체 준비
Scanner scanner = new Scanner(System.in);
// 프로그램의 타이틀 출력
System.out.println("관리 프로그램");
System.out.println("=============");
// 메뉴 출력부터 종료까지 무한 반복
// 조건식이 true이기 때문에 종료하지 않음.
while (true){
// 메뉴출력
System.out.println("1. 입력");
System.out.println("2. 출력");
System.out.println("0. 종료"); // 메뉴가 추가가 되어도 영향을 받지 않을 숫자로 정하기
// 메뉴입력
System.out.print("입력> ");//안내 문구
menu = scanner.nextLine();//문자열로 입력
// 메뉴 입력에 따른 기능 분기, if, switch로 처리
// 종료처리
// if("0".equals(menu))
if(menu.equals("0")){
System.out.println("프로그램 종료");
break; // return 사용가능
}
// 나머지 메뉴 처리
switch(menu){
//입력처리 기능
case "1":
System.out.println("입력을 실행합니다.");
break;
//출력 처리 기능
case "2":
System.out.println("출력을 실행합니다.");
break;
default:
System.out.println("다시 입력해 주세요.");
}
}
}
}
예) 프로그램 실행
// controllerclass를 시작하는 역할
public class MainClass {
public static void main(String[] args) {
// controllerclass의 인스턴스를 생성하여 프로그램을 실행
ControllerClass cc = new ControllerClass();
cc.run();
}
}
// main 메소드가 있는 클래스로 실행할 것
콘솔 출력 p 67~70
1) println(); 괄호 안의 내용을 출력하고 줄을 바꿈, 괄호 안이 비어있으면 줄만 바꿈
2) print(""); 괄호 안의 내용을 출력하고 줄을 바꾸지 않음, 괄호 안이 비어있을 경우 오류
3) printf("출력형식", 수식1, 수식 2,....); 출력형식에 맞게 수식 목록의 내용을 출력
수식 : 변수, 리터럴 등
출력형식에서 사용하는 기호 : %
정수 : %d.
실수 : %f.
문자열 : %s.
기타 : 이스케이프 문자
public class PrintOperation {
public static void main(String[] args) {
int a = 10;
float b = 3.14F;
String s = "hello";
//print
System.out.print("a : " + a);
System.out.println(); //줄 바꿈
System.out.print("b : " + b);
System.out.println();
System.out.print("s : " + s);
System.out.println();
//printf
System.out.println(a + " " + b + " " + s);
System.out.printf("변수들의 값은 %d, %f, %s 입니다.\n", a,b,s);
System.out.printf(" a : %010ddn\n", a);
//10은 자릿수 +왼쪽, - 오른쪽 방향을 설정, d를 하나 더 쓰면 문자로 인식, 앞에 0을 쓰면 0으로 채워짐
for(int i = 1; i < 10; i++){
System.out.printf("2 * %d = %02d\n", i, (i*2));
} // 앞에 숫자 0을 출력해줌 02, 04
System.out.printf("%7.2f\n", b); // 4.2까지 포함하여 7칸
}
}
'공부기록 > Java' 카테고리의 다른 글
4월 11일 (1) Java - 배열, 리스트 (0) | 2023.04.11 |
---|---|
4월 10일 (2) Java - 참조 변수, 배열 (0) | 2023.04.10 |
4월 7일 (2) Java - 연산자 (0) | 2023.04.07 |
4월 7일 (1) Java - 인스턴스, 형 변환, Scanner (0) | 2023.04.07 |
4월 6일 (2) Java - 변수, 자료형 (0) | 2023.04.06 |