
Java 기본 코드해석
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
자바 프로젝트(앱)는, 제일 먼저 클래스의 main 메소드를 실행 시킨다!
public : (접근)제어자
static : 이 프로그램이 시작될 때 무조건 실행되는 녀석임을 표현
output
void : 메서드의 출력값의 데이터 타입
void : "아무것도 없다." -> 출력은 없다.
input
String[] args : 매개변수 자리
args -> 변수명은 아무거나 써도 상관없다!
!!!제일 중요!!!
객체 : 특징(속성,변수), 행동(메소드)
.(온점) -> 하위요소를 표현할때 사용
ex) System.out.println
// -> description(주석) 협업할때 중요함
import : im(in) + port(항구)
-> main.java 코드 안쪽으로 외부에서 정보를 가져와서 쓰는 것이다.
Java 변수와 상수
값의 타입 : 저장공간(그릇)의 종류
값의 이름 : 저장공간(그릇)의 이름
선언과 할당 순으로 진행한다.
int number = 10; //초기화 후 할당
number = 11; //선언과 함께 할당 후 이후에 덮어쓰기
final int number = 10; //final 상수로 선언
number = 11; // 에러 발생
변수타입
기본형 : 숫자형, 문자형, Boolean(참거짓등)
-정수형 변수 : byte, short, int, long
-실수형 변수 : float, double
표현범위가 매우 넓다 -> 자동 형 변환 불가
-문자형 변수 : char
'A','1' 문자 하나만 저장 ''로 사용해야 문자형으로 인식
-Boolean 논리형 변수 - true 1 / false 0
참조형(주소형 변수) : 실제값이 아닌 원본값의 주소값은 저장한다 (별도저장)
-메모리 저장 영역
-문자열 변수 : String / "apple","텍스트"와 같은 문장을 저장합니다. ""로 사용해야 문자열로 인식
-그 외 : Object, Array, List ... 객체, 배열, 리스트와 같은 단일 저장공간에 담을수 없는 값을 저장
// 박싱
int number = 21;
Integer num = new Integet(number); // Integer 래퍼 클래스 num 에 21 의 값을 저장
// 언박싱
int n = num.intValue(); // 래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공해줍니다
기본형 변수는 '소문자로 시작함', 참조형 변수는 '대문자로 시작함'
-Wrapper class에서 기본형 변수를 감싸줄 때(boxing), int -> Integer
기본형 변수는 값 자체를 저장, 참조형 변수는 별도의 공간에 값을 저장 후 그 주소를 저장함 (= 주소형 변수)
-char
문자 뒤에 \0(널문자)가 없다
1byte 만 쓰기 때문에 끝을 알 수 있음
' ' 사용 ex) 'a','1'
기본형 타입
-string
문장 끝에 \0(널문자)가 함꼐 저장 됨
몇개의 byte를 쓸지 모르기 때문에 표시함
" " 사용 ex) "Hello world!"
참조형 타입
변수 타입간 변환(형변환)
double doubleNumber = 10.101010;
float floatNumber = 10.1010
int intNumber;
intNumber = (int)doubleNumber; // double -> int 형변환
System.out.println(intNumber); // 출력결과 10
intNumber = (int)floatNumber; // float -> int 형변환
System.out.println(intNumber); // 출력결과 10
byte(1) -> short(2) -> int(4) -> long(8) -> float(4) -> double(8)
byte byteNumber = 10;
int intNumber = byteNumber; // byte -> int 형변환
System.out.println(intNumber); // 출력결과 10
char charAlphabet = 'A';
intNumber = charAlphabet; // char -> int 형변환
System.out.println(intNumber); // 출력결과 A의 유니코드 : 65
intNumber = 100;
long longNumber = intNumber; // int -> number 형변환
System.out.println(longNumber); // 출력결과 100
intNumber = 200;
double doubleNumber = intNumber; // int -> double 형변환
System.out.println(doubleNumber); // 출력결과 200.0
-자동 형변환 : 작은 타입에 크기에서 큰 크기의 타입 저장 될때
-강제 형변환 : 큰 타입에 크기에서 작은 타입의 크기로 형변화시 값의 손실이 생김
📝오늘의 회고
Java 1주차 기초 및 코드 읽는 법을 배웠고 아직 배워야 할 것이 많이 남았다! 기본기부터 탄탄히 다지고 가야 한다.
쳐지지 말고 포기하지말고 힘내서 가보자고~~~