Latest web development tutorials

자바 연산자

컴퓨터의 가장 기본적인 용도 중 하나는 컴퓨터 언어로서 자바 변수를 조작하는 오퍼레이터의 풍부한 세트를 제공하는 수학적 연산을 수행한다. 우리는 다음과 같은 그룹으로 연산자를 넣을 수 있습니다 :

  • 산술 연산자
  • 관계 연산자
  • 비트 연산자
  • 논리 연산자
  • 할당 연산자
  • 다른 연산자

산술 연산자

수식에 사용되는 산술 연산자, 자신의 역할과 같은 수학의 역할. 다음 표는 모든 산술 연산자를 보여줍니다.

테이블 예를 정수 변수 (10)의 값이 변수 B (20)의 값을 가정한다 :

운영자 기술
+ 양측의 운영자의 부가가치 - 덧셈 A + B는 30와 동일
- 빼기 - 마이너스 오른쪽 피연산자의 왼쪽 피연산자 A - B는 -10
* 곱셈 - 오퍼레이터 양쪽 승산 A * B의 200와 같다
/ 부문 - 오른쪽 피연산자로 나눈 왼쪽 피연산자 B / A 2와 같다
% 모듈 - 좌측 및 우측 피연산자 피연산자의 나머지 이외에 B %의 (A)는 0 일
+ + 증분 - 오퍼랜드 (1)의 값을 증가 B + + 21과 같다
- 감소는 - 피연산자 1의 값을 감소 B - - (19)과 동일

다음의 간단한 예제 프로그램은 산술 연산자를 보여줍니다. 복사 및 다음 Java 프로그램을 붙여 Test.java 파일로 저장 한 후 컴파일하고이 프로그램을 실행 :

public class Test {

  public static void main(String args[]) {
     int a = 10;
     int b = 20;
     int c = 25;
     int d = 25;
     System.out.println("a + b = " + (a + b) );
     System.out.println("a - b = " + (a - b) );
     System.out.println("a * b = " + (a * b) );
     System.out.println("b / a = " + (b / a) );
     System.out.println("b % a = " + (b % a) );
     System.out.println("c % a = " + (c % a) );
     System.out.println("a++   = " +  (a++) );
     System.out.println("a--   = " +  (a--) );
     // 查看  d++ 与 ++d 的不同
     System.out.println("d++   = " +  (d++) );
     System.out.println("++d   = " +  (++d) );
  }
} 

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++   = 10
a--   = 11
d++   = 25
++d   = 27

관계 연산자

다음 표는 지원되는 Java 관계 연산자를 보여줍니다

10, 20의 변수 B 테이블 인스턴스 정수 변수 값입니다 :

운영자 기술
== 조건에 해당하는 경우 두 피연산자의 값이 동일, 동일 있는지 확인합니다. (A == B는) (사실이 아니다) false입니다.
! = 두 피연산자의 값이 동일한 경우, 값이 조건에 해당하는 다음 다르면 확인한다. (A! = B)는 사실이다.
> 이 조건이 참이면 다음 왼쪽 오퍼랜드의 값이 우측 피연산자의 값보다 큰지 확인한다. (A> B)은 사실이 아니다.
< 이 조건이 참이면 다음 왼쪽 오퍼랜드의 값이 우측 피연산자의 값 미만인 확인한다. (A <B)는 사실이다.
> = 이 조건이 참이면 다음 왼쪽 피연산자의 값보다 크거나 오른쪽 피연산자의 값과 같은 체크. (A> = B)는 false입니다.
<= 이 조건이 참이면 다음 왼쪽 오퍼랜드의 값이 우측 피연산자의 값 이하인지 확인한다. (A는 <= B) 사실이다.

다음의 간단한 예제 프로그램은 관계 연산자를 보여줍니다. 복사 및 다음 Java 프로그램을 붙여 Test.java 파일로 저장 한 후 컴파일하고이 프로그램을 실행 :

public class Test {

  public static void main(String args[]) {
     int a = 10;
     int b = 20;
     System.out.println("a == b = " + (a == b) );
     System.out.println("a != b = " + (a != b) );
     System.out.println("a > b = " + (a > b) );
     System.out.println("a < b = " + (a < b) );
     System.out.println("b >= a = " + (b >= a) );
     System.out.println("b <= a = " + (b <= a) );
  }
} 

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false

비트 연산자

자바는 비트 타입 (int)를 정수에 적용 연산자 (긴) 긴 정수 짧은 정수 (짧은), 문자 (문자)와 바이트 (바이트) 및 기타 유형을 정의합니다.

모든 위치에서 비트 연산자 및 비트 연산. 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

다음 표는 변수 B는 60와 13의 값은 정수 변수를 가정하면, 기본 작업을 비트 연산자를 나열합니다 :

운영자 기술
비트 AND 연산자, 비트가 1 인 경우 두 피연산자의 비트가 제로가 아닌 결과 인 경우에만. (A & B), 즉 0000 1100 (12)를 제공하는
| 비트 OR 연산자만큼이 비트가 1로 설정되어있을 때 2 개의 피연산자 0이 아닌 결과를 가지고 비트. (A | B) 즉, 00111101을 61주고
^ 비트가 1로 설정된 경우에 비트 단위 XOR 연산자, 두 피연산자의 비트는 동일한 결과가 아니다. (A ^ B) 즉, 00110001을 49주고
~ 각 비트 피연산자를 내리고 비트 단위의 보수 연산자. (~ A) -61은 11,000,011 즉, 획득
<< 비트 시프트 연산자를 떠났다. 오른쪽 피연산자에 의해 왼쪽 피연산자는 숫자의 변화 지정된 수의 왼쪽 비트. (240)의 << 2 11110000을 즉
>> 비트 오른쪽 시프트 연산자입니다. 왼쪽 피연산자는 피연산자 오른쪽 오른쪽 비트로 비트 수를 지정한다. >> 얻을 수 2 15 즉 1111
>>> 비트 오른쪽 제로 연산자입니다. 왼쪽 피연산자를 눌러 오른쪽 피연산자 오른쪽으로 지정된 비트 수의 값은, 결과 공석은 0으로 채워되어 이동합니다. >>> 2, 즉 0000 1111 (15)를 얻을 수

다음의 간단한 예제 프로그램은 비트 연산자를 보여줍니다. 복사 및 다음 Java 프로그램을 붙여 Test.java 파일로 저장 한 후 컴파일하고이 프로그램을 실행 :

public class Test {
  public static void main(String args[]) {
     int a = 60; /* 60 = 0011 1100 */ 
     int b = 13; /* 13 = 0000 1101 */
     int c = 0;
     c = a & b;       /* 12 = 0000 1100 */
     System.out.println("a & b = " + c );

     c = a | b;       /* 61 = 0011 1101 */
     System.out.println("a | b = " + c );

     c = a ^ b;       /* 49 = 0011 0001 */
     System.out.println("a ^ b = " + c );

     c = ~a;          /*-61 = 1100 0011 */
     System.out.println("~a = " + c );

     c = a << 2;     /* 240 = 1111 0000 */
     System.out.println("a << 2 = " + c );

     c = a >> 2;     /* 15 = 1111 */
     System.out.println("a >> 2  = " + c );
  
     c = a >>> 2;     /* 15 = 0000 1111 */
     System.out.println("a >>> 2 = " + c );
  }
} 

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 15
a >>> 15

논리 연산자

다음 표는 기본 동작을 논리 연산자, 가설에 해당하는 부울 변수를 나열, 변수 B는 거짓

운영자 기술
&& 논리 AND 연산자를 호출합니다. 그리고 만약 두 피연산자에 해당하는 경우에만, 조건이 충족되어야합니다. (A && B는) false입니다.
| | 논리 또는 운영자 호출합니다. 두 피연산자 중 어느 하나에 해당하는 경우, 조건은 true입니다. (A | | B)는 사실이다.
! 논리 NOT 연산자를 호출합니다. 이것은 오퍼랜드의 로직 상태를 반전시킨다. 조건이 참이면, 논리 NOT 연산자 거짓 일 것이다. ! (A && B는) 사실이다.

다음의 간단한 예제 프로그램은 논리 연산자를 보여줍니다. 복사 및 다음 Java 프로그램을 붙여 Test.java 파일로 저장 한 후 컴파일하고이 프로그램을 실행 :

public class Test {
  public static void main(String args[]) {
     boolean a = true;
     boolean b = false;
     System.out.println("a && b = " + (a&&b));
     System.out.println("a || b = " + (a||b) );
     System.out.println("!(a && b) = " + !(a && b));
  }
} 

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

a && b = false
a || b = true
!(a && b) = true

할당 연산자

여기서, 할당 연산자를 지원하는 Java 언어이다 :

운영자 기술
= 단순 대입 연산자의 왼쪽 피연산자에 오른쪽 피연산자의 값 C = A + B + B는 C에 할당 된 값을 제공합니다
+ = 추가 및 대입 연산자, 그것은 왼쪽 피연산자에 할당을 추가하여 왼쪽 피연산자와 오른쪽 피연산자는 C + = A는 C = C + A에 해당
- = 왼쪽 피연산자와 할당 연산자를 저장, 그것은 왼쪽 피연산자와 빼기에 할당 된 오른쪽 피연산자는 C는 - = A는 C = C에 해당 -
* = 곱셈 및 대입 연산자, 그것은 왼쪽 피연산자이고 오른쪽 피연산자는 왼쪽 피연산자에 할당 곱 C * = A는 C = C의 * (A)에 해당합니다
/ = 추가 및 할당 연산자에서는 왼쪽 피연산자와 왼쪽 피연산자에 할당 된 오른쪽 피연산자 부문이다 C / = A는 C = C / A에 해당
(%) = 모듈 및 대입 연산자, 그것은 왼쪽 피연산자와 모듈로하는 할당 후 왼쪽 피연산자에 오른쪽 피연산자입니다 C의 % = A는 C = C의 % (A)에 해당합니다
<< = 왼쪽 시프트 대입 연산자 C는 << = 2는 C = C << 2에 해당
>> = 오른쪽 시프트 대입 연산자 C >> = 2는 C = C로 >> 2와 동일
& = 비트 AND 대입 연산자 C & = 2 =을 C C & 2와 동일
^ = 비트 단위 XOR 대입 연산자 C ^ = 2는 C = C ^ 2에 해당
| = 비트 단위 OR 대입 연산자 C는 | = 2는 C = C에 해당 | 2

간단한 예는 프로그램이 할당 연산자에 직면 보여줍니다. 복사 및 다음 Java 프로그램을 붙여 Test.java 파일로 저장 한 후 컴파일하고이 프로그램을 실행 :

public class Test {
  public static void main(String args[]) {
     int a = 10;
     int b = 20;
     int c = 0;
     c = a + b;
     System.out.println("c = a + b = " + c );
     c += a ;
     System.out.println("c += a  = " + c );
     c -= a ;
     System.out.println("c -= a = " + c );
     c *= a ;
     System.out.println("c *= a = " + c );
     a = 10;
     c = 15;
     c /= a ;
     System.out.println("c /= a = " + c );
     a = 10;
     c = 15;
     c %= a ;
     System.out.println("c %= a  = " + c );
     c <<= 2 ;
     System.out.println("c <<= 2 = " + c );
     c >>= 2 ;
     System.out.println("c >>= 2 = " + c );
     c >>= 2 ;
     System.out.println("c >>= a = " + c );
     c &= a ;
     System.out.println("c &= 2  = " + c );
     c ^= a ;
     System.out.println("c ^= a   = " + c );
     c |= a ;
     System.out.println("c |= a   = " + c );
  }
} 

다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다

c = a + b = 30
c += a  = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a  = 5
c <<= 2 = 20
c >>= 2 = 5
c >>= 2 = 1
c &= a  = 0
c ^= a   = 10
c |= a   = 10

조건 연산자 (? :)

조건 연산자는 삼항 연산자로 알려져있다. 작업자는 세 개의 피연산자, 및 부울 표현식의 값을 판단 할 필요가있다. 이 연산자는 변수에 할당해야하는 값을 결정하기 위해 주로이다.

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 연산자

이 조작은 오브젝트 인스턴스를 조작 대상이 특정 유형 (클래스 또는 인터페이스 유형)인지를 확인하기 위해 사용된다.

instanceof 연산자 다음 형식을 사용합니다 :

( Object reference variable ) instanceOf  (class/interface type)

작업자는 좌측 변수 인 경우 개체 운영자 또는 오브젝트의 인터페이스 클래스 (클래스 / 인터페이스)의 오른쪽을 말한다, 결과는 마찬가지이다.

다음은 그 예이다 :

String name = 'James';
boolean result = name instanceOf String; // 由于name是String类型,所以返回真

비교되는 개체 유형의 오른쪽과 호환되는 경우, 작업자는 여전히 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

자바의 연산자 우선 순위

때 하나 이상의 운영자는 누구 누구 후, 식에 나타납니다? 이것은 연산자 문제의 우선 순위에 관한 것이다. 다중 운영자 표현에서 연산자 우선 순위는 최종적으로 다양 와서 다른 결과가 발생할 수 있습니다.

예를 들어, (1 + 3) +이 표현이 가장 높은 우선 순위를 계산하는 경우 (3 + 2) * 2를 눌러 더하기 기호, 대답은 곱셈 가장 높은 우선 순위에 따라, 18, 대답은 14입니다.

또, X = 7 + 3 * 2, 곱셈 연산자는 더하기 연산자보다 높은 우선 순위를 가지고 있기 때문에, x는 13 대신 20을했다 경우 처음 3 * 2가 6, 7 플러스를 얻을 계산합니다.

테이블 상단 표에 표 하단에서 가장 낮은 우선 순위를 연산자의 가장 높은 우선 순위를 가지고있다.

범주 운영자 관련
접미사 () []. (도트 연산자) 왼쪽에서 오른쪽
하나의 + + -! ~ 오른쪽에서 왼쪽으로
곱셈 * / % 왼쪽에서 오른쪽
첨가물 + - 왼쪽에서 오른쪽
배수량 >> << >>> 왼쪽에서 오른쪽
관계 << = >> = 왼쪽에서 오른쪽
같은 ==! = 왼쪽에서 오른쪽
비트 단위 AND 왼쪽에서 오른쪽
비트 단위 XOR ^ 왼쪽에서 오른쪽
비트 단위 또는 | 왼쪽에서 오른쪽
논리와 && 왼쪽에서 오른쪽
논리 또는 | | 왼쪽에서 오른쪽
조건 ? : 오른쪽에서 왼쪽으로
할당 = + = - = * = / = % = >> = << = & = ^ = | = 오른쪽에서 왼쪽으로
콤마 , 왼쪽에서 오른쪽