2013년 8월 6일 화요일

chap2 자바기초문법(연산자우선순위)

# 2013-08-06 15:05

Integer.toBinaryString 10진수를 2진수 스트링으로 변환

OperationTest6,7.java 의 result를 Integer.toBinaryString 결과값으로 찍어 값을 비교해 보세요.

argument로 인자값 넘기기. => 이클립스


OperationTest2
OperationTest9 p77

# cf
-  argument :넘겨주는값
-  parameter : 넘어온 값을 저장하는 변수

실습2. 교재의 예제 실습(2)
 OperationTest2.java(p62)
// 국 영 수 점수 총점/평균 구하기.

 OperationTest9.java(p77)
// 삼항연산자.

실습3. 연산자와 우선순위 알아두기
  1. 최우선연산자 ( ., [], () )
  2. 단항연산자 ( ++,--,!,~,+/-   : 부정, bit변환>부호>증감)
  3. 산술연산자 ( *,/,%>+,->shift) : 이항연산자중 가장 높은 우선순위.
    1.  시프트연산자 ( >>,<<,>>> )
  4. 비교연산자 ( >,<,>=,<=,==,!= )
  5. 비트연산자 ( &,|,^,~ )
  6. 논리연산자 (&& > || , !)
  7. 삼항연산자 (조건식) ? :
  8. 대입연산자 =,*=,/=,%=,+=,-=
또는, (~*+) >(instanceof) || (&|^)

[문제1] a=3, b=10, c=5 다음 연산의 결과는?

  • a-b/++c              
    • 3-10 / 6 ==> 3-int(1.xx) = 2
  • ++a - b / c++       
    • 4-10/5 ==> 4-2 =  2, c=6.
  • a > 10 + b 
    • + 산술연산자 먼저실행. so a=3>20 ==>  false
  • a<b && b<c-100 
    • -(산술),비교,논리 순서. 3<10 && 10<-95 ==>  T && F ==> false
  • a*=b     복합대입연산자-가장낮은 우선순위
    • a=a*b => a=3*10 =30
  • a*=b+c  
    • a=a*(b+c) => a=3*(10+5)=45
    • ----------------------------------------------
  • 10 >> a^1 
    • 10>>3 ^ 1 => 1 ^ 1 = 0
  • (5&a)+c/10 > b*2
    • (0)+5/10 > 10*2 => 0.5 > 20 ==> false
  • a>=4 || b<3 && c<-1
    • 3 >= 4 || 10<3 && 5<-1 ==> F || F&& F ==>T && F ==> false
  • (a=10)/b << 1 + b > a
    • 10/10 << 11 > 3 ==> 1<<11 >3 ==> 2048>3 ==> true



//true or false?
byte a = 10;
byte b = 8;
System.out.println((a<b) && (++b>10));//
System.out.println((a<b) && (++b>10));//
System.out.println((a<b) && (++b>10));//
System.out.println((a<b) && (++b>10));//
























댓글 없음:

댓글 쓰기