1. 탈출문 (break, continue, return)
탈출문은 프로그램의 실행 흐름을 제어하여 반복문이나 블록 구조에서 빠져나오게 하는 문장입니다. 자바에서 주로 사용하는 탈출문으로는 break
, continue
, return
이 있습니다. 각각의 역할과 사용 방법을 알아보겠습니다.
1.1. break
문
- 반복문 내에서 어떤 조건을 만족할 때 즉시 반복문을 종료하고 빠져나오도록 합니다.
- 중첩 반복문에서는 내부 반복문에서
break
를 사용하면 해당 내부 반복문만 종료됩니다. - 외부 반복문까지 종료하려면 외부 반복문에 라벨(label)을 붙이고
break label;
형태로 사용해야 합니다.
예시
for (int i = 0; i < 5; i++) {
if (i == 3) {
break; // i가 3일 때 반복문 종료
}
System.out.println(i);
}
중첩 반복문에서 break
라벨 사용
outer: // 외부 반복문에 라벨 지정
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 3) {
break outer; // 외부 반복문까지 종료
}
}
}
1.2. continue
문
continue
는 반복문 내에서 특정 조건을 만족할 경우, 그 뒤의 코드를 건너뛰고 다음 반복으로 넘어갑니다.continue
문이 실행되면 현재 반복 주기의 나머지 코드를 실행하지 않고 반복문의 맨 처음으로 돌아갑니다.
예시
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue; // i가 3일 때 아래 코드를 건너뛰고 다음 반복으로 넘어감
}
System.out.println(i);
}
1.3. return
문
return
문은 메서드를 즉시 종료하고, 메서드 호출 지점으로 돌아가는 역할을 합니다.- 메서드의 반환 값이 필요할 경우,
return
문을 통해 값을 반환할 수 있습니다. void
메서드에서는 반환값 없이 메서드를 종료하는 데 사용됩니다.
예시
public int sum(int a, int b) {
return a + b; // 메서드 실행 종료 후 결과값 반환
}
2. 데이터 타입(Data Types)
자바의 데이터 타입은 크게 기본 데이터 타입(Primitive Type)과 참조 데이터 타입(Reference Type)으로 나뉩니다.
2.1. 기본 데이터 타입
기본 데이터 타입은 자바에서 메모리에 바로 값을 저장하는 타입입니다. 종류와 크기는 다음과 같습니다:
타입 | 크기 | 범위 또는 값 |
---|---|---|
byte |
1 byte | -128 ~ 127 |
short |
2 byte | -32,768 ~ 32,767 |
int |
4 byte | -2^31^ ~ 2^31^-1 |
long |
8 byte | -2^63^ ~ 2^63^-1 |
float |
4 byte | 소수점 이하 7자리 |
double |
8 byte | 소수점 이하 15자리 |
char |
2 byte | 유니코드 문자 |
boolean |
1 byte | true 또는 false |
2.2. 참조 데이터 타입
참조 데이터 타입은 객체의 주소를 저장하는 타입입니다. 대표적인 참조 타입으로는 배열, 클래스, 인터페이스 등이 있습니다.
3. 캐스팅 (Casting)
캐스팅은 데이터 타입을 변환하는 과정입니다. 자바에서 타입 변환은 묵시적(자동) 또는 명시적(강제)으로 이루어집니다.
3.1. 묵시적 캐스팅 (자동 타입 변환)
더 큰 데이터 타입으로 자동 변환되는 경우입니다.
int num = 10;
double d = num; // int → double 자동 변환
3.2. 명시적 캐스팅 (강제 타입 변환)
더 작은 데이터 타입으로 변환할 때는 명시적으로 캐스팅해야 합니다.
double d = 9.8;
int num = (int) d; // double → int 강제 변환
4. 연산자(Operators)
자바의 연산자는 크게 산술 연산자, 비교 연산자, 논리 연산자로 구분됩니다.
4.1. 산술 연산자
- 덧셈(
+
), 뺄셈(-
), 곱셈(*
), 나눗셈(/
), 나머지(%
)
4.2. 비교 연산자
==
,!=
,>
,<
,>=
,<=
4.3. 논리 연산자
- 논리곱(
&&
): 두 조건이 모두 참일 때 참 - 논리합(
||
): 두 조건 중 하나만 참이면 참 - 부정(
!
): 조건의 참과 거짓을 반전
5. 자바의 조건문: if
와 switch
5.1. if
문
if
문은 조건에 따라 코드의 실행 흐름을 제어할 때 사용합니다.
int num = 10;
if (num > 0) {
System.out.println("양수입니다.");
} else {
System.out.println("0 또는 음수입니다.");
}
5.2. switch
문
switch
문은 하나의 값을 기준으로 여러 경우의 코드를 선택적으로 실행합니다.
int day = 2;
switch (day) {
case 1:
System.out.println("월요일");
break;
case 2:
System.out.println("화요일");
break;
default:
System.out.println("기타 요일");
break;
}
6. 반복문(Loops)
6.1. for
문
for (int i = 0; i < 5; i++) {
System.out.println("i의 값: " + i);
}
6.2. while
문
int i = 0;
while (i < 5) {
System.out.println("i의 값: " + i);
i++;
}
6.3. 향상된 for
문
배열이나 컬렉션의 모든 요소를 간편하게 순회합니다.
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.println(num);
}
7. 자바 메서드(Method)
메서드는 반복되는 코드를 구조화하여 코드 재사용성을 높이는 기능입니다. 객체지향 프로그래밍에서는 객체가 수행하는 기능을 메서드로 구현합니다.
7.1. 메서드 선언 방법
<반환 유형> <메서드 이름>(매개변수) {
// 메서드의 기능 구현
}
예시
public int sum(int a, int b) {
return a + b; // a와 b의 합을 반환
}
7.2. 메서드 사용 예시
public class Calculator {
public int add(int x, int y) {
return x + y;
}
public static void main(String[] args) {
Calculator calc = new Calculator();
int result = calc.add(5, 10);
System.out.println("결과: " + result); // 출력: 결과: 15
}
}
8. 자바 클래스(Class)와 객체(Object)
자바에서 클래스는 객체를 만들기 위한 틀입니다. 클래스는 속성(변수)과 기능(메서드)을 포함합니다.
- 클래스: 객체를 만들기 위한 설계도
- 객체: 클래스를 기반으로 생성된 **실제 인
스턴스**
8.1. 클래스 선언
public class Pen {
String color;
int inkLevel;
public void write() {
System.out.println("펜으로 글씨를 씁니다.");
}
}
8.2. 객체 생성
Pen myPen = new Pen(); // Pen 클래스의 객체 생성
9. 생성자(Constructor)
생성자는 객체가 생성될 때 초기화 작업을 수행하는 특별한 메서드입니다. 클래스 이름과 동일하게 작성하며, 반환 타입이 없습니다.
public class Person {
String name;
// 생성자
public Person(String name) {
this.name = name;
}
}
객체 생성 시 생성자 호출
Person p = new Person("John"); // "John"으로 name 초기화
'🗄️ Backend > Java' 카테고리의 다른 글
JAVA 예외 처리(Exception Handling)와 가비지 컬렉션 (Garbage Collection) (1) | 2024.10.10 |
---|---|
JAVA 패키지와 객체지향 개념 정리 (0) | 2024.10.10 |
JAVA 배열과 제어문(반복문) 정리 (0) | 2024.10.10 |
JAVA 연산자 총정리: 개념부터 예제까지! (3) | 2024.10.10 |
JAVA 변수와 데이터 타입: 개념부터 실습까지 (0) | 2024.10.10 |