CodeGym /Java Blog /무작위의 /Java의 숫자 연산자
John Squirrels
레벨 41
San Francisco

Java의 숫자 연산자

무작위의 그룹에 게시되었습니다
안녕! 오늘 우리는 매우 중요한 주제, 즉 Java의 숫자 연산자를 고려할 것입니다 .
Java의 숫자 연산자 - 1
프로그래밍에서 숫자는 어디에나 있습니다. 깊이 파고들어 고등학교를 기억한다면 컴퓨터가 모든 정보를 숫자 형식(0과 1의 조합, 이진 코드라고도 함)으로 표현한다는 것을 기억할 것입니다.
Java의 숫자 연산자 - 2
프로그래밍에는 많은 숫자 연산자가 있으므로 예제를 사용하여 가장 중요한 연산자를 살펴보겠습니다. 가장 간단한 산술 연산자 부터 시작하겠습니다 . 잘 알려진 더하기( +), 빼기( -), 곱하기( *) 및 나누기( /) 연산자입니다.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       System.out.println(x+y);
       System.out.println(x-y);
       System.out.println(x*y);
       System.out.println(x/y);
   }
}
콘솔 출력: 1032 966 32967 30 이 모든 것을 이미 사용했습니다. 이 그룹에 나머지 또는 모듈로( %) 연산자를 추가할 수 있습니다.

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
콘솔 출력: 1 이 예에서는 33을 2로 나눕니다. 그러면 2로 나눌 수 없는 추가 "꼬리"(1)가 있는 16이 생성됩니다. 이 "꼬리"는 "나누기의 나머지" 작업의 결과입니다. Java는 또한 비교/관계 연산자를 구현합니다 (수학에서와 동일). 그들은 아마도 학교에서 당신에게 친숙할 것입니다:
  • 같음 ( ==)
  • 보다 큼 ( >)
  • 미만 ( <)
  • 크거나 같음 ( >=)
  • 작거나 같음 ( <=)
  • 같지 않다 ( !=)
여기에서 많은 초보자가 실수를 저지르는 한 가지 중요한 점에 주의를 기울여야 합니다. "같음" 연산자는 ==가 아니라 로 작성됩니다 =. Java에서 single은 변수에 숫자, 문자열 또는 다른 변수의 값을 할당할 때 사용되는 할당= 연산자 입니다 .
Java의 숫자 연산자 - 3

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// We expect false to be displayed
   }
}
콘솔 출력: 999 죄송합니다! 이것은 분명히 우리가 기대한 결과가 아닙니다. 완전히 다른 데이터 유형입니다. 부울이 표시 될 것으로 예상했지만 숫자가 표시되었습니다. 비교 대신 괄호 안에 대입 연산자를 사용했기 때문입니다 . (999) 의 값을 변수에 할당한 다음 의 값을 표시했습니다 . 올바른 방법은 다음과 같습니다. x=yyxx

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
콘솔 출력: false 이제 두 숫자를 제대로 비교했습니다! :) 할당 연산자( =)의 또 다른 기능은 다음과 같습니다. 함께 "연결"될 수 있습니다.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;
       int z = 256;

       x = y = z;
       System.out.println(x);
   }
}
콘솔 출력: 256 할당이 오른쪽에서 왼쪽임을 기억하십시오 . 이 표현식( x = y = z)은 다음 단계로 실행됩니다.
  • y = z, 그건,y = 256
  • x = y, 그건,x = 256

단항 연산자.

그들은 " 하나 " 를 의미하는 " uno " 라는 단어에서 " 단항 "이라고합니다 . 이전 오퍼레이터와 달리 여러 개가 아닌 단일 번호에 대해 작동하기 때문에 이 이름이 붙었습니다. 여기에는 다음이 포함됩니다.
  • 단항 마이너스. 숫자의 부호를 뒤집습니다.


public class Main {

   public static void main(String[] args) {

       int x = 999;

       // Change the sign for the first time
       x = -x;
       System.out.println(x);

       // Change the sign for the second time
       x= -x;
       System.out.println(x);
   }
}
콘솔 출력: -999 999 단항 빼기 연산자를 두 번 사용했습니다. 결과적으로 우리의 숫자는 처음에는 음수였다가 다시 양수가 되었습니다!
  • 증가(++) 및 감소(--)
연산자 ++는 숫자를 1씩 늘리고 --연산자는 같은 양만큼 숫자를 줄입니다.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       x++;
       System.out.println(x);

       x--;
       System.out.println(x);
   }
}
콘솔 출력: 1000 999 C++ 언어에 대해 들어본 적이 있다면 이 표기법이 익숙할 것입니다. 작성자는 "C++는 C 언어의 확장"이라는 아이디어를 전달하기 위해 이 흥미로운 이름을 사용했습니다. 메모장의 인기 있는 개선된 버전은 메모장++입니다. 여기에서 중요한 점이 있습니다. 증가 및 감소 연산자에는 접미사접두사 의 두 가지 유형이 있습니다 . x++- 접미사 ++x- 접두사 플러스/마이너스를 숫자 앞이나 뒤에 두는 것의 근본적인 차이점은 무엇입니까? 다음 예에서 볼 수 있습니다.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}

콘솔 출력: 999 뭔가 잘못되었습니다! 우리는 1씩 증가시키고 x새로운 값을 변수 y에 할당하기를 원했습니다. 다시 말해, y는 1000이어야 합니다. 하지만 대신 다른 것을 얻습니다: 999. x가 증가하지 않았고 증분 연산자가 작동하지 않은 것 같습니까? 하지만 효과가 있었습니다. x자신을 설득하기 위해 마지막에 표시해보십시오 :)

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
콘솔 출력: 999 1000 사실 이것이 바로 이 작업을 접미사라고 부르는 이유입니다. 기본 표현식 다음에 수행됩니다. 즉, 우리의 경우: 가 int y = x++; y = x먼저 수행되고(그리고 변수는 y의 값으로 초기화됨 x) 그 다음에야 x++실행됩니다. 이것이 우리가 원하는 동작이 아니면 어떻게 될까요? 그런 다음 접두사 표기법을 사용해야 합니다 .

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
이 경우 가 ++x먼저 처리되고 그 이후에만 y = x; 실행. 접두사 대신 접미사를 사용하면 모든 것이 뒤집힐 수 있는 실제 프로그램에서 실수를 방지하기 위해 이 차이를 메모리에 즉시 커밋해야 합니다. :)

복합 연산자

또한 Java에는 소위 복합 연산자가 있습니다. 두 연산자를 결합합니다.
  • 과제
  • 산술 연산자
여기에는 다음이 포함됩니다.
  • +=
  • -=
  • *=
  • /=
  • %=
예를 들어 보겠습니다.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
콘솔 출력: 1032 x += yx = x + y. 간결함을 위해 두 개의 기호가 연속적으로 사용됩니다. -=, *=및 조합 /=%=유사한 방식으로 작동합니다.

논리 연산자

숫자 연산자 외에도 Java에는 부울 값( truefalse )과 관련된 연산도 있습니다. 이러한 작업은 논리 연산자를 사용하여 수행됩니다.
  • !- 논리적 NOT . 부울 값을 뒤집습니다.

public class Main {

   public static void main(String[] args) {

       boolean x = true;
       System.out.println(!x);
   }
}
콘솔 출력: 거짓
  • &&- 논리 AND . 피연산자가 모두 true인 경우에만 true를 반환합니다 .

public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 && 100 > 200);
       System.out.println(100 > 50 && 100 >= 100);
   }
}
콘솔 출력: false true 피연산자 중 하나가 false이므로 첫 번째 작업의 결과는 false입니다 100 > 200. true를 반환하려면 &&연산자에서 두 피연산자가 모두 true여야 합니다(두 번째 줄의 경우와 같음).
  • ||- 논리적 OR . 피연산자 중 하나 이상이 true이면 true를 반환합니다 .
이 연산자를 사용하면 이전 예제에서 다른 결과가 생성됩니다.

public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 || 100 > 200);
   }
}
콘솔 출력: true 표현식은 100 > 200여전히 ​​false이지만 OR 연산자의 경우 첫 번째 부분( )이 true이면 충분합니다 100 > 10.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION