다잇소


[IT/트랜드] Java 기초 – ③ ( 객체 지향 언어, 기본 문법 – 2)

2017.08.29
 


  1. 연산자


1.         Java의 연산자


1 ) 산술 연산자


a = 10, b=20















































연산자



기능



예제



+



덧셈.



a + b 결과는 30





뺄셈.



a – b 결과는 -10



*



곱셈.



a * b 결과는 200



/



나눗셈.



b / a 결과는 2



%



나머지연산.



b % a 결과는 0( b=21인 경우는 1)



++



1 증가(선치 , 후치)



++b, b++ 결과는 21





1 감소(선치 , 후치)



–b, b– 결과는 19



2 ) 비교 연산자


a = 10, b=20










































연산자



기능



예제



==



같다



a == b 결과는 false



!=



같지 않다



a != b 결과는 true



>



크다.



a > b 결과는 false



<



작다



a < b 결과는 true



>=



크거나 같다.



a>=b 결과는 false



<=



작거나 같다.



a<=b 결과는 true



 


3 ) bit 연산자


a = 60(0011 1100), b=13(0000 1101)















































연산자



기능



예제



&



bit and 연산



a & b 결과는 0000 1100(=12)



|



bit or 연산



a | b 결과는 0011 1101(=61)



^



bit exclusive 연산.



a ^ b 결과는 0011 0001(=49)



~



bit 보수 연산



~a 결과는 1100 0011(=-61)



<<



왼쪽 shift연산



a<<2 결과는 1111 0000(=240)



>>



오른쪽 부호 shift연산



a>>2 결과는 0000 1111(=15)



>>>



0을 채우면서 오른쪽 shift연산



a>>>2 결과는 0000 1111(=15)



4 ) 논리 연산자


a = true, b=false



























연산자



기능



예제



&&



논리 and



a && b 결과는 false



||



논리 or



a | | b 결과는 true



!



논리 부정



!a 결과는 false



5) 할당 연산자


– 할당 연산자 “=”  예) c = a + b


– 줄임 할당자 +=, -=, *=, /= ,%= ,&=,|=,^=,<<=,>>=


예) a = a + b => a+=b ,  a = a&b=> a&=b


6) 3항 연산자


– 변수 x = (비교판단식) ? 참일때 값 : 거짓일 때 값


예) a = 10;


      b = (a == 1) ? 20: 30; 판단표현식이 거짓이므로 b에 30이 할당이 됨


7) Java 연산자 우선 순위


– ()(괄호)가 제일 우선이 됨


  예) a + b * (c +d) => (c + d) → b * → a +


 




  1. 제어 구조


1.       if, if ~ else, switch


– 논리조건에 논리연산만이 가능함


– switch에 keyValue값으로만 정수형 type과 enum(JDK 1.5)만 가능, Java 7 이후는 String도 가능










if( 논리조건 ) { // 참인 경우


   statements;


    …


}


 


if( 논리조건 ) { // 참인 경우


   statements;


    …


}


else { // 거짓인 경우


   statements;


    …


}


 


if( 논리조건1 ) { // 참인 경우


   statements;


    …


}


else if( 논리조건2 ){ // 참인 경우


   statements;


    …


}


else { // 거짓인 경우


   statements;


    …


}


 


switch( keyValue ) {


case 1:


statements;


break;


case 2:


case 3:


statements;


break;


case 4:


statements;


case 5:


statements;


break;


default:


statements;


break;


}



2.       for loop


– Java 1.5 이후에 for each형태의 for loop가 추가
– for each loop문 가능한 data type은 배열과 Collection만 가능


– loop를 빠져 나갈 때는 break를 사용


– loop 중간에 다시 첫부분 부터 실행 할 때는 continue를 사용 함


goto는 keyword는 있으나, 사용 금지가 됨










for(초기화; 논리비교;증가분 ) {


statements;


}


 


for(변수 : Array 또는 Collection ) {


statements;


}



예제










package com.kds.java.basic.char02;


 


public class LoopTest {


 


public static void main(String[] args) {


int [] intAry = new int[20];


for(int i = 0; i< intAry.length; i++ ) {


System.out.printf( “The Value of intAry[%d] is %d \n”, i, intAry[i]);


}


for(int i : intAry ) {


System.out.printf( “The Value of i is %d \n”,i);


}


for(int i = 0; i< intAry.length; i++ ) {


if( i > 10 ) {


break;


}


System.out.printf( “The Value of intAry[%d] is %d \n”, i, intAry[i]);


}


for(int i = 0; i< intAry.length; i++ ) {


if( i > 15 && i <= 20 ) {


continue;


}


System.out.printf( “The Value of intAry[%d] is %d \n”, i, intAry[i]);


}


}


}



3.       while, do~while loop


while문은 선행비교, do~while의 후행비교


– 논리비교가 처음 부터 거짓 경우 while은 한 번도 실행되지 않고, do~while 한번은 실행


break continuefor loop과 동일하게 적용










while(논리비교) {


statements;


}


 


do {


statements;


}


while(논리비교);



4.       break, continue 그리고 label(:)


– 중첩 loop를 빠져 나올 경우 사용


– 빠져 나올 loop 위에 label 명을 사용










package com.kds.java.basic.char02;


 


public class LabelTest {


 


public static void main(String[] args) {


int i = 0;


int j = 0;


breaklabel:


for (i=0; i < 10; i++) {


for (j=0; j < 15; j++) {


if (i >= 5 && j >= 7) {


break breaklabel;


}


}


}


System.out.printf(“i=[%d], j=[%d]\n” , i, j);


continuelabel:


for (i=0; i < 10; i++) {


for (j=0; j < 15; j++) {


if (i >= 5 && j >= 7) {


continue continuelabel;


}


}


}


System.out.printf(“i=[%d], j=[%d]\n” , i, j);


}


}



 


Quiz


1. 다음 switch 문에 틀린 부분을 올바르게 수정하세요.










int i =0;


switch(i > 5) {


case ‘1’


++i;


 break;


case “2”:


–i;


case 3:


i *= 5;


 break;


default:


i %= 3;


}



 




 




설정된 프로필 사진이 없습니다.
| Wise리더
관심분야 IT,여행,맛집

카테고리 레이어 닫기