Java

5 [인강] 자바의정석 ch03

Rosie_dev 2020. 12. 10. 12:09

| 연산자의 우선순위와 결합법칙

  단항, 대입연산자만 오른쪽에서 왼쪽으로 연산

  산술 > 비교 > 논리 > 대입

 

| 증감연산자, 부호연산자

  독립적 사용의 증감연산자 전위형=후위형

  전위형은 위로, 후위형은 아래로 분리

  j=i++; 

  j=i, i++; //전위형의 분리

 

| 형변환연산자, 자동형변환

  (타입)피연산자

  double d = 85.4; 

  int score = (int)d;

  실수에서 정수 형변환시, 소수점 아래 버림

  기본연산자의 타입 불일치 작은 타입을 큰 타입으로 변환 가능, 형변환의 생략  // 반대의 경우, 형변환 생략 불가

  long < float

 

| 사칙연산자, 산술변환

  값손실이 적은 쪽으로 변환되어 결과 도출 - 큰 타입으로 일치

  // int/float → float

  int 보다 작은 타입(byte, char, short)는 int로 변환

  int a = 1,000,000;

  int b = 2,000,000;

  long c = a*b; // 오버플로우 발생

  logn c = (long)a*b // int 10^9인데 결과값이 10^12로 타입변경 필요

 

| 반올림 Math.round(), 나머지 연산자 %

  long result = Math.round(4.52); //5로 저장

  값손실을 내서 소수점 이하 버리기 (int)

  나머지연산자에서 부호는 의미없음

 

| 비교연산자, 문자열의 비교

  문자열의 비교시, equals()

  String str1 = "abc";

  String str1 = new String("abc"); → 그냥 ==로 비교시 false나올 수 있음

 

| 논리연산자, 논리부정연산자 !

  &&  ||
  ( i%2==0 || i%3==00 ) && i%6!=0 //i는 2 또는 3의 배수지만 6의 배수는 아니다


| 조건연산자, 대입연산자

  result = ( x > y ) ? x : y;

  // x>y이면, x 도출 → if 연산자와 결부해서 생각하기

  lvalue 저장공간, 변수, 배열 *final int 상수 값을 1번만 저장할 수 있음. 에러 
  rvalue 

'Java' 카테고리의 다른 글

7 [인강] 자바의정석 ch04  (0) 2020.12.12
6 [인강] 자바의정석 ch04  (0) 2020.12.11
4 [인강] 자바의정석 ch03  (0) 2020.12.09
3 [인강] 자바의정석 기초편 ch02  (0) 2020.12.09
2 [인강] 자바의정석 기초편 ch01  (0) 2020.12.04
댓글