<Java 문법 종합반 1주차 : JVM, 변수>
chatper 2. 변수
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// 이곳이 우리의 playground!
// 변수를 선언해보자 => 타입이름 = 값;
// 1. 기본형 변수
// (1) boolean
boolean flag = true;
flag = false;
System.out.println(flag);
// (2) 문자형(char)
char alphabet = 'A';
System.out.println(alphabet);
// (3) 정수형(byte, short, int, long)
byte byteNumber = 127; //-128 ~ 127
short shortNumber = 32767; // -32,768 ~ 32,767
int intNumber = 21478455;
long longNumber = 215642556566L;
System.out.println(byteNumber);
System.out.println(shortNumber);
System.out.println(intNumber);
System.out.println(longNumber);
// (4) 실수형(float-4byte, double-8byte)
float floatNumber = 0.123F;
double doubleNumber = 0.123123123;
System.out.println(floatNumber);
System.out.println(doubleNumber);
// 2. 참조형 변수
// (1) 문자열 변수
String helloWorld = "Hello world!";
System.out.println(helloWorld);
// (2) 배열
int[] a = {1, 2, 3};
System.out.println(Arrays.toString(a));
// 3. 래퍼 클래스 변수
int number = 21;
Integer num = number; // boxing
System.out.println(num.intValue()); // unboxing
}
}
// <숫자 -> 문자>
// import : im + port
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int asciiNumber = sc.nextInt();
char ch = (char)asciiNumber; // 문자로 '형변환'을 해주면 숫자에 맞는 문자로 표현됩니다.
System.out.println(ch);
}
}
// 입력 97
// 출력 a
// <문자 -> 숫자>
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char letter = sc.nextLine().charAt(0); // 첫번째 글자만 받아오기위해 charAt(0) 메서드를 사용합니다.
int asciiNumber = (int)letter; // 숫자로 형변환을 해주면 저장되어있던 아스키 숫자값으로 표현됩니다.
System.out.println(asciiNumber);
}
}
// 입력 a
// 출력 97
- 참조형 변수 = 주소형 변수
- stack영역
- 정적으로 할당된 메모리 영역
- 참조형 변수(주소값), 기본형 변수(원본값)을 저장
- heap 영역
- 동적(알 수 없을 때)으로 할당된 메모리 영역
- 참조형 변수(원본값)을 저장
- stack영역
- 입력과 출력
- 입력 : Scanner. in 객체의 next() 명령을 사용
- 출력 : System.out 객체의 println() 명령을 사용
- 1Byte = 8Bit
chatper 3. 형변환
- 실수(float형 or double형) -> 정수(int)
- 0.xxx -> 0
- double -> int
public class Main {
public static void main(String[] args) {
double doubleNumber = 10.1010;
float floatNumber = 10.1010f;
int intNumber;
intNumber = (int)doubleNumber;
System.out.println(intNumber);
}
}
- float -> int
public class Main {
public static void main(String[] args) {
double doubleNumber = 10.1010;
float floatNumber = 10.1010f;
int intNumber;
intNumber = (int) floatNumber;
System.out.println(intNumber); // 10
}
}
- 정수 -> 실수
public class Main {
public static void main(String[] args) {
int intNumber = 10;
double doubleNumber = (double)intNumber;
float floatNumber = (float)intNumber;
System.out.println(intNumber); // 10
System.out.println(doubleNumber); // 10.0
System.out.println(floatNumber); // 10.0
}
}
- 변수 타입별 크기 순서
byte(1byte) -> short (byte) -> int (4byte) -> long(8byte) -> float (4byte) -> double (8byte)
- 작은 타입 -> 큰 타입의 형변환은 자동으로 된다.
- 큰 타입 -> 작은 타입의 형변환은 값의 손실이 생긴다.
public class Main {
public static void main(String[] args) {
// (1) byte -> int
byte byteNumber = 10;
int intNumber = byteNumber; // int 안써줘도 됨
System.out.println(intNumber); // 10
// (2) char -> int 형변환
char charAlphabet = 'A';
intNumber = charAlphabet; // char -> int로 자동 형변환
System.out.println(intNumber); // 65 (A의 유니코드가 65이다.)
// (3) int -> long number
intNumber = 100;
long longNumber = intNumber;
System.out.println(longNumber);
// (4) int -> double
intNumber = 200;
double doubleNumber = intNumber;
System.out.println(doubleNumber);
}
}
public class Main {
public static void main(String[] args) {
// 작은 크기의 타입이 큰 크기의 타입과 '계산'될 때, 자동으로 큰 크기의 타입으로 형 변환이 된다.
int intNumber = 10;
double doubleNumber = 5.5;
double result = intNumber + doubleNumber;
System.out.println(result); // 15.5
// 정수로 나누기
int iResult = intNumber / 4; // 2
// 실수로 나누기
double dResult = intNumber / 4.0; // 2.5
}
}
1주차 숙제
- 문제

- 나의 답안
public class recipe {
public static void main(String[] args) {
String title = "간장찜닭 만들기";
System.out.println("[" + title + "]");
double rate = 4.5;
int rate1 = (int) rate;
double percent = rate1*20;
System.out.println("별점 : " + rate1 + " (" + percent + "%)" );
String recipe1 = "당면을 불려주세요.";
String recipe2 = "닭고기를 끓는물에 데쳐주세요.";
String recipe3 = "기름을 두른 팬을 예열시켜 주세요.";
String recipe4 = "예열이 되었다면 통마늘을 한 줌 넣어 익혀주세요.";
String recipe5 = "닭고기를 넣어주세요.";
String recipe6 = "설탕 3스푼, 진간장 8스푼, 물 1컵, 춘장을 조금 넣어주세요.";
String recipe7 = "감자 1개, 양파 1/2개, 청양고추, 대파를 넣어주세요.";
String recipe8 = "다진마늘 1스푼, 물엿 1스푼, 다시다 반스푼, 후추와 당면을 넣어주세요.";
String recipe9 = "5분 동안 끓여주세요.";
String recipe10 = "마지막으로 깨를 뿌려주면 끝입니다 !";
System.out.println("1." + recipe1);
System.out.println("2." + recipe2);
System.out.println("3." + recipe3);
System.out.println("4." + recipe4);
System.out.println("5." + recipe5);
System.out.println("6." + recipe6);
System.out.println("7." + recipe7);
System.out.println("8." + recipe8);
System.out.println("9." + recipe9);
System.out.println("10." + recipe10);
}
}
'study > TIL' 카테고리의 다른 글
| 프로그래밍 기초 개인과제 : 계산기 만들기 트러블슈팅 (1) | 2024.10.17 |
|---|---|
| 20241013 TIL (0) | 2024.10.14 |
| 20241010 TIL (6) | 2024.10.11 |
| 20241003 TIL (1) | 2024.10.04 |
| 20241002 TIL (2) | 2024.10.02 |