java
Java는 변수를 조작할 수 있는 풍부한 연산자 세트를 제공합니다. 모든 Java 연산자를 다음 그룹으로 나눌 수 있습니다. -
산술 연산자는 대수학에서 사용되는 것과 같은 방식으로 수학 표현식에 사용됩니다. 다음 표는 산술 연산자를 나열합니다 -
정수 변수 A가 10을 보유하고 변수 B가 20을 보유하고 있다고 가정하면 -
예시 보기
연산자 | 설명 | 예 |
---|---|---|
+ (추가) | 연산자의 양쪽에 값을 추가합니다. | A + B는 30을 줄 것입니다 |
- (빼기) | 왼쪽 피연산자에서 오른쪽 피연산자를 뺍니다. | A - B는 -10을 제공합니다. |
* (곱하기) | 연산자의 양쪽 값을 곱합니다. | * B는 200을 줄 것입니다 |
/ (구분) | 왼쪽 피연산자를 오른쪽 피연산자로 나눕니다. | B / A는 2를 줄 것입니다. |
%(모듈러스) | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 나머지를 반환합니다. | B % A는 0을 제공합니다. |
++;+ (증가) | 피연산자의 값을 1 증가시킵니다. | B+++; 21 제공 |
-- (감소) | 피연산자의 값을 1만큼 감소시킵니다. | B-- 19 제공 |
Java 언어에서 지원하는 관계 연산자는 다음과 같습니다.
변수 A가 10을 보유하고 변수 B가 20을 보유하고 있다고 가정한 다음 -
예시 보기
연산자 | 설명 | 예 |
---|---|---|
==(같음) | 두 피연산자의 값이 같은지 확인하고, 같으면 조건이 참이 됩니다. | (A ==B)는 사실이 아닙니다. |
!=(같지 않음) | 두 피연산자의 값이 같은지 확인하고 값이 같지 않으면 조건이 참이 됩니다. | (A !=B)는 사실입니다. |
> (보다 큼) | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰지 확인하고, 그렇다면 조건이 참이 됩니다. | (A> B)는 사실이 아닙니다. |
<(미만) | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작은지 확인하고, 그렇다면 조건이 참이 됩니다. | (A |
>=(크거나 같음) | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같은지 확인하고, 그렇다면 조건이 참이 됩니다. | (A>=B)는 사실이 아닙니다. |
<=(보다 작거나 같음) | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인하고, 그렇다면 조건이 참이 됩니다. | (A <=B)는 참입니다. |
Java는 정수 유형, long, int, short, char 및 byte에 적용할 수 있는 여러 비트 연산자를 정의합니다.
비트 연산자는 비트에 대해 작동하고 비트 단위 연산을 수행합니다. a =60이고 b =13이라고 가정합니다. 이제 바이너리 형식으로 다음과 같이 됩니다 -
a =0011 1100
b =0000 1101
------------------
a&b =0000 1100
a|b =0011 1101
a^b =0011 0001
~a =1100 0011
다음 표는 비트 연산자를 나열합니다 -
정수 변수 A가 60을 보유하고 변수 B가 13을 보유하고 있다고 가정하면 -
예시 보기
연산자 | 설명 | 예 |
---|---|---|
&(비트 및) | 이진 AND 연산자는 결과가 두 피연산자 모두에 있는 경우 결과에 비트를 복사합니다. | (A &B)는 0000 1100인 12를 제공합니다. |
| (비트 또는) | 이진 OR 연산자는 피연산자 중 하나에 있는 경우 비트를 복사합니다. | (A | B)는 0011 1101인 61을 제공합니다. |
^ (비트 XOR) | 이진 XOR 연산자는 하나의 피연산자에만 설정되어 있는 경우 비트를 복사합니다. | (A ^ B)는 0011 0001인 49를 제공합니다. |
~(비트별 칭찬) | 이진 1의 보수 연산자는 단항이며 비트를 '뒤집는' 효과가 있습니다. | (~A )는 부호 있는 이진수로 인해 2의 보수 형식으로 1100 0011인 -61을 제공합니다. |
<<(왼쪽 시프트) | 이진 왼쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 왼쪽으로 이동합니다. | <<2는 1111 0000인 240을 제공합니다. |
>>(오른쪽 시프트) | 이진 오른쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 오른쪽으로 이동합니다. | >>> 2는 1111인 15를 제공합니다. |
>>>(제로 채우기 오른쪽 시프트) | 오른쪽으로 시프트 0 채우기 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 오른쪽으로 이동하고 이동된 값은 0으로 채워집니다. | A>>>2는 0000 1111인 15를 제공합니다. |
다음 표는 논리 연산자를 나열합니다 -
부울 변수 A가 참이고 변수 B가 거짓이라고 가정하면 -
예시 보기
연산자 | 설명 | 예 |
---|---|---|
&&(논리 및) | 논리 AND 연산자라고 합니다. 두 피연산자가 모두 0이 아니면 조건이 참이 됩니다. | (A &&B)가 거짓입니다. |
|| (논리적 또는) | 논리적 OR 연산자라고 합니다. 두 피연산자 중 하나라도 0이 아니면 조건이 참이 됩니다. | (A || B)가 참입니다 |
! (논리적 아님) | 논리적 NOT 연산자라고 합니다. 피연산자의 논리 상태를 반전하는 데 사용합니다. 조건이 참이면 논리 NOT 연산자가 거짓을 만듭니다. | !(A &&B)가 참입니다 |
다음은 Java 언어에서 지원하는 할당 연산자입니다 -
예시 보기
연산자 | 설명 | 예 |
---|---|---|
= | 단순 할당 연산자. 오른쪽 피연산자에서 왼쪽 피연산자로 값을 할당합니다. | C =A + B는 A +의 값을 할당합니다. B에서 C로 |
+= | AND 할당 연산자를 추가합니다. 왼쪽 피연산자에 오른쪽 피연산자를 더하고 그 결과를 왼쪽 피연산자에 할당합니다. | C +=A는 C =C +와 동일합니다. A |
-= | 빼기 AND 할당 연산자. 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 결과를 왼쪽 피연산자에 할당합니다. | C -=A는 C =C – A와 동일합니다. |
*= | 곱하기 AND 할당 연산자. 오른쪽 피연산자에 왼쪽 피연산자를 곱하고 그 결과를 왼쪽 피연산자에 할당합니다. | C *=A는 C =C * A |
/= | 나누기 AND 할당 연산자. 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 결과를 왼쪽 피연산자에 할당합니다. | C /=A는 C =C / A와 동일합니다. |
%= | 모듈러스 AND 할당 연산자. 두 개의 피연산자를 사용하여 모듈러스를 취하고 결과를 왼쪽 피연산자에 할당합니다. | C %=A는 C =C % A와 동일합니다. |
<<= | 왼쪽 시프트 AND 할당 연산자. | C <<=2는 C =C와 동일 <<2 |
>>= | 오른쪽 시프트 AND 할당 연산자. | C>>=2는 C =C와 동일>> 2 |
&= | 비트 AND 할당 연산자. | C &=2는 C =C &2와 동일합니다. |
^= | 비트 배타적 OR 및 할당 연산자. | C ^=2는 C =C ^ 2와 동일합니다. |
|= | 비트 포함 OR 및 할당 연산자. | C |=2는 C =C와 동일 | 2 |
Java 언어에서 지원하는 다른 연산자는 거의 없습니다.
조건 연산자는 삼항 연산자라고도 합니다. . 이 연산자는 세 개의 피연산자로 구성되며 부울 표현식을 평가하는 데 사용됩니다. 연산자의 목표는 변수에 할당할 값을 결정하는 것입니다. 연산자는 -
로 작성됩니다.variable x = (expression) ? value if true : value if false
다음은 예입니다 -
예
라이브 데모public class Test { public static void main(String args[]) { int a, b; a = 10; b = (a == 1) ? 20: 30; System.out.println( "Value of b is : " + b ); b = (a == 10) ? 20: 30; System.out.println( "Value of b is : " + b ); } }
이것은 다음 결과를 생성합니다 -
출력
Value of b is : 30 Value of b is : 20
이 연산자는 개체 참조 변수에만 사용됩니다. 연산자는 개체가 특정 유형(클래스 유형 또는 인터페이스 유형)인지 확인합니다. instanceof 연산자는 -
로 작성됩니다.( Object reference variable ) instanceof (class/interface type)
연산자의 왼쪽에 있는 변수가 참조하는 개체가 오른쪽에 있는 클래스/인터페이스 유형에 대한 IS-A 검사를 통과하면 결과는 true가 됩니다. 다음은 예입니다 -
예
라이브 데모public class Test { public static void main(String args[]) { String name = "James"; // following will return true since name is type of String boolean result = name instanceof String; System.out.println( result ); } }
이것은 다음 결과를 생성합니다 -
출력
true
비교 대상이 오른쪽 유형과 호환되는 할당인 경우 이 연산자는 여전히 true를 반환합니다. 다음은 또 하나의 예입니다 -
예
라이브 데모class Vehicle {} public class Car extends Vehicle { public static void main(String args[]) { Vehicle a = new Car(); boolean result = a instanceof Car; System.out.println( result ); } }
이것은 다음 결과를 생성합니다 -
출력
true
연산자 우선 순위는 식에서 용어의 그룹화를 결정합니다. 이는 표현식이 평가되는 방식에 영향을 줍니다. 특정 연산자는 다른 연산자보다 우선 순위가 높습니다. 예를 들어, 곱하기 연산자는 더하기 연산자보다 우선 순위가 높습니다 -
예를 들어, x =7 + 3 * 2; 여기서 x는 연산자 * +보다 우선 순위가 높으므로 먼저 3 * 2를 추가한 다음 7에 더합니다.
여기서 우선 순위가 가장 높은 연산자는 테이블 상단에 표시되고 가장 낮은 연산자는 하단에 나타납니다. 표현식 내에서 우선 순위가 높은 연산자가 먼저 평가됩니다.
카테고리 | 연산자 | 연관성 |
---|---|---|
접미사 | 표현식++ 표현-- | 왼쪽에서 오른쪽으로 |
단항 | ++표현식 –-표현식 +표현식 –표현식 ~ ! | 오른쪽에서 왼쪽으로 |
승법 | * / % | 왼쪽에서 오른쪽으로 |
첨가제 | + - | 왼쪽에서 오른쪽으로 |
시프트 | <<>>>>> | 왼쪽에서 오른쪽으로 |
관계형 | <> <=>=instanceof | 왼쪽에서 오른쪽으로 |
평등 | ==!= | 왼쪽에서 오른쪽으로 |
비트 AND | & | 왼쪽에서 오른쪽으로 |
비트 단위 XOR | ^ | 왼쪽에서 오른쪽으로 |
비트 OR | | | 왼쪽에서 오른쪽으로 |
논리 AND | && | 왼쪽에서 오른쪽으로 |
논리적 OR | || | 왼쪽에서 오른쪽으로 |
조건부 | ?: | 오른쪽에서 왼쪽 |
과제 | =+=-=*=/=%=^=|=<<=>>=>>>= | 오른쪽에서 왼쪽 |
다음 장에서는 Java 프로그래밍의 루프 제어에 대해 설명합니다. 이 장에서는 다양한 유형의 루프와 이러한 루프가 Java 프로그램 개발에서 어떻게 사용될 수 있으며 어떤 용도로 사용되는지 설명합니다.
java
자바 대기열 인터페이스 이 자습서에서는 Java Queue 인터페이스와 해당 메서드에 대해 알아봅니다. Queue Java 컬렉션 프레임워크의 인터페이스는 큐 데이터 구조의 기능을 제공합니다. Collection 확장 인터페이스. 대기열을 구현하는 클래스 Queue 이후 인터페이스이므로 직접 구현할 수 없습니다. Queue의 기능을 사용하려면 , 이를 구현하는 클래스를 사용해야 합니다. 배열 데크 링크드리스트 우선순위 대기열 Queue를 확장하는 인터페이스 Queue 인터페이스는 다양한 하위 인터페이스로 확장됩니
자바 우선순위 큐 이 자습서에서는 예제를 통해 Java 컬렉션 프레임워크의 PriorityQueue 클래스에 대해 알아봅니다. PriorityQueue 클래스는 힙 데이터 구조의 기능을 제공합니다. 큐 인터페이스를 구현합니다. 일반 큐와 달리 우선순위 큐 요소는 정렬된 순서로 검색됩니다. 요소를 오름차순으로 검색한다고 가정해 보겠습니다. 이 경우 우선순위 큐의 헤드가 가장 작은 요소가 됩니다. 이 요소가 검색되면 다음으로 작은 요소가 대기열의 선두가 됩니다. 우선순위 큐의 요소는 정렬되지 않을 수 있다는 점에 유의하는