언어/기타
2006.09.07 06:38

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

조회 수 1095 추천 수 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(조건식);


 


 


 


 


                                                                                                                                                


 


 


 


수고하세요^^

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
764 RPG Maker 예를 들어서.. 태풍™ 2005.09.25 528
763 언어/기타 영화제작 ,,?? 헨젤 2006.06.17 577
762 언어/기타 영화를 만들자 *YeNa* 2006.07.25 768
761 RPG Maker 엽기적인 스타워즈 RPG 전투 이벤트 file Rich 2006.07.06 709
760 언어/기타 연애 시뮬레이션 만들기 2 2 Vermond 2006.08.02 5282
» 언어/기타 연산자 종류 / 연산자 및 제어구조 연지 2006.09.07 1095
758 RPG Maker 여러가지 이동기능을 주인공에게 부여해보자 file CC(虎) 2005.09.05 1152
757 언어/기타 여러가지 문자나타내기,테스트 플레이 팁!!! 혼돈의하늘32 2005.08.07 415
756 언어/기타 여긴 전멸이냐? file 아란 2006.08.03 585
755 RPG Maker 엠블레이스 같은 게임을..? SKT_Terr god 2006.02.08 556
754 언어/기타 엔진 제작중...... 랜스 2008.05.19 1845
753 언어/기타 에에... 할일 없어서 해봤습니다... 카노 방식 이벤트 액알예제.... かの☆あおき 2007.01.19 1546
752 언어/기타 얼음위에서 미끄러지기[지형판독] 1 file 충치보、 2006.07.20 1033
751 언어/기타 언어정보교류 게시판 통계 아란 2006.08.10 488
750 언어/기타 어째서 몬스터는 플레이어에게 쫓겨 다녀야 하는가? rukia 2006.01.16 593
749 RPG Maker 어떻게 하면 스토리를 잘 구성할수 있을까? Game/over 2006.07.28 1362
748 언어/기타 양자컴퓨터(量子~· Quantum Computer) 아란 2006.08.11 633
747 언어/기타 양자론(Quantum Theory) 아란 2006.08.11 585
746 언어/기타 양자 컴퓨터에 대해 여러 가지를 알아보니... 아란 2006.08.16 956
745 언어/기타 약간의 아이디어.. 닉네임군 2006.10.08 1264
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 51 Next
/ 51






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

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