이노캠2024 TIL

김명광·2024년 6월 17일

TIL

목록 보기
1/6

기본형 변수

  • 논리형 변수:boolean -> True/Flase -> 저장
  • 문자형 변수:char -> '문' ,'자' '1', '개' -> 저장
    -> ' ' 작은따옴표 사용
  • 정수형 변수:byte,short,int,long
    ->0,20,91 같은 정수형 숫자 -> 저장
    -> byte<short<int<long // long은 숫자뒤에 알파벳 L표기해야함.
  • 실수형 변수:float,double
    -> 0.123,0.99같은 실수 -> 저장
    -> float< double
  • 원본 값이 Stack 영역에 있음

    Q:Stack영역이 뭐임?
    A:정적으로 할당된 메모리 영역임->안바뀐다는 말임
    그래서 크기가 정해져 있는 기본형 변수 저장함

참조형 변수

  • 문자열 변수:String -> "텍스트","text" ->저장
    -> " " 큰따옴표 사용
  • 그 외:Object,Array,List ->좀 복잡함
  • 원본 값이 Heap 영역에 있음

    Q:Heap 영역이 뭐임?
    A:동적으로 할당된 메모리 영역임-> 바뀔수도 있다는 말
    그래서 크기가 늘어날 수 있는 참조형 변수의 원본을 저장함
    -> 근데 참조형 변수의 주소값은 Stack에 저장함

스캐너(Scanner)

  • 입력값을 받아서 출력값을 내는 거임
    즉, Input 받아서 Output 내보냄
import java.util.Scanner;

이거 쓰려면 import 해와야함

쓰는 법

  • 위에 import로 호출하고 객체 생성 하면됨
Scanner in = new Scanner(System.in); // Scanner 객체 생성
클래스_이름 객체_이름 = new 객체_이름
Scanner in = new Scanner(System.in);	// Scanner 객체 생성
byte a = in.nextByte(); 		// byte 형 입력 및 리턴
int b = in.nextInt(); 			// int 형 입력 및 리턴
double c = in.nextByte(); 		// double 형 입력 및 리턴
boolean d= in.nextBoolean(); 	// boolean 형 입력 및 리턴
String e = in.next(); 			// String 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음)
String f = in.nextLine(); 		// String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)
Scanner sc = new Scanner(System.in);
String input = sc.next();  //여기에 "인풋임" 입력하면

System.out.println("입력값 : " + input);  // 입력값: 인풋임 출력

형변환

강제 형변환

  • 자동 형변환

    • 작은 자료에서 큰 자료형으로 이동 할때 자동으로 형변환 됨

      근데 큰 자료형에서 작은 자료로 이동할 때는 자동으로 형변환 안됨
      why? : 자료가 손실되거나 누락됨
      그래서 강제로 형변환 해줘야함

  • 강제 형변환

    • 큰 자료형에서 작은 자료로 이동 할 때 개발자가 강제로 형변환 해주는거
int intNumber = 10;
double doubleNumber = (double)intNumber; // int -> double 형변환 -> 10.0 출력
float floatNumber = (float)intNumber;  // int -> float 형변환  -> 10.0 출력
int intNumber = 5;
double doubleNumber = 10.5;
System.out.println(intNumber + doubleNumber);  // 15.5 출력   << 자동으로 큰 자료형 double 로 됨
profile
개발자 지망생

0개의 댓글