개발자 학습/JAVA 복습

9월 25일 (2일차)(3월 8일 오후 영상 복습)

aelin14 2024. 9. 25. 14:45

9월 25일 (2일차)(3월 8일 오후 영상 복습)

- 변수 선언 위치아 용도에 따른 분류
로컬변수(local) : 메서드 안에서 선언
                       일시적으로 사용할 목적으로 주로 사용됨.
>저장 메모리 > stack 메모리
반드시 사용전에 초기화 해야한다.
인스턴스 변수(instance) : 메서드 밖에서 선언
                                   >heap 메모리
클래스 변수(class) : 메서드 밖에서 선언 + static
                     > method area 메모리

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

상수 (constant)
final 키워드 이용함, 대문자로 지정, 값 변경 불가

%%%%%%%%%%%%%%%%%%%%%%

데이터 형 변환

-

프로그램에서 값의 대입이나 연산을 수행할 때는 같은 타입끼리만 가능하다. 

출처: https://inpa.tistory.com/entry/JAVA-☕-타입-형변환-종류-방법-💯-총정리 [Inpa Dev 👨‍💻:티스토리]


- 한번 선언된 데이터형은 언제든지 변경이 가능하다.
- 큰 박스에 작은 박스는 저장 가능하고 역은 저장 불가
- char > int  형변환 가능
-정수형중에서 int보다 작은 타입의 연산 결과는 기본값인 int로 반환된다.
-작은데이터형과 큰 데이터의 연산결과는 큰 데이터형으로 반환된다.
-문자열+비문자열  ==> 문자열로 반환

-강제형변환 문법: 작은타입 = (작은타입)큰타입; // 형변환 연산자: (타입)

- 결론은 자바의 모든 데이터(기본형, 참조형(클래스))는 형변환이 가능하다.

%%%%%%%%%%%%%%%%%%%%%%%

콘솔에 값을 출력하는 방법

-자바를 기준으로 키보드로 입력(input)되는게 표준입력
모니터로 출력(output)되는게 표준출력 이다.

-기본적으로 데이터를 입출력할때는 byte 또는 char로만 가능하다. 
ex) "안녕하세요"  ->10byte, 아니면 안. 녕. 하. ... 이런식으로 그래서 문자열로 보낼 수 있는 중간 부분이 있다.

- println(값);     > 값 하나만 들어갈 수 있음. 그래서 쉼표를 쓸 수 없다. 여러개를 쓰려면 더하기로 연결해야함.
> 새로운 줄에 출력한다. (엔터친것처럼)
- print(값);
> 새로운 줄 없이 현재줄에 출력한다.
- printf("  ", 값...);  //...가변인자로 여러개 들어갈 수 있음을 명시 갯수가 정해져 있지 않은 것.
>https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Formatter.html#syntax



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
<참고사이트>

# Java 타입 형변환 원리 & 방법
https://inpa.tistory.com/entry/JAVA-%E2%98%95-%ED%83%80%EC%9E%85-%ED%98%95%EB%B3%80%ED%99%98-%EC%A2%85%EB%A5%98-%EB%B0%A9%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC

# final 키워드
https://www.devkuma.com/docs/java/final/
https://sudo-minz.tistory.com/135

# printf(), 이스케이프 문자, 형식 지정자
https://damy.tistory.com/3

# 그림으로 보는 자바 코드의 메모리 영역 (스택 & 힙)
https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EC%9D%98-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%98%81%EC%97%AD%EC%8A%A4%ED%83%9D-%ED%9E%99