- while문은 for문보다 간단하게 사용할 수 있는 반복문
- while(조건) { //반복적으로 실행될 소스코드 }
- 조건이 true면 반복하여 블록안의 소스코드를 실행 ex) int num = 1; int sum = 0; while(num <= 10) { sum += num++; }
- for문과 마찬가지로 조건이 false일 경우 반복문이 종료된다.
- for문과 다른점은 초기화식이나 증감식을 사용할 수 없다. 오직 조건식만 명시한다.
- do~while문은 while문과 다르게 조건과 상관없이 소스코드를 무조건 한번 실행한 후 while의 조건식을 검사하기 시작
- while의 조건이 true일 때 반복적으로 실행 ex) int sum = 0; int num = 1; do { sum += num++; // 무조건 1회 실행 후 조건이 true일때 반복적으로 실행 }while(num <= 100)
-
for문안에 for문을 다시 선언하여 반복시키는 형태
-
for()
{
for()
{}
}
//29까지 8번 반복9까지 9번 반복
for(int i = 2; i <= 9; i++)
{
//1
for(int j = 1; j<=9; j++)
}
// 가로가 8칸짜리 세로가 9칸짜리의 바둑판을 생각하면 편함 i열 1번증가할때 j열 9번 증가 -
위의 for문의 조건이 true일 경우 안의 for문을 반복실행한 후 다시 위의 for문의 증감식으로 돌아와서 조건을 비교한다.
- continue문 : 반복문 안의 소스코드에서 continue를 만나게 되면 다시 반복문으로 돌아가서 for문에서는 증감식을 다시 실행, while문에서는 조건식이 true인지 다시 검사
- break문 : 반복문을 종료시키는 구문. 반복문안의 소스코드에서 break문을 만나면 현재 실행되고 있는 반복문을 종료.
- while(true)
{
// while(true)는 식을 무한으로 반복함 break; 요구
} - while(1>0)
{
// while(조건)에서는 조건이 달성 될때까지 식 반복
}
- 객체지향 프로그래밍은 Java의 특징중 하나로써 객체(부품)을 만들어서 조립하는 과정을 통해 프로그램ㅇ을 완성해가는 방식
- 객체(부품)을 만듣ㄹ기 위해서는 클래스 (부품을 만드는 설계도)를 먼저 생성해야 한다.
- 클래스(설계도)가 객체지향 프로그램의 핵심이 됩니다.
- 객체는 모든 사물이 객체의 대상이 된다. 이 객체는 고유의 속성과 기능을 가지고 있는 물체.
ex) 객체명 {
속성들(변수)
기능들(함수(메소드))
} - 객체의 속성들을 멤버변수라고 부르며, 기능들은 멤버메소드나 멤버함수라고 부른다.
- 메소드는 기능 하나를 수행하는 소스코드의 집합
- 메소드를 만드는 방식
접근제어자(public/private/protected) 반환타입(int/string...) 메소드명(메소드에서 받을 인자변수)
{
메소드에서 실행할 기능 소스코드
} - 접근제어자 : 클래스, 변수, 메소드 앞에 지정할 수 있고 각각의 접근제어자에 따라 접근할 수 있는 범위가 달라짐. 접근제어자는 생략가능하고 생략하면 default 접근제어자로 인식.
- 접근제어자 범위
public > protected > default > private
public : 같은 클래스 멤버, 같은 패키지에 속해있는 클래스, 자식(해당 클래스를 상속받은) 클래스, 그외의 모든 영역에서 접근이 가능한 접근 제어자
protected : 같은 클래스의 멤버, 같은 패키지에 속해있는 클래스, 자식(해당 클래스를 상속받은) 클래스에서 접근이 가능
default : 같은 클래스의 멤버, 같은 패키지에 속해있는 클래스에서 접근 가능 private : 같은 클래스의 멤버끼리만 접근 가능 - 반환 타입 : 메서드가 종료된 후 메서드를 호출한 부분에 넘겨준 값의 타입.
void : 반환타입이 없을때 사용
int, long, char, 클래스... : 해당 형태의 값을 return해줘야 한다. - 매개변수 : 메서드 호출하는 영역에서 메서드에 값을 전달하기 위해 미리 메서드 선언시 정의해놓은 변수, 항상 호출하는 부분에서는 메서드에 정의되어 있는 매개변수의 타입과 개수, 순서는 맞춰야된다.
ex) public int add(int a, int b)
{
return a + b;
} // 메소드에 정의되어 있는 매개변수의 타입, 개수, 순서를 맞춰야된다. add(3, 1); - 같은 이름과 같은 매개변수를 갖는 메소드는 한 번만 생성할 수 있다.
- 같은 이름의 매개변수의 타입이나 개수가 다르게 만들어지는 메서드들을 오버로딩.
ex) public int add(int a, int b){
} -> 오버로딩(다른 메서드로 인식) == 동일한 이름이지만 메서드 내용은 다름
