Java
-
[Java-20] 자바 연산자 우선순위Java 2020. 11. 27. 14:36
Java 1. 간단한 연산자 표 Simple 종종 연산자에 대해서 얘기를 할 때, 연산자 우선순위에 대해서 얘기 한적이 있다. 그래서 이번에는 연산자 우선순위를 정리하는 시간을 가지도록 해보자 먼저 우리가 지금까지 알고 있었던 연산자 우선순위에는, 다음과 같은 표를 많이 봐왔을 것이다. Simple , 간단한 우선순위이다. 우리는 똑똑하니 뒤에표를 보도록 하자 : D 우선 순위연산자 내용1(),[]괄호 / 대괄호2!,~,++,--부정/ 증감 연산자3*, /, %곳셈/나눗셈 연산4+, -덧셈/빼기 연산5,>>>비트단위 쉬프트 연산자6= 관계 연산자8==, !=9&비트단위의 논리연산10^ 11&&논리곱12||논리합13?:조건부 연산자14=,+=,-=,*=,/=,%=,=,&=,^=,~=대입 할당 연산자 이렇게..
-
[Java-19] 삼항 연산자 기본 (원리) ?:Java 2020. 11. 27. 14:31
Java The conditional operator 조건부 삼항 연산자 ? : 조건 연산자 ‘?:’는 C언어에서 상속 받은 뭔가 애매한 3항 연산자 이다. 이 3항 연산자는 어떠한 연산식 안에서 이 삼항 연산자를 이용해 조건을 달 수 있게 해준다. 조금만 생각해보면. “ 아 수식 안에서 if문을 사용하는구나?” 라고 생각 할 수 있다. 다음 코드를 보자 첫번째 피연산자 i 와 x , 그리고 연산자 > 는 물음표 ?를 기준으로 나누어 지게 된다. 그리고 물음표 이후 : (콜론) 기준으로 또 다시 나누어지게 된다. 먼저 조건부 연산 ( > ) 을 먼저 수행하게 됩니다. 그리고 만약 첫번 째로 수행한 i > x 가 true 이면 다음 과 같이 i 를 반환하게 된다. 만약 False 값이 들어가게 되면 x를 ..
-
[Java-18] 자바 대입 연산자 & 증감 연산자Java 2020. 11. 27. 14:29
Java Assignment Operators 대입 연산자(Assignment Operators) 대입 연산자는 값을 컴퓨터 메모리의 일부에 대입하거나, 저장하기 위해 사용된다. 이게 무슨 뜻인지 잘 모를 수도 있으니, 예제를 보면서 확인해보자 *혹시 만약에 JVM에서 메모리 관리를 어떻게 하고있는지 모른다면 JVM글을 정리한 블로그를 한번 보고오도록 하자 대입연산자에도 왼쪽과 오른쪽 연산이 있다. 예를들어 A = B 다음과 같이 말이다. 왼쪽 연산자 A는 오로지 지역변수, 배열 원소, 객체의 필드(변수) 가 오는게 적절하다. Lefthand side (왼쪽 피연산자) 는 대입식에서 가끔 lvalue 라고 부르기도 한다. left value의 뜻이다. Righthand side(오른쪽 피연산자, rval..
-
[Java-17] 자바 InstanceofJava 2020. 11. 27. 14:23
Java Instanceof Operator Instanceof 연산자(instanceof operator) ‘instanceof’ 연산자는 객체와 자바의 타입에 긴밀하게 밀점하여있습니다. 만약 자바를 처음 공부하시는 분이라면, 객체(Object)에 대해서 먼저 알아보고 이 글을 읽었으면 좋겠습니다 :D ‘instanceof’ 의 기본 형식은 이렇습니다. ***A instanceof B instanceof 는 연산을 하기위서 A 부분에는 객체 Object 또는 배열 값(value)가 필요하고, 오른쪽 피연산자에는 레퍼런스 타입이 들어가야 합니다. 이런식으 instanceof 로 int 와 같은 primitive를 연산할 수 없다는 특징을 가지고 있다. instanceof는 객체의 instance 나, 배..
-
[Java-16] 논리 연산자Java 2020. 11. 27. 14:21
Boolean or Logical Operators 1. 논리 연산자(Boolean or Logical Operators) 우리가 지금까지 봐 왔듯이 , 비교 연산자는 두 수를 비교를 해서, 그 결과 값을 boolean(TRUE, FALSE) 를 반환하고, 우리는 아마, if문이나 for문을 통한 루프, 연속된 조건이 체이닝 걸렸을 때(Branching and Looping statements) 많이 사용했을 것이다. 한가지의 상황에서만 대처하는게 아니라 보통 2가지 이상(여러개의) 상황을 비교해야 하기 때문에 우리는 Boolean 연산자 *논리연산자 를 사용해서 Multiple한 비교를 진행할 수 있다. 논리 연산자는 피연산자에게 Boolean *참/거짓 값을 받아야 한다. 그리고 값을 통해 연산을 하..
-
[Java-15] 관계 연산자Java 2020. 11. 27. 14:17
Comparison Operator 1. 관계 연산자(Comparison Operators) 관계 연산자는 Equality operators, 즉 연관된 서로의 값들이 같은지 비교하거나, 넓게는 그 값보다 크거나 작음을 서로 비교하는 비교하는 연산이다. 보통 이제 만약 두가지의 타입을 비교하게 된다면 결과 값은 true, false 를 반환하게 된다. 그래서 전형적으로 If(boolean 조건) while(boolean 조건)에서 대부분 사용하게 된다. 예를들어서, 다음과 같은 방식으로 사용하기 쉽다. 이제 여러가지 관계 연산자를 알아보도록 하자. ' = = ' 연산자 (EqualsOperators) ‘==’ 연산자는 기본적으로 프리미티브 타입에 한해서 두 피연산자의 값이 같으면 true, 아니면 fal..
-
[Java-14] 비트 연산자와 쉬프트 연산자Java 2020. 11. 27. 14:12
Bitwise and Shift Operator 1. 비트 연산자 (Bitwise) 비트연산과 쉬프트 연산은 low-level 의 연산자이다. 보통 개별의 비트를 integer 값으로 만들려 할 때, 많이 사용하게 된다. 비트 연산은 사실 low-lovel(네트워킹 작업)을 하는 경우를 제외하고는 모던 자바쪽에서는 잘 사용하지 않는 연산이긴 하다. 보통 flag 를 이용한 테스트를 위해 사용한다고 한다. flag에 대해서 알고 싶다면 이 블로그를 참고하면 좋다. 일단 우리가 bit를 사용하는 연산을 이해하기 위해서는 ‘바이너리(binary)’와 ‘보수(음의 정수 표현을 위해)’에 대해서도 알고 있어야 한다. 바이너리와 보수에 대해서는 따로 언급하지는 않고, 적절한 공부 링크를 적어서 학습할 수 있도록 하..
-
[Java-13] 자바 산술 연산자Java 2020. 11. 27. 14:06
Java Arithmetic Operator 1. 산술 연산자 (Arithmetic Operator) 산술 연산자는 부동 소수점, Characters, 정수형과 함께 사용할 수 있다. (Boolean 연산자를 제외하고, 기본형 타입은 전부 사용할 수 있다.) 만약 우리가 자바에서 실수(부동 소수점) + 정수를 한다면, 실수 산술 연산자가 진행 되고, 그렇지 않다면 정수 연산이 진행된다. 왜 그렇게 될까? 라고 생각을 한다면, 타입 캐스팅 블로그 포스팅을 보고오면 감이 올 것이다. 더하기 (+) Addition ‘+’ 연산자는 두개의 숫자를 더해줍니다. 또한 + 연산에서 String 타입이 있으면 이 두가지 타입을 연결해준다. 만약 피연산자 중 하나가 String 타입이면, 즉 “String” + 3 이면..