1. 운영자
운영자는 다음을 포함합니다.
산술 연산자 할당 연산자 비교 연산자 논리 연산자 비트 연산자 Trigonometric 연산자
가장 일반적으로 사용되는 비트 연산자는 기본 컴퓨터에 가장 가까운 비트 연산자입니다.
1. 산술 연산자
(1) +의 여러 사용법 : 추가, 양수, 문자열 연결 문자
(2) 정수를 나누는 경우 한 가지 문제는주의를 기울여야합니다. 함께 나누면 정수 만 얻을 수 있습니다. 소수점을 얻으려면 데이터 자체 *1.0을 변환 할 수 있습니다. 즉, 데이터 자체를 먼저 부동 소수점 유형으로 변환 할 수 있습니다.
2. 할당 연산자
기호 = += -= *= /= %=
참고 : = 기본 할당 연산자이고 다른 할당 연산자입니다.
인터뷰 질문 :
(1) 짧은 s = 1, s = s+1;
(2) 짧은 s = 1, s+= 1;
위의 두 코드에 문제가 있습니까? 그렇다면 어디에 문제가 있습니까?
답변 : 코드 (1)가 올바르지 않으며 정확도가 상실됩니다. 바이트와 짧은 정의 할 때 실제로 int 유형의 값을받습니다. 이것은 혼자서 이루어집니다. 더 이상 범위 내에 있지 않으면 오류 가보고됩니다. 효과는 다음과 같습니다.
코드 (2)는 오류가 없기 때문에 : 확장 할당 연산자는 실제로 캐스트를 암시합니다.
즉, i += 1; i = i + 1과 같지 않습니다. 그러나 i = (데이터 유형 i) (s + 1)와 동일합니다.
3. 관계형 운영자
참고 1 : 비교 연산자의 결과는 부울입니다. 즉, 진실 또는 거짓입니다.
참고 2 : 비교 연산자 "=="은 실수로 "="로 쓰여질 수 없습니다. 예를 들어:
4. 논리 연산자
(1) 논리 연산자는 부울 표현을 연결하는 데 사용됩니다. Java에서 3 <x <6으로 쓸 수는 없지만 x> 3 & x <6으로 작성해야합니다.
(2) "&"와 "&&"의 차이? 마찬가지로 "|"의 차이점입니다. 그리고 "||"?
A : 최종 결과는 동일합니다. 예를 들어 : A와 B는 동시에 사실이어야하며 A & B 및 A & B의 결과는 사실입니다. B : &&는 단락 효과가 있고 왼쪽은 거짓이며 오른쪽은 실행되지 않습니다. || 짧은 회로 효과가 있고 왼쪽은 사실이며 오른쪽은 실행되지 않습니다.
참고 : 개발에 일반적으로 사용되는 논리 연산자 : &&, ||,!
(3) XOR ( ^)과 (|)의 차이는 다음과 같습니다. 왼쪽과 오른쪽이 모두 참을 때 XOR의 결과는 false입니다.
5. 비트 연산자 :
개발에 많이 사용되지는 않지만 컴퓨터의 기본 컴퓨팅은 비트 작업이기 때문에 많은 소스 코드에서 볼 수 있습니다.
인터뷰 질문 1 : 두 정수 변수 교환 구현
코드는 다음과 같습니다.
/* 인터뷰 질문 : 직접 두 정수 변수의 교환을 구현하십시오*/클래스 OperatorTest {public static void main (String [] args) {int a = 10; int b = 20; System.out.println ( "a :"+a+", b :"+b); // 메소드 1 : 타사 변수 사용 (개발에 사용) int c = a; a = b; B = C; System.out.println ( "a :"+a+", b :"+b); System.out.println ( "--------------"); // 방법 2 : 비트 XOR을 사용하여 구현 (인터뷰) // 왼쪽 : a, b, a // 오른쪽 : a ^ ba = a ^ b; b = a ^ b; // a ^ b ^ b = aa = a ^ b; // a ^ b ^ a = b system.out.println ( "a :"+a+", b :"+b); // 메소드 3 : 변수를 사용하여 a = a + b; // a = 30 b = a -b; // b = 10 a = a -b; // a = 20 system.out.println ( "a :"+a+", b :"+b); * // 메소드 4 : 한 문장으로 완료하십시오 b = (a+b) - (a = b); // b = 30-20 = 10, a = 20 system.out.println ( "a :"+a+", b :"+b); }}인터뷰 질문 2 : 가장 효율적인 방식으로 2 회 8을 계산 한 결과를 작성하십시오.
답 : 2 * 8은 2 << 3에 해당합니다.
지식 검토 :
<< : 왼쪽과 오른쪽에서 가장 높은 비트를 버립니다. >> : 오른쪽에서 가장 높은 비트는 0이고 왼쪽은 0입니다. 가장 높은 것은 1이고 왼쪽은 1 >>>입니다. 가장 높은 비트가 0 또는 1이든, 왼쪽은 0이고, 왼쪽은 0이든 서명되지 않은 오른쪽 이동.
6. 3 점 연산자 :
형식 : (관계 표현)? 발현 1 : 발현 2;
조건이 참이면, 작동 후 결과는 표현식 1이고;
조건이 false 인 경우, 작동 후 결과는 표현식 2이고;
예:
두 숫자를 많이 얻으십시오.
사본 코드 코드는 다음과 같습니다. int x = 3, y = 4, z; z = (x> y)? x : y; // z 변수는 많은 숫자를 저장합니다.
3 개의 정수의 최대 값을 얻으십시오.
// 메소드 1 : 두 단계로 // a : a와 b의 최대 값 비교 첫 // b : a와 b의 최대 값을 cint temp = ((a> b)? a : b)와 비교합니다. //system.out.println(temp); int max1 = (temp> c? temp : c); System.out.println ( "max1 :"+max1); // 방법 2 : 한 단계에서 int max2를 가져옵니다 = (a> b)? ((a> c)? a : c) : ((b> c)? b : c); //이 메소드는 권장되지 않습니다 : // int max2 = a> b? a> c? A : C : B> C? B : C; //system.out.println("max2:"+max2);방법 1을 사용하는 것이 좋습니다. 또한 모드 2에서, 10 행 및 12 행은 동일하며 삼각 연산자의 중첩 사용입니다.
두 정수가 같은지 비교하십시오.
// 두 정수가 동일한 int m = 100인지 비교합니다. int n = 200; // 부울 플래그 = (m == n)? 사실 : 거짓; 부울 플래그 = (m == n); System.out.println (플래그);
2. 키보드 데이터 입력
우리가 프로그램을 작성할 때, 데이터 값은 고정되어 있지만 실제 개발에서는 데이터 값이 변경되어야하므로 프로그램의 유연성을 향상시키기 위해 데이터를 키보드 입력으로 개선 할 계획입니다.
키보드 데이터 항목을 구현하는 방법은 무엇입니까? (지금 사용하는 것을 잊지 마십시오)
(1) 전송 패키지 (클래스 정의 위의 위치) : import java.util.scanner;
(2) 키보드 입력 개체 생성 : 스캐너 sc = 새 스캐너 (System.In);
(3) 객체를 통해 데이터를 가져옵니다 : int x = sc.nextint ();
예제 코드 :
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.