2장 변수

JAEUK KIM·2023년 1월 15일
0

자바의 정석

목록 보기
3/3

1.변수

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

변수의 초기화 방법
int//변수타입 age//변수이름 = 25;

  • 변수타입과 변수이름을 적고 연산자 = 을 이용해 25라는 값을 age 변수에 저장

변수 타입
<기본형> - 실제 data 값 저장
<참조형> - 값이 저장된 주소를 저장
                참조형의 선언방법은 기본형과 동일 but 변수의 타입은 클래스 이름


                                      기본형의 종류와 크기

상수: 값을 저장할 수 있는 공간- 한 번 값을 저장하면 변경불가
        final int MAX_SPEED = 10;//<-리터럴: 값 그 자체 //변수타입 앞에 final 붙임

리터럴의 타입과 접미사
   -변수의 타입은 리터럴의 타입에 의해 결정되기 때문에 리터럴간 구분위해 사용

   정수형 long 접미사 = L, 실수형 float = f, double =d
   접미사X                  접미사 생략가능
   정수형 기본형 = int , 실수형 = double

타입의 불일치
작은 타입을 큰 타입의 변수에 저장O, 반대의 경우X
ex) float f = 3.14; - d접미사가 생략 float은 double보다 작은타입

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

  • (변환 하고자 하는타입)피연산자
  • 기본형과 참조형 간 형변환 불가

자동 형변환

  • 서로 다른 타입간 연산 시 컴파일러가 자동으로 타입 일치시킴
    ※ 작은 타입에서 큰 타입의 형변환은 타입을 생략 가능하지만 큰 타입에서 작은 타입은 값 손실이 발생하며 생략할 수 없다.
double d =1.0+i;
 double d =1.0+(double)i;


문자와 문자열 리터럴
char 타입 = 문자 하나만 저장 가능 char ch = 'J'; char ch =' ' 공백일 경우 띄어쓰기 필수
String 타입 = 문자열 저장 가능, ""사용 String str = "Java" , "" <-공백인데 띄어쓰기 안해도 ㅇㅋ


다른 타입의 문자열 변환
any type+"문자열" = "any type" + "문자열" = "문자열"
7 + " " = "7" + " " = "7 "
true + "" = "true"+"" = "true"

변수의 값 출력 지시자 printf() 다양한 형식으로 값을 출력할 때

 int age = 14;
 System.out.printf("age:%d", age) -->// age:14가 결과로 출력
 //println()과 다르게 출력 후 줄바꿈 해주지 않기 때문에 %n을 사용해 줄바꿈을 해주어야 함 ("age:%d%n, age)

                                      ↓자주쓰는 지시자

비트와 바이트
비트(bit) = 컴퓨터가 값을 저장할 수 있는 최소단위
바이트(byte) = 1비트 8개를 묶은 단위
워드(word) = CPU가 한 번에 처리할 수 있는 데이터의 크기

음수의 2진표현 구하는 법(2의 보수법)
1. 음수의 절대값을 2진수로 변환한다.
-5 --> 5의 2진수는 0101
2. 2진수의 1을 0으로 0을 1로 변환한다(1의 보수)
1010
3. 위의 결과에 1을 더한다(2의보수=1의 보수+1)
1011---> -5의 2진표현

profile
Think less, Do it now

0개의 댓글