Continue란? 반복문과 함께 쓰이며, 반복문안에서 continue문을 만나면 이후의 문장을 수행하지않고 for문의 처음으로 돌아가 증감식을 수행함
public static void main(String[] args) {
for(int i = 0; i<10; i++) {
if(i % 2 != 0) {
continue;
}
System.out.println("i: " + i);
}
}
Continue 다음 반복을 계속 하라
결과

int i = 0;
while(i < 10) {
if(i % 2 != 0) {
i++;
continue;
}
System.out.println("i: " + i);
i++;
}

MenuTree
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean loopFlag1 = true;
while(loopFlag1) {
char select = '\0';
System.out.println("========<<식당 메뉴>>========");
System.out.println("1. 김밥천국");
System.out.println("2. 탄탄면");
System.out.println("3. 홍대개미");
System.out.println("4. 밤앤밥");
System.out.println("===========================");
System.out.println("q. 프로그램 종료");
System.out.println("===========================");
System.out.println("식당 선택: ");
select = sc.next().charAt(0);
if(select == 'q'|| select =='Q') {
loopFlag1 = false;
}
else if(select =='1') {
boolean loopFlag2 = true;
while(loopFlag2) {
System.out.println();
System.out.println("========<<김밥천국>>=========");
System.out.println("** 1. 컵라면 || 5000원 **");
System.out.println("** 2. 돌솥비빔밤 || 7000원 **");
System.out.println("** 3. 오므라이스 || 6000원 **");
System.out.println("** 4. 김치볶음밤 || 5500원 **");
System.out.println("===========================");
System.out.println("** b. 뒤로가기 **");
System.out.println("** q. 프로그램 종료 **");
System.out.println("===========================");
System.out.println("메뉴 번호 선택: ");
select = sc.next().charAt(0);
if(select =='b'||select =='B') {
loopFlag2 = false;
}else if(select =='q'||select =='Q') {
loopFlag1 = false;
loopFlag2 = false;
}else if(select =='1') {
System.out.println("컵라면을 선택했습니다.\n5000원입니다.");
}else if(select =='2') {
System.out.println("돋솥비빔밥을 선택했습니다.\n7000원입니다.");
}else if(select =='3') {
System.out.println("오므라이스를 선택했습니다.\n6000원입니다.");
}else if(select =='4') {
System.out.println("김치볶음밥을 선택했습니다.\n5500원입니다.");
}else {
System.out.println();
System.out.println("xxxxxxxxxxxxxxxxxxxx");
System.out.println("사용할 수 없는 번호입니다.");
System.out.println("다시 입력하세요.");
System.out.println("xxxxxxxxxxxxxxxxxxxx");
}
}
}else if(select == '2') {
}else if(select == '3') {
}else if(select == '4') {
}else {
System.out.println();
System.out.println("xxxxxxxxxxxxxxxxxxxx");
System.out.println("사용할 수 없는 번호입니다.");
System.out.println("다시 입력하세요.");
System.out.println("xxxxxxxxxxxxxxxxxxxx");
}
System.out.println("프로그램 정상 종료!");
}
}
}
핵심 키워드
boolean loopFlag = true;
why?
이중 while문을 사용할 경우 바깥 while문을 빠져나갈 수 없기 때문
idea
응용

함수의 종류 중 클래스 내부에 정으되어 있는
함수를 메서드라 한다
호이스팅???
메서드의 4가지 형태
매개변수: X, 반환: X
public static void method1() {
System.out.println("단순 실행");
System.out.println();
}
매개변수: O, 반환: X
public static void method2(int num) {
System.out.println("num: " + num);
}
public static String method4() {
return "데이터 반환";
}
public static String method5(int age) {
return age + "살";
}
언제 메서드 ??? 언제 함수???
메서드 명은 동일하게, 매개변수의 타입과 개수를 다르게 함으로써 중복으로 정의하는 기법
대표적인 오버로딩된 메서드
System.out.println();
X
변수는 명사로 이름을 짓고, 메서드는 동사로 이름을 짓는다
절차 지향언어의 반대가 객체지향 언어가 아니다!객체지향 언어도 절차지향언어에 속하지만 객체라는 녀석들의 관계가 추가된 것`객체에 대하여 정의해 놓은 설계도 혹은 틀`
`클래스를 통해 구현 할 수 잇는 모든 대상`
`해당 클래스로 구현한 인스턴스를 대표하는 의미
`
`객체가 실제로 구현된 것`
Stack & Heap
문)
변수
username
password
name
메소드
printUserInfo()
아이디: aaa
비밀번호: 1234
이름: 홍길동
이메일: aaa@gmail.com
프로그램을 작성하시오.
User 부
public class User {
String username;
String password;
String name;
String email;
void printUserInfo() {
System.out.println("아이디: " + username);
System.out.println("비밀번호: " + password);
System.out.println("이름: " + name);
System.out.println("이메일: " + email);
}
}
UserMain 부
public class UserMain {
public static void main(String[] args) {
User user1 = new User();
user1.username = "aaa";
user1.password = "1234";
user1.name = "홍길동";
user1.email= "aaa@gmail.com";
user1.printUserInfo();
}
}
실행결과
