변수 타입, 연산자 숙지가 원활하지 않다. 기록하고서 반복적으로 보며 익숙해질 생각이다. 알아가면 알아갈수록 반복이 답이라는 생각이 든다.
int number
기본 타입 | 래퍼 클래스 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
문자형 char = 널문자 X
문자열 String = 널문자 O
import = im(in) + port(항구) = 수입
참조형 변수 = 원본값 > 힙영역 / 주소값 > 스택영역
8bit = 1byte -> 2short -> 4int -> 8long -> 4float -> 8double
double doubleNumber = 10.101010;
float floatNumber = 10.1010
int intNumber;
intNumber = (int)doubleNumber; // double -> int 형변환
intNumber = (int)floatNumber; // float -> int 형변환
int intNumber = 10;
double doubleNumber = (double)intNumber; // int -> double 형변환
float floatNumber = (float)intNumber; // int -> float 형변환
계산의 대상 = 피연산자 (2 + 1 / 2 1)
계산의 목적 = 연산자 (2 + 1 / +)
산술 연산자 = + - * / % << >>
비교 연산자 = > < >= <= == !=
논리 연산자 = && || ! (AND OR NOT)
대입 연산자 = = ++ —-
기타 연산자 = (type) ? : instance of (형변환 연산자, 삼항 연산자, instance of 연산자)
형변환 연산자
// 형변환 연산자
int intNumber = 93 + (int) 98.8; // 93 + 98
double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8
삼항 연산자 / (조건) ? (참결과) : (거짓결과)
// 삼항 연산자
int x = 1;
int y = 9;
boolean b = (x == y) ? true : false;
System.out.println(b); // false
String s = (x != y) ? "정답" : "땡";
System.out.println(s); // 정답
int max = (x > y) ? x : y;
System.out.println(max); // 9
int min = (x < y) ? x : y;
System.out.println(min); // 1
instance of 연산자 / (객체명) instance of (클래스명)
= 연산 전에 (크기가 큰)피연산자의 타입으로 일치
= Bit 자리수 옮기는 것