[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
더 알아볼 것