- 더보기
오늘의 키워드
논리형 변수, 문자형 변수, 정수형 변수, 실수형 변수, 참조형 변수, 래퍼(Wrapper) 클래스 변수
- 나만의 내용정리
자바의 기본 틀
//클래스
//public : 제어자, public(공공의, 공통의)
public class Main {
//[JDK]
// (1) compiler : .java -> .class
// (2) JRE
// (3) JDB : 디버깅
// () : 소괄호
// {} : 중괄호
// [] : 대괄호
// main 메소드
// 자바 프로젝트(앱)는, 제일 먼저 클래스의 main 메소드를 실행시킨다.
// = JVM의 약속
// static : 이 프로그램이 시작될 때 무조건 먼저 실행되는 녀석임을 표현
//output
// void : 메서드의 출력값의 데이터 타입
// void : "아무것도 없다." -> 출력은 없다.
//input
//String[] args : 매개변수 자리
//
public static void main(String[] args) {
//객체 : 특징(속성, 변수), 행동(메소드)
System.out.println("Our first Project! :)");
}
}
- 기본형 변수
- 논리형 변수 : boolean
참(True)/거짓(False) 값만을 저장 한다.
//(1) boolean
// 변수를 선언해보자 => 타입 이름 = 값;
boolean flag = true; //특별한 이유가 없다면 한줄로
boolean flag;
flag = true; //true or false 가 아닌 다른 값 1 or 0 'A'이런 값을 넣으면 에러가 발생
- 문자형 변수 : char
'A', '1' 와 같은 문자 하나만 저장한다.
//(2) 문자형(char)
char alphabet = 'A';
- 정수형 변수 : byte, short, int, long
0,3.125,777 와 같은 정수형 숫자값을 저장한다.
//(3) 정수형(byte, short, int, long)
byte byteNumber = 127; // -128 ~ 127(1byte)
short shortNumber = 32767; // -32,768 ~ 32,767
int intNumber = 2147483647; // -2,147,483,648 ~ 2,147,483,647
long longNumber = 2147483647L; // -2^30 ~ 2^30-1
// long은 숫자 뒤에 알파벳 L을 붙여서 표기해야한다.
// long 처럼 데이터 값 뒤에 붙이는 구분값을 "접미사"라고 부른다.
- 실수형 변수 : float, double
0.123, 0.77777 와 같은 소수점 실수값을 저장한다.
//(4) 실수형
// float(4byte), double(8byte)
float floatNumber = 0.123F;
double doubleNumber = 0.1231231232;
- 참조형 변수
- 문자열 변수 : String
"Apple", " 애플" 와 같은 문장을 저장한다.
//(1) 문자열 변수
String helloworld = "Hello world!";
그 외 : Object, Array, List ...
객체, 배열, 리스트와 같은 단일 저장공간에 담을 수 없는 값을 저장한다.
//(2)배열
int[] a = {1, 2, 3};
System.out.println(Arrays.toString(a));
//배열의 출력방법은 다른 여타 변수들과는 다르다.
List<int> alphabet = [0,1,2,3]; // 기본형 변수 여러개를 저장합니다.
래퍼 클래스 변수
래퍼 클래스(Wrapper Class) 라는 말 그대로 “기본형 변수를 클래스로 한번 랩핑(감싸는) 변수” 라고 생각하라고 한다.
기본형 변수 타입명에서 첫글자를 대문자로 바꾸어서 래퍼 클래스를 정의해준다.
박싱과 언 박싱
- 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것을 "박싱"
- 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것을 "언박싱"
//래퍼 클래스(Wrapper Class 변수)
int number = 21;
Integer num = number; //boxing
//Integer 래퍼 클래스 num에 21의 값을 저장
System.out.println(num.intValue()); // unboxing
//래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공해줍니다.
int,Integer 외에도 모든 기본 타입에는 래퍼클래스가 존재
기본타입 | 래퍼클래스 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Char |
boolean | Boolean |
이러한 래퍼클래스를 사용하는 이유란?
클래스는 객체지향 언어인 Java 의 핵심기능이다.
핵심기능을 활용하기 위해 클래스로 변수를 관리하여 많은 기능을 사용한다.
추가로 Java프로그램에서는 기본적으로 Scanner.in 객체의 next() 명령을 사용해서 입력받을 수 있다.
Scanner sc = new Scanner(System.in); // Scanner 객체를 new 명령어로 생성한다.
String input = sc.next(); // sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받는다.
String input2 = sc.nextLine(); //으로 입력을 하여도 바로 입력되어 출력코드로 출력 되는 것이아닌 다음줄로 넘어간다.
또 추가적으로 변수 타입을 바꾸기 위한 작업으로 형변환이라는 것이 있다.
형변환
주로 기본형 변수인 정수 ↔ 실수 ↔ 문자 들 사이에서 일어난다.
//형변환 예제 : 변수의 타입을 바꾸는 방법
//문자열 -> 숫자
//정수 -> 실수
//실수 -> 정수
//double형 or float형 -> int
//실수 -> 정수(0.xxx -> 0)
double doubleNumber = 10.101010;
float floatNumber = 10.1010f;
//변환(int)
int intNumber;
/*System.out.println("Double Type => "+ doubleNumber);
intNumber = (int)doubleNumber;
System.out.println("Int Type => "+intNumber);
*/
intNumber = (int)floatNumber;
System.out.println("Float Type => "+ floatNumber);
System.out.println("Int Type => "+ intNumber);
//정수 -> 실수
int intNumber2 = 10;
double doubleNumber2 = (double)intNumber2;
float floatNumber2 = (float) intNumber2;
System.out.println("intNumber => "+ intNumber2);
System.out.println("doubleNumber => "+ doubleNumber2);
System.out.println("floatNumber => "+ floatNumber2);
이러한 방식으로 정수, 실수, 문자 사이의 변수 타입들을 변경하여 사용한다.
- 오늘의 회고
아직 기초 단계를 시작함에도 알아야할 내용이 많다. 하지만 한번에 외울 수는 없는 노릇이다. 어느정도 이해만 됐다면 빠르게 다음 스텝을 밟아 전에 배웠던 내용을 지금 배운 내용에 한번이라도 적용을 시켜 눈에 읽히게 만들어야겠다.
'내일배움캠프' 카테고리의 다른 글
내일배움 캠프 8일차 TIL - 객체 지향 언어 Java 클래스에 대해 알아보자 (1) | 2024.01.03 |
---|---|
내일배움캠프 7일차 TIL - Java의 컬렉션(Collection) List, Queue, Set, Map (0) | 2024.01.02 |
내일배움캠프 4일차 TIL - SQL 데이터 조회 및 엑셀 함수 적용 및 정렬 (0) | 2023.12.27 |
내일배움캠프 3일차 TIL + SQL을 기본을 다져보자 (0) | 2023.12.26 |
내일배움캠프 1일차 TIL + git을 활용하여 협업을 하자 (2) | 2023.12.21 |