목차
[TIL] Day 03 — Java 기본 문법 및 Git 설정
날짜: 2025-10-22
기술 스택: Java Git GitHub Scanner 형변환
부트캠프: DevOps 개발자 부트캠프 1주차
Java 기본 자료형 정리
| 자료형 | 크기 | 범위 | 특징 |
|---|---|---|---|
byte |
1byte | -128 ~ 127 | |
short |
2byte | -32,768 ~ 32,767 | |
int |
4byte | -2³¹ ~ 2³¹ - 1 | 정수 기본형 |
long |
8byte | -2⁶³ ~ 2⁶³-1 | 리터럴에 L 접미사 |
float |
4byte | ~7자리 | 리터럴에 f 접미사 필수 |
double |
8byte | ~15자리 | 실수 기본형 |
char |
2byte | 0 ~ 65535 | 유니코드, 작은따옴표 |
boolean |
- | true/false | |
String |
- | - | 참조 타입(객체) |
중요 구분: int, double, boolean은 기본(primitive) 타입, String은 참조(reference) 타입
형변환 (Type Conversion)
자동 형변환 (Promotion) — 작은 타입 → 큰 타입 (데이터 손실 없음)
int i = 100;
double d = i; // 내부적으로 100 → 100.0 으로 변환됨
System.out.println(d); // 100.0변환 순서: byte → short → int → long → float → double
강제 형변환 (Casting) — 큰 타입 → 작은 타입 (데이터 손실 가능성 존재)
double d = 3.14;
int i = (int) d; // (int) 캐스팅 연산자 사용 → i = 3 (소수점 절삭)
System.out.println(i); // 3주의: 강제 캐스팅 시 소수점 절삭(truncation) 발생. int 범위 넘는 값은 데이터 손실(overflow) 발생.
Scanner 사용법
import java.util.Scanner; // 임포트 필수
Scanner sc = new Scanner(System.in);
String name = sc.nextLine(); // 한 줄 문자열 (공백 포함)
int age = Integer.parseInt(sc.nextLine()); // 문자열 입력 후 파싱 (혼용 방지)
double weight = Double.parseDouble(sc.nextLine());nextLine() vs nextInt() 혼용 주의
nextInt()이후nextLine()호출 시 개행문자(\n) 가 버퍼에 남아 빈 문자열이 입력됨- 해결책:
nextInt()대신Integer.parseInt(sc.nextLine())사용
Git / GitHub 초기 설정
최초 레포 연동
# 로컬 폴더에서 Git Bash 열기
git init
git add . # 모든 파일 스테이징
git commit -m "first commit"
git remote add origin [repo URL]
git push -u origin main다른 PC에서 클론
git clone [repo URL]
cd [프로젝트 폴더명]
git pull # 이후 원격 변경사항 반영 시 사용트러블슈팅
nextInt() 이후 nextLine() 입력이 건너뛰어질 때
- 원인:
nextInt(),nextDouble()등은 값만 읽고 개행문자(\n)를 버퍼에 남김. 이후nextLine()호출 시 남은 개행문자를 읽고 바로 종료됨 - 해결:
nextInt()대신sc.nextLine()으로 입력받고Integer.parseInt()/Double.parseDouble()로 파싱
// 잘못된 방식
int age = sc.nextInt();
String name = sc.nextLine(); // 개행문자 소비 → 빈 문자열
// 올바른 방식
int age = Integer.parseInt(sc.nextLine());
String name = sc.nextLine(); // 정상 입력
char 입력
- Scanner는
char직접 입력 지원 안 함 - 해결: 문자열로 입력받은 뒤 첫 번째 문자만 추출
char c = sc.nextLine().charAt(0);
더 알아볼 것
-
String이 참조 타입인 이유 —==vs.equals()비교 차이 - 범위 초과(overflow) 실제 예시 코드로 확인
- Git 기본 명령어 충돌 해결법 (
git status,git log,git reset) - GitHub 레포에서
.gitignore설정하는 방법 - 이스케이프 문자 종류 (
\n,\t,\",\\) 및 활용
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| [TIL] Day 05 — Java 제어문(조건문/반복문) 및 HTML Form 요소 (0) | 2026.02.18 |
|---|---|
| [TIL] Day 04 — Java 연산자 및 HTML 심화 (0) | 2026.02.18 |
| [TIL] Day 02 — Java 환경설정 및 Eclipse 기초 (0) | 2026.02.18 |
| [TIL] Day 01 — HTML/CSS 기초 및 개발 환경 설정 (0) | 2026.02.18 |