Java 문법 기초(2)

2024. 7. 24. 02:25·DEV/Java & Spring

 

Chapter 3. 연산자

 

1. 연산자와 피연산자

  • 연산자: 계산을 수행하는 기호 (예: +, -, *)
  • 피연산자: 연산자의 대상이 되는 값 (예: 5, 10)
int x = 5;
int y = 10;
int z = x + y; // 5(피연산자) + 10(피연산자)
System.out.println(z); // 출력값: 15

 

2. 연산자 종류

  • 산술 연산자
    • 사칙연산 및 비트연산 포함 (+, -, *, /, %)
System.out.println(4 + 2); // 6
System.out.println(4 - 2); // 2
System.out.println(4 * 2); // 8
System.out.println(4 / 2); // 2
System.out.println(5 % 2); // 1

 

  • 비교 연산자
    • 값의 크기와 같음을 비교 (>, <, >=, <=, ==, !=)
System.out.println(10 > 9); // true
System.out.println(10 == 10); // true
System.out.println(10 != 9); // true
  • 논리 연산자
    • boolean 값을 연결하여 참/거짓을 조합 (&&, ||, !)
boolean flag1 = true;
boolean flag2 = false;
System.out.println(flag1 && flag2); // false
System.out.println(flag1 || flag2); // true
System.out.println(!flag1); // false
  • 대입 연산자
    • 값을 변수에 대입하거나 변수에 연산한 값을 다시 대입 (+=, -=, *=, /=, %=, ++, --)
int number = 10;
number += 2;
System.out.println(number); // 12

 

  • 기타 연산자
    • 형변환 연산자: 타입을 변환
    • 삼항 연산자: 조건에 따라 다른 값을 반환
    • instance of 연산자: 객체가 특정 클래스의 인스턴스인지 확인
int intNumber = (int) 98.8;
boolean b = (1 == 2) ? true : false; // false

 

3. 연산자 우선순위

  • 연산자의 우선순위에 따라 계산 순서가 결정됨 (산술 > 비교 > 논리 > 대입)
  • 괄호를 사용하여 우선순위를 명시적으로 지정 가능
boolean result = 2 + 2 * 2 > 5; // false
result = (2 + 2) * 2 > 5; // true

 

4. 산술변환

  • 연산 전에 피연산자의 타입을 일치시킴

Chapter 4. 조건문과 반복문

 

1. 조건문

  • if문
    • 조건에 따라 실행되는 코드 블록을 결정함
    • 기본 형태: if (조건) { 실행할 코드 }
int score = 85;
if (score > 80) {
    System.out.println("Good job!");
}

 

  • if-else문
    • 조건이 참일 때와 거짓일 때 실행되는 코드 블록을 구분
int score = 75;
if (score > 80) {
    System.out.println("Good job!");
} else {
    System.out.println("Try harder!");
}

 

  • if-else if-else문
    • 여러 조건을 순차적으로 검사
int score = 85;
if (score > 90) {
    System.out.println("Excellent!");
} else if (score > 80) {
    System.out.println("Good job!");
} else {
    System.out.println("Try harder!");
}

 

  • switch문
    • 변수의 값에 따라 실행되는 코드 블록을 결정
    • bireak; 를 반드시 넣어야함
int day = 3;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Invalid day");
        break;
}

 

2. 반복문

  • for문
    • 특정 조건에 따라 연산을 반복해서 수행하고 싶을때 사용하는 문
    • 고정된 횟수만큼 반복
for (int i = 0; i < 5; i++) {
    System.out.println("Hello, world!");
}
  • while문
    • 조건이 참일 동안 반복
    • 무한루프 조심 
int number=0;
while(number<3){//number<3인 동안~
    number++;//0+1. . . 
    System.out.println(number+"출력");
}

//1출력 2출력 3출력

 

  • do-while문
    • do를 한 후에 while
    • 최소 한 번은 실행 후 조건이 참일 동안 반복
int number = 4;
        do{
            //이 로직을 먼저 수행
            System.out.println(number + "출력!");
        }while(number < 3);
        
//4출력

 

  • break문
    • 가장 가까운 블록의 for문 또는 while, switch 문을 중단함
int number=0;
while(number<3){
    number++;
    if(number==2){
        break;
    }
    System.out.println(number+"출력");
}

//1출력
for(int i=0; i<10; i++){
           System.out.print("i:" + i);
           if(i == 2){
               break; //i가 2일 때, 가장 바깥 반복문이 종료
           }
           for(int j=0; j<10; j++){
               System.out.print("j:" + j);
               if(j == 2) {
                   break; //j가 2일 때, 안쪽 반복문이 종료
               }
           }
       }
       
 //i:0j:0j:1j:2i:1j:0j:1j:2i:2
//countinue
int number=0;
while(number<3){
    number++;
    if(number==2){
        continue;
    }
    System.out.print(number+"출력!");
}

//1출력!3출력!

 

Chapter 5. 배열

 

1. 배열 선언 및 초기화

  • 동일한 데이터 타입의 집합을 저장
int[] numbers = new int[5];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;

 

2. 배열 요소 접근 및 사용

  • 인덱스를 통해 접근
int[] numbers = {10, 20, 30, 40, 50};
for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}

 

3. 다차원 배열

  • 배열의 배열, 행과 열로 구성
int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
System.out.println(matrix[0][0]); // 1

 

Chapter 6. 컬렉션

1. List 인터페이스

  • 요소의 순서를 유지하며 중복 허용
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
for (String fruit : list) {
    System.out.println(fruit);
}

 

2. Set 인터페이스

  • 중복을 허용하지 않음
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
for (String fruit : set) {
    System.out.println(fruit);
}

 

3. Map 인터페이스

  • 키와 값의 쌍으로 저장
Map<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
for (String key : map.keySet()) {
    System.out.println(key + ": " + map.get(key));
}

 

 

'DEV/Java & Spring' 카테고리의 다른 글
  • QueryDSL을 활용한 동적 쿼리와 검색 최적화
  • QueryDSL Qclass 생성 오류 해결
  • MVC 패턴
  • Java 문법 기초(1)
fargoe
fargoe
    fargoe
    fargoewave
    fargoe
    GitHub
    전체
    오늘
    어제
    • 분류 전체보기 (166)
      • TIL 🔖 (140)
        • TIL (69)
        • 코딩테스트 (71)
      • DEV (14)
        • Java & Spring (7)
        • MySQL (3)
        • Git&Github (4)
      • 개발지식 (10)
        • 알고리즘 (2)
        • 자료구조 (8)
        • CS (0)
      • 3D (1)
        • Unity (1)
      • ETC (0)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
fargoe
Java 문법 기초(2)
상단으로

티스토리툴바