목차

    ⏳ Time Log/1. One Day (Daily · TIL)

    [TIL] Day 04 — Java 연산자 및 HTML 심화

    this.Serena 2026. 2. 18. 23:32

    [TIL] Day 04 — Java 연산자 및 HTML 심화

    날짜: 2025-10-23
    기술 스택: Java HTML CSS Git
    부트캠프: DevOps 개발자 부트캠프 1주차


    연산자 정리

    증감 연산자

    int i = 5;
    System.out.println(++i); // 선위: 먼저 +1 후 출력 → 6 출력, i=6
    System.out.println(i++); // 후위: 먼저 출력 후 +1 → 6 출력, 이후 i=7
    구분 표현 동작
    선위(prefix) ++i 연산 전 증가
    후위(postfix) i++ 연산 후 증가

    비교 연산자

    연산자 의미
    == 같다
    != 다르다
    >, >= 크다, 크거나 같다
    <, <= 작다, 작거나 같다

    논리 연산자

    연산자 의미 예시
    && AND — 둘 다 참이어야 참 a>0 && b>0
    || OR — 하나만 참이어도 참 a>0 || b>0
    ! NOT — 결과 반전 !true → false

    비트 논리 연산자

    연산자 의미
    & AND
    | OR
    ^ XOR (두 비트가 달라야 1)
    ~ NOT (비트 반전)

    삼항 연산자

    // 형식: (조건식) ? 참일 때 값 : 거짓일 때 값
    String result = (age >= 20) ? "성인" : "미성년";
    int remainder = (num % 2 == 0) ? 0 : 1; // 짝수/홀수 판별

    문자열 비교 — == vs .equals()

    String s1 = "hello";
    String s2 = "hello";
    String s3 = new String("hello");
    String s4 = new String("hello");
    
    s1 == s2        // true  (같은 리터럴 풀 참조)
    s3 == s4        // false (new로 각각 다른 객체 생성)
    s3.equals(s4)   // true  (내용 비교)
    • ==: 주소(참조) 비교 → new String()으로 만든 객체끼리는 false
    • .equals(): 내용(문자 자체) 비교 → 문자열 비교는 항상 .equals() 사용

    조건문 기초

    if (score >= 90) {
        System.out.println("A");
    } else if (score >= 80) {
        System.out.println("B");
    } else {
        System.out.println("C");
    }

    HTML 이미지 및 링크

    <!-- 이미지 -->
    <img src="images/photo.jpg" alt="사진 설명" style="width: 500px; height: 600px;">
    
    <!-- 링크 target 속성 -->
    <a href="https://example.com" target="_blank" rel="noopener noreferrer">새 탭에서 열기</a>
    target 값 동작
    _blank 새 탭/창에서 열기
    _self 현재 탭에서 열기 (기본값)
    _parent 부모 프레임에서 열기
    _top 최상위 프레임에서 열기

    상대경로 vs 절대경로

    상대경로: ../images/photo.jpg (현재 파일 기준)
    절대경로: C:\Users\user\images\photo.jpg (Windows 루트 기준)
    웹 절대경로: /images/photo.jpg (웹 서버 루트 기준)

    트러블슈팅

    Live Server에서 이미지가 안 보일 때

    • 원인: Live Server는 웹 서버로 동작 → 프로젝트 루트 밖 파일 접근 차단
    • 해결: 이미지 파일을 프로젝트 폴더 안으로 이동 후 상대경로로 참조
    • ../../바탕화면/photo.jpg 같은 경로는 Live Server에서 동작 안 함

    Scanner 관련

    • nextLine() 이후 개행문자 잔류 문제 → Integer.parseInt(sc.nextLine()) 패턴 사용 권장

    Git 커밋 루틴

    git add .
    git commit -m "커밋 메시지"
    git push origin main

    더 알아볼 것

    • 비트 연산자 실제 활용 사례 (플래그, 마스킹)
    • overflow/underflow 실제 코드로 확인
    • switch 조건문 문법 및 break 역할
    • HTML table 태그 구조 (thead, tbody, tr, td)
    • CSS 상대단위(em, rem, %)와 절대단위(px) 차이