언어/기타
2006.09.07 06:38

연산자 종류 / 연산자 및 제어구조

조회 수 1130 추천 수 3 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

◆ 연산자 및 제어구조◆


 


 



***제어구문


-  로직을 처리하기 위한 방법으로 프로그램의 흐름을 제어하는 문장, 제어구문의 종류


 


 


반복적인 구문..........> while, do-while, for
for문
for(초기화;조건식;증감식}
반복 하고자 하는 문장들;
}
While문
while(조건식);
반복 하고자 하는 문장들;
}
Do~while문
do{
반복 하고자 하는 문장들;
}while(조건식)
조건에 의한 분기.........> if-else, switch-case
예외처리구문.........> try-catch-finally, throw
분기처리.........>break, continue, label:, return


 


 



연산자
java도 다른 언어와 동일한 연산자를 갖고 있음.
연산자라는 것은 쉽게 이야기하자면, 우리가 산수시간에 배운
더하기, 빼기, 곱하기, 나누기등과 비슷한 것
다음을 계산할 경우, 계산 순서는 2 Ⅹ 3 + 5 / 3 1번 2 Ⅹ 3
2번 5 / 3
3번 Ⅹ한 값 + / 값


 


 


 


 


 


                                                                                                                                                


 


◆연산자의 종류◆


 


 


1. 단항 연산자 - 변수의 값을 하나 증가시키거나 하나 감소시키는 작업으로 언어에서는 제일 자주 발생


 


 


int(integer)
++ 피연산자(operand)의 값을 1 증가 시킴
-- 피연산자(operand)의 값을 1 감소 시킴 class testEx1 {
public static void main(String args[]) {
int i=5;
i++;
System.out.println(i);
i=5;
++i;
System.out.printin(i);
}
}
cmd.exe/창에 보이는 값 6
6 ........................
class testEx{
public static void main(String args[]) { int i=5;
i++; // i=i+1과 같은 의미
System.out.println(i);
i=5;
System.out.println(i);
}
}
..................................................
예제 //intro : testEx51.java
class testEx51{
public static void main(String args[]) { int i=0;
++i;
System.out.println(" ++i ==> "+i); --i;
System.out.println(" --i ==> "+i); i=0; i=i+1;
System.out.println(" i=i+1 ==> "+i); i=i-1;
System.out.println(" i=i-1 ==> "+i);
}
} cmd 결과 ++i ==> 1
--i ==> 0
i=i+1 ==> 1
i=i-1 ==> 0

2. 이항 연산자(부호 연산자) - 피연산자의 부호를 변경하는데 사용,
boolean형/char(1byte)
형을 제외한 나머지 기본형에 사용


 


+ 피연산자에 양수 1을 곱한 결과를 얻음.
- 피연산자에 음수 1을 곱한 결과를 얻음 class testEx1 {
public static void main(String [] args)
{ int i=-10;
i=+i; //+(-10);

System.out.printin(i); //-10
i=-10;
i=-i; //-(-10)
System.out.printin(i); //+10 }
}

cmd.exe/창에 보이는 결과 값 -10
10

3. 삼항 연산자 - 자바에서 소스의 길이를 줄이기 위해 많이 사용하는 방법,
조건식을 먼저 내놓은 상태에서 참, 거짓의 실행 여부를 적어 놓습니다


 


 


 


 result=((value % 2)==0)? "짝수","홀수";
예제
class testEx1
{
public static void main(String[] args)
{ int value=Integer.parseint(atgs[10]);
String result=((value % 2)==0)? "짝수" : "홀수";
system.out.printin("입력 받은 수는 " +value + "이며," +result + "입니다.");
}
}
실행방법
D:java>javac testEx1.java
D:java>javac test0Ex.java cmd.exe/창에 보이는 결과값 입력 받은 수는 10이며, 짝수입니다.


4. 관계 연산자 - 두 개의 오퍼랜드 값을 비교하는 방식을 취하고 있고, 모두 true와 false를 줌


 


 


> op1>op2 op1이 op2 크다.
>= op1>=op2 op1이 op2 크거나 같다.
< op1<= op1<=op2 op1이 op2 작거나 같다.
== op1==op2 op1이 op2 같다
i= op1i=op2 op1이 op2 같지 않다.
instanceof op1 instanceof op2 op1이 op2의 인스턴스(객체)이다.
class->자동차, 냉장고 등에 비유할 수 있음.
객체 -> 자동차, 냉장고에 속해 있는 핸들, 냉동칸 등에 비유할 수 있음. 두개의 오퍼랜드 값이 크다, 또는 작다, 같다, 다르다등을 비교하는 방식을 취하고 있으며,
이와 같은 관계 연산자는 모두 True와 fa;se를 던져 줌.
예제
class testEx1
{
public static void main(String [] args) {

int a,b;
boolean result;
a=integer.parselnt(args[10]);
b=integer.parselnt(args[10]); result=a>b;
system.out.[promtom(a+">"+b+" --> "+result);

result=a>=b;
system.out.[promtom(a+">"+b+" --> "+result); result=a system.out.[promtom(a+">"+b+" --> "+result); result=a<=b;
system.out.[promtom(a+">"+b+" --> "+result);
result=a==b;
system.out.[promtom(a+">"+b+" --> "+result);
result=ai=b;
system.out.[promtom(a+">"+b+" --> "+result); }
}


5. 논리 연산자 - 두 연산을 논리적으로 처리를 하는 것이고, 결과는 true 또는 false 값을 반환


 


 


 


 & op1& op2 op1과 op2가 모두 true이면 true, 그렇지 않으면 false(op1과 op2를 모두 평가)
&& op1&& op2 op1과 op2가 모두 true이면 true, 그렇지 않으면 false(op1과 op2이면 op2 평가 안함)
ㅣ op1ㅣ op2 op1과 op2가 둘 중 하나 이상이 true이면 true, 모두 false이면 false(op1과 op2를 모두평가)
ㅣㅣ op1ㅣㅣ op2 op1과 op2가 둘 중 하나 이상이 true이면 true, 모두 false이면 false(op1과 op2는 평가 안 함)
! !op op가 true이면 faue이면, false이면 true.
예 int a = 20;
Car mycar = new Car();
System.out.println(mycar.model);
System.out.println(mycar.speed);
System.out.println(mycar.cost);
System.out.println(mycar.color); Class Car{
String model;
int model;
color model;
} 논리 연산자
두 연산을 논리적으로 처리를 한다는 것으로 이것도 논리 연산자의 결과는 true또는 false값을 변환함.
예제
class testEx1
{
public static void main(String [] args) {
boolean a,b,resylt; a=true;
b=flase; result=a&b;
System.out.printin(a+"&" +b+" --> "resylt); result=a&&b;
System.out.printin(a+"&&"+b+" --> "resylt); result=aㅣb;
System.out.printin(a+"ㅣ"+b+" --> "resylt); result=aㅣㅣb;
System.out.printin(a+"ㅣㅣ"+b+" --> "resylt); result=ㅣa;
System.out.printin(a+"!"+b+" --> "resylt);

}
}


 


 


 


6. 비트 연산자 -비트 연산자는 프로그램의 속도를 향상 시키는 것으로 반드시 정수타입이어야 함


 


 


정수타입을 비트 연산 한다는 것의 의미->
한 비트나 여러 비트를 왼쪽과 오른쪽에 관계없이 이동한다는 의미임.
& op1 & op2 op1과 op2 각 비트 단위의 논리곱(AND)
l op1 l op2 op1과 op2 각 비트 단위의 논리합(OR)
^ op1 ^ op2 op1과 op2 각 비트 단위의 배타적 논리합(XOR)
~ ~ op 비트 단위의 보수(0->1, 1->0)
>> op1 >> op2 op1과 op2만큼 오른쪽으로 이동(shift right)
<< op1 << op2 op1과 op2만큼 왼쪽으로 이동(shift left)
>>> op1 >>> op2 op1과 op2만큼 오른쪽으로 이동(shift right)
왼쪽에는 항상 부호에 상관없이 0이 채워진다.
보충 : 비트 연산자의 예 byte a = 51;
a의 이진 값은 "00110011" byte a = 51;
a의 이진 값은 "00110011" byte c = (byte) ~ a;
c의 이진 값은 "11001100" 즉, 204
(~ : 베타라는 것은 1은 0으로 0은 1로 변화는 것을 의미함.) byte c = (byte) a & b;
c의 이진값은 "00100010" 즉, 34
(& : 논리의 곱이라는 것은 1 * 0 = 0, 0 * 0 = 0
0 1= 0 1*1=1 이렇게 되는 것을 의미함.) byte c = (byte) a >> 2;
c의 이진 값은 "00001100" 즉, 12
(>>2 : 오른쪽으로 2bit밀어내는 것을 의미함.) byte c = (byte) b >>2;
c의 이진 값은 "10011010" 즉, 152
(<<2 : 왼쪽으로 2bit밀어내는 것을 의미함.) byte c = (byte) a >>> 4;
c의 이진 값은 "00000011" 즉, 3
(>>>4 : 오른쪽으로 4bit밀어내는 것을 의미함.)


 


 


 


 


 


 


◆제어구문의 정의와 종류◆


***제어구문


로직을 처리하기 위한 방법으로 프로그램의 흐름을 제어하는 문장.


 


 


 



제어구문의 종류
반복적인 구문 ---------> while, do-while, for
조건에 의한 분기 ------> if-else, switch-case
예외처리구문 ----------> tr-catch-finally, throw
분기처리 --------------> break, continue, label:, return
반복구문에는
For문
for(초기화;조건식;증감식){
반복 하고자 하는 문장들;
} 예제
1~10까지의 홀수 끼리의 함과 짝수 끼리의 합을 구하는 것 public class sumTest{
public static boid main(String[] args) {
int i=0, sum-odd, sum_even; sum_odd=0;
sum_even=0;
// for(int i = 0;i <= 10; ++i){
while(i<=10) {
if((i%2)==0)
sum-even=wum_even+i;
else
sum_odd=sum_odd+i;
++i; While문
while(조건식){
반복 하고자 하는 문장들;
} 예제
while문을 이용하여 1~10까지의 홀수 끼리의 함과 짝수 끼리의 합을 구하는 것 Home.java
class home
{
int cup_cnt; //컵의 수
String myName; //명암 //디폴트 생성자
//이것이 없으면 하위클래스 생성시 에러 발생
home()
{
} //생성자이다.문자열을 String 클래스로 받아서 저장한다.
home(String myName)
{
this.myName=myname;
}
do{
반복 하고자 하는 문장들;
}while(조건식);


 


 


 


 


                                                                                                                                                


 


 


 


수고하세요^^

?

  1. 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법

    Date2018.01.02 CategoryRPG Maker Byzero? Views644
    Read More
  2. [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집

    Date2017.07.14 Category언어/기타 By황금상자 Views702
    Read More
  3. rpg vxa 로 겜만들때 데미지 설정 공식[링크]

    Date2017.06.08 CategoryRPG Maker By준E Views740
    Read More
  4. [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템

    Date2017.03.31 CategoryRPG Maker By준E Views2019
    Read More
  5. JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기

    Date2016.12.24 Category언어/기타 Bytitle: 댓글러lklslel Views851
    Read More
  6. 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요

    Date2016.11.08 Category언어/기타 By마나님이 Views908
    Read More
  7. RPG MV에서 플러그인 오류의 원인에 대하여

    Date2016.07.08 CategoryRPG Maker Bytitle: 댓글러lklslel Views2359
    Read More
  8. RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME)

    Date2016.07.08 CategoryRPG Maker By최저 Views1627
    Read More
  9. 게임의 버전을 짜 보자! - 유의적 버전 2.0.0

    Date2016.06.07 Category언어/기타 ByYanggaeng Views1123
    Read More
  10. 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다!

    Date2016.03.12 CategoryRPG Maker By정궈니 Views2938
    Read More
  11. rpgmv 마우스 지원과 터치 지원이 되니.

    Date2015.10.25 CategoryRPG Maker By팡소리 Views1011
    Read More
  12. RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상.

    Date2015.10.25 CategoryRPG Maker ByHT9MAN Views2246
    Read More
  13. RPG게임 뻔한요소들.

    Date2015.10.05 Category언어/기타 Bytitle: 천무천무 Views1644
    Read More
  14. 자바스크립트와 관련해서 참고할 만한 사이트들

    Date2015.10.04 Category언어/기타 ByMARCO Views921
    Read More
  15. 꿀잼이군요!

    Date2015.05.20 Category언어/기타 By사람님[대회참가] Views873
    Read More
  16. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.06 CategoryRPG Maker Bytitle: 자게이하앵 Views1833
    Read More
  17. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.05 CategoryRPG Maker Bytitle: 자게이하앵 Views748
    Read More
  18. [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계

    Date2015.04.02 Category언어/기타 Bytitle: 천무천무 Views636
    Read More
  19. 오다 주웠습니다.

    Date2015.03.30 Category언어/기타 By사람님[대회참가] Views917
    Read More
  20. 무료 이미지 사이트 Pixabay!

    Date2015.03.28 Category언어/기타 By나작소 Views909
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)