08/11~08/12 자바 스터디

곰돌·2021년 8월 12일
0

자바 TIL

목록 보기
1/3

본 내용은 자바의 정석 - 기초편 강의, 자바의 정석 책을 바탕으로 작성되었습니다.

📝 자바의 정석

ch01. 자바를 시작하기 전에

단축키 정리

//ctrl+shift+L 전체 단축키
//ctrl + +, - 폰트 크기 증가/감소
//ctrl+D 한줄삭제
//ctrl + alt + Down 행단위 복사
//alt+shift+A 멀티 컬럼 편집
//alt+up, down 행단위 이동
//ctrl+i 자동 들여쓰기
//ctrl +/ 주석처리 -> 한줄 주석
//ctrl+space 자동완성

ch02. 변수(Variable)

변수란?

하나의 값을 저장할 수 있는 메모리 공간

변수의 선언

  • 변수 선언 이유 : 값을 저장할 공간을 마련하기 위해서
  • 변수의 선언 방법 : 변수타입 변수이름;

값의 타입

변수 상수 리터럴

  • 변수(variable) : 하나의 값을 저장하기 위한 공간
  • 상수(constant) : 한번만 값을 저장 가능한 변수
    ex) final int MAX = 100; // MAX 는 상수
  • 리터럴(literal) : 그 자체로 값을 의미하는 것

리터럴의 접두사와 접미사

// byte -> -128~127 
int i =100; // 10진수
int oct = 0100 //8진수
int hex = 0x100 //16진수
long l = 10_000_000_000L; -> 20억이 넘는 값에서는 L 생략 불가

기본형과 참조형

  • 기본형 : 8개 (Boolean , char, byte, short, int .long, float, double) / 실제 값을 저장
  • 참조형 : 기본형을 제외한 나머지(string ,system 등) / 메모리 주소를 저장( 4byte or 8byte)
Date today; //참조형 변수 today를 선언
today = new Date(); 
//new Date(); -> 객체생성 
//today = new Date(); -> today에 객체의 주소를 저장

기본형 - 종류와 크기

  • 논리형 : true false 중 하나의 값으로 가지며, 조건식과 논리적 계산에 사용(Boolean)
  • 문자형 : 문자 저장에 사용
  • 정수형 : 정수 값을 저장하는데 사용
  • 실수형 : 실수 값을 저장하는데 시용
정수형 default type : int
실수형 : double => float는 7자리수 까지 정밀도가 높아서 15자리 까지 가능한 double이 기본형

형식화된 출력 : printf()

println()의 단점

  • 출력형식 지정 불가
  • 실수 자리수 조절 불가
    System.out.println(10.0/3); // 3.33333….
  • 10진수로만 출력 된다.

printf()의 지시자

정수:  %b, %d, %o, %x
실수:  %f, %e
문자:  %c, %s

화면에서 입력받기

  • Scanner란
    화면으로부터 데이터를 입력받는 기능을 제공하는 클래스

  • Scanner 사용법

    1. import문 추가
      사용전 import.java.util.*; 추가

    2. Scanner 객체의 생성
      Scanner scanner = new Scanner (System.in); -> 스캐너 사용하기 위해서 필요
      // (System in) -> 화면입력

    3. Scanner 객체를 사용
      Int num = scanner.nextInt(); // 화면에서 입력받은 정수를 num에 저장
      // nextFloat() -> 실수

비트(bit)와 바이트(byte)

  • 비트
    한자리의 2진수
    1비트는 컴퓨터가 값을 저장할 수 있는 최소 단위
  • 바이트
    1비트를 8개로 묶은것으로 데이터의 기본 단위

정수형의 오버 플로우

  • 오버플로우 란? 표현가능한 최대 범위를 넘어서는 것
    최대갑 +1 -> 최소값
    최소값 -1 -> 최대값

  • 10 진수
    • 1자리수
      0~9까지 10개 , 10-1 -> 9개
      1을 빼는 이유 : 0부터 시작해서 뺌
    • 2자리 수
      0~100 -> 0~10^2 -1
    • 3자리 수
      0~10^3-1
    • 4자리 수 : 0~10^4-1
  • 2진수
    • 1자리 : 0~1 -> 0~2-1
    • 2자리 : 0~3-> 0~2^2-1
    • 3자리 : 0~7 -> 0~2^3-1

N bit로 표현 가능한 10진수
값의 개수 : 2^n
값의 범위 : 0~2^n-1 (부호 없는 경우에만)

16비트로 표현할 수 있는 정수의 개수 : 2^16개
Short 타입의 표현 범위 : -2^15~ 2^15-1
Char 타입의 표현 범위 : 0~ 2^16-1
-> 둘다 6만개 정도

글로 쓰다보니 너무 지저분해졌는데 pg. 64를 참고하면 깔끔하다..

⭐ 타입간의 변환 방법

  1. 문자와 숫자간의 변환
    숫자에서 문자로 바꿀 때는 +’0’ / 문자에서 숫자로 바꿀 때는 -‘0’
  2. 문자열로의 변환
    +”” -> 빈 문자열을 더해준다
  3. 문자열을 숫자로 변환
    “3”->3 : Integer.parseInt(“3”)
    “3.14”-> 3.14 : Double.parseDouble(“3.14”)
  4. 문자열에서 문자로
    “3” → ‘3’ : “3”.CharAt(0)
System.out.println('3'-'0'); //숫자 3
System.out.println(Integer.parseInt("3")+1); // 3 + 1 => 4
System.out.println("3"+1); // 31
System.out.println(3+'0'); // '0'은 숫자로 48

⭐ 형변환이란

변수 또는 상수의 타입을 다른 타입으로 변환하는 것

💜 마치며
원서쓰고 자바공부에 파이썬까지 겹치며 정신없는 하루였다.
자바 진도 너무 조금 나가서 빨리빨리 해야겠다. 그리고 요즘 코테랑 CS공부에 소홀히 하고 있는데 이게 제일 우선이다. 우선으로 해야될것 부터 챙겨야 겠다.

profile
୧ʕ•̀ᴥ•́ʔ୨

0개의 댓글