class 클래스이름
매소드
public static void main(String[] args)
{
System.out.printIn("Welcome to Java");
System.out.printIn("First Java Program");
System.out.printIn(3+5);
System.out.printIn("3+5=" +8);
}
}
주석
/* */
행 단위 주석
//
System.out.printIn();
줄바꾸기
System.out.print();
줄안바꾸기
조건 ? 수1 : 수2
조건이 true or false면
수1은 true시 반환.
수2는 false시 반환.
(num1 > num2) ? num1: num2
switch(n){
case 1:
n이 1이면 여기서부터 실행
case 2:
n이 2이면여기서부터실행
case 3:
3이 3이면 여기서부터 실행
default:
해당하는case 없으면 여기서 부터 실행
}
while(num < 5){
system.out.printIn("I like Java" + num);
num++;
}
do {
System.out.printIn("I like Java " + num);
num++;
} while(num < 5);
for(int i = 0; i<3; i++) {
System.out.printIn(...);
}
break문이 실행되면 가장 근접한 거리에서 자신을 감싸고 있는 반복문을 찾아서 해당 반복문을 빠져나간다.
continue
continue 문을 만나면 반복문의 나머지 부분을 실행하지 않고 반복문의 맨위로 이동을 하여 조건 검사부터 실행을 이어 나간다.
while(true) {
....
}
do{
}while(true)
for( ; ; ){
....
}
for문 도 반복의 조건을 명시하는 중간 부분에 true를 삽입하면 무한 루프가 형성된다.
아니면 다음과 같이 이 부분을 그냥 비워도 무한 루프가 형성된다.
메소드에 대한 이해
메소드 이름이 항상 main인 이유
"자바 프로그램은 main이라는 이름의 메소드에서부터 시작을 한다." 의 일종의 약속
추가로 만들게 될 메소드의 이름은 다음과 같이 직접 결정하면 된다.
public static void hiEveryone(int age){
System.out.printIn("좋은 아침입니다.");
}
메소드 hiEveryone을 실행하는 문장
hiEveryone(12);
12는 메소드 내에서만 유효한 변수이다.
매개변수 전달이 불필요한 경우에는 매개변수 선언 생략가능
byEveryone();
public static void byEveryone(){
System.out.printIn("ㅂㅇ");
}
값을 반환하는 매소드
return을 통해 메소드 내에서 메소드를 호출한 영역으로 값을 전달할 수 있다.
public static void main(String[] args)
public static int adder(int num1, int num2)
public static double square(double num)
void의 의미
"이 메소드는 값을 반환하지 않는다."
"adder 메소드는 int형 값을 반환합니다."
"square 메소드는 double형 값을 반환합니다."
return이 갖는 두 가지 의미
return문이 실행되면 메소드가 종료되면서 값이 반환된다.
메소드를 호출한 영역으로 값을 반환
메소드의 종료
void로 선언된 메소드 내에서도 값의 반환이 아닌 메소드의 종료를 목적으로 return문을 사용 가능
변수의 스코프(Scope)
'변수의 접근 가능 영역'
'변수가 소멸되지 않고 존재할 수 있는 영역'
중괄호로 특정 영역을 감싸면, 해당 영역은 변수에 관한 별도의 스코프를 형성하게 된다.
중괄호를 벗어나는 순간 소멸되어 접근이 불가능한 변수가 된다.
중괄호 내에 선언된 변수들을 가리켜 지역변수(Local Variable)이라고 한다.
메소드의 재귀 호출
재귀(Recursion)