검수요청.png검수요청.png

"연산문"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(새 문서: '''연산문'''이란 프로그램 언어에서 프로그램의 단위가 되는 문의 종류의 하나. 사칙연산이나 지수의 연산 실행을 지정하는거다.<ref> 〈[ht...)
 
잔글 (종류)
 
(사용자 3명의 중간 판 7개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''연산문'''이란 프로그램 언어에서 프로그램의 단위가 되는 문의 종류의 하나. 사칙연산이나 지수의 연산 실행을 지정하는거다.<ref> 〈[https://terms.naver.com/entry.naver?docId=815355&cid=50376&categoryId=50376 연산문]〉, 《네이버 지식백과》 </ref>
+
'''연산문'''이란 프로그램 언어에서 프로그램의 단위가 되는 문의 종류의 하나이다. 연산문은 사칙연산이나 지수의 연산 실행을 지정하는 명령문이다.<ref> 〈[https://terms.naver.com/entry.naver?docId=815355&cid=50376&categoryId=50376 연산문]〉, 《네이버 지식백과》 </ref>
  
 
==개요==
 
==개요==
연산문은 대부분의 다른언어 보다 더 일반적 강력하며 C언어의 기본요소인 [[자료]](data)와 [[연산자]](operator)로 구성되며 이때 자료는 변수 또는 상수이다. 이 둘을 조합하고 프로그램으로 작성한 프로그래밍을 연산문이라고 하며 연산자와 같이 여러종류의 연산문으로 구성되어 있다.
+
연산문은 [[자료]](data)와 [[연산자]](operator)로 구성된다. 이때 자료는 [[변수]] 또는 [[상수]]이다. 이 둘을 조합하고 프로그램으로 작성한 프로그래밍을 연산문이라고 하며, 연산자와 같이 여러 종류의 연산문으로 구성되어 있다.
  
 
==종류==
 
==종류==
연산문에는 여러 종류가 있지만 [[산술]], [[관계]], [[논리]], [[비트]], 기타등 의 연산자와 변수들을 이용한 연산문이 대표적이다.
+
연산문에는 여러 종류가 있지만 [[산술]], [[관계]], [[논리]], [[비트]], 기타 등의 [[연산자]]와 [[변수]]들을 이용한 연산문이 대표적이다.
  
 
===산술===
 
===산술===
산술에는 [[단항]], [[이항]], [[대입]]연산자를 이용한 연산문이 있으며 계산식과 결과 값은 다음과 같다.  
+
산술 연산문은 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%) 등의 연산을 할 때 사용되는 연산자로 [[단항]], [[이항]], [[대입]]으로 나타낸 문장이다. 계산식과 결과 값은 다음과 같다.<ref name=""산술"> 홍수열, 〈[http://prof.dongju.ac.kr/syhong/public_html/teaching/c/c04.htm 연산자(operator)]〉, 《동주대학》,  </ref>
  
 
====이항====
 
====이항====
*C언어 예시 : 덧셈, 뺄셈, 곰셈, 나눗셈, 나머지를 작성한 연산문이다.
+
[[덧셈]], [[뺄셈]], [[곱셈]], [[나눗셈]], [[나머지]]를 작성한 연산문이다.
 +
 
 +
;C언어
 
  int num01 = 10;
 
  int num01 = 10;
 
  int num02 = 4;   
 
  int num02 = 4;   
24번째 줄: 26번째 줄:
 
  / 연산자에 의한 결괏값은 2입니다.
 
  / 연산자에 의한 결괏값은 2입니다.
 
  % 연산자에 의한 결괏값은 2입니다. <ref> 〈[http://tcpschool.com/c/c_operator_arithmetic 산술 연산자]〉, 《티시피스쿨》 </ref>
 
  % 연산자에 의한 결괏값은 2입니다. <ref> 〈[http://tcpschool.com/c/c_operator_arithmetic 산술 연산자]〉, 《티시피스쿨》 </ref>
*자바 예시 : 덧셈, 뺄셈, 곰셈, 나눗셈, 나머지를 작성한 연산문이다.
+
 
 +
;자바
 
  public class Error  
 
  public class Error  
 
  {
 
  {
42번째 줄: 45번째 줄:
  
 
====단항====
 
====단항====
대표 단항식 : 증감식이며 다음과 같이 쓰여저있다.
+
대표 단항식은 증감식이며 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산이다. 형식은 다음과 같다.
*C언어 증감식
+
 
 +
;C언어 증감식
 
  #include <stdio.h>
 
  #include <stdio.h>
 
   
 
   
57번째 줄: 61번째 줄:
 
   
 
   
 
     printf("%d %d\n", num3, num4);    // 2 2
 
     printf("%d %d\n", num3, num4);    // 2 2
 
+
 
     return 0;
 
     return 0;
 
  }
 
  }
 
  실행 결과 : 2 2<ref> 〈[https://dojang.io/mod/page/view.php?id=96 증감 연산자의 위치에 따른 차이점 알아보기]〉, 《코딩도장》 </ref>
 
  실행 결과 : 2 2<ref> 〈[https://dojang.io/mod/page/view.php?id=96 증감 연산자의 위치에 따른 차이점 알아보기]〉, 《코딩도장》 </ref>
*자바 증감식
+
 
 +
;자바 증감식
 
  public class Operator {
 
  public class Operator {
 
    
 
    
97번째 줄: 102번째 줄:
 
   
 
   
 
  j = --i의 결과 : i=0, j=0<ref> 냉유's Log, 〈[https://keep-cool.tistory.com/21 (Java 16) 증감 연산자, 조건 연산자]〉, 《티스토리》, 2017-11-26 </ref>
 
  j = --i의 결과 : i=0, j=0<ref> 냉유's Log, 〈[https://keep-cool.tistory.com/21 (Java 16) 증감 연산자, 조건 연산자]〉, 《티스토리》, 2017-11-26 </ref>
 +
 +
====대입====
 +
'='는 오른쪽 계산식의 결과나 값을 왼쪽의 변수에 대입하라는 의미로 사용되며 다음과 같이 사용한다.
 +
 +
;C언어 예시
 +
#incoude <stdio.h>
 +
main ()
 +
{
 +
int a = 3; a = a + 3; a = a – 3; // =, +, –
 +
a = a * 3; a = a / 3; a = a % 3; // *, /, %
 +
printf ( '% d \ n', a);
 +
}
 +
실행 결과 : 0<ref> life knowledge, 〈[https://opentutorials.org/module/3921/23589 연산자(대입, 산술)]〉, 《오픈튜토리얼스》, 2019-01-22 </ref>
 +
 +
;자바 예시
 +
package sec01_exam;
 +
 
 +
public class AsOpEx {
 +
 
 +
    public static void main(String[] args) {
 +
       
 +
       
 +
        int result = 0;
 +
        // 복합 대입 연산자는 값을 누적시킬때 많이 사용된다.
 +
       
 +
        result += 10;
 +
        System.out.println("result =  " + result); //  result 에 10을 더한다.
 +
        // reuslt = result + 10; 이랑 같다
 +
       
 +
        result -= 5;
 +
        System.out.println("result = " + result );
 +
       
 +
        result *= 3;
 +
        System.out.println("result = " + result );
 +
       
 +
        result /= 5;
 +
        System.out.println("result = " + result );
 +
       
 +
        result %= 3;
 +
        System.out.println("result = " + result );
 +
       
 +
       
 +
    }
 +
 
 +
}
 +
실행 결과 : result = 10
 +
result = 5
 +
result = 15
 +
result = 3
 +
result = 0<ref> 뇌 채우기 공간, 〈[https://sso-feeling.tistory.com/26 (자바JAVA) 연산자 - 복합대입연산자]〉, 《티스토리》, 2020-09-16 </ref>
 +
 +
===관계===
 +
두 식의 대소 크기를 비교하는 연산자로서 연산 결과가 [[참]](true)이나 [[거짓]](false)으로 표현한다.<ref name=""산술"></ref>
 +
 +
;C언어 예제
 +
#include <stdio.h>
 +
 +
int main()
 +
{
 +
  int a = 6;
 +
  int b = 4;
 +
 +
  printf("%d \n",a < b); //a 가 b 보다 작은가
 +
  printf("%d \n",a <= b);//a 가 b 보다 작거나 같은가
 +
  printf("%d \n",a > b); //a 가 b 보다 큰가
 +
  printf("%d \n",a >= b);//a 가 b 보다 크거나 같은가
 +
  printf("%d \n",a == b);//a 와 b 가 같은가
 +
  printf("%d \n",a != b);//a 와 b 가 다른가
 +
 +
  return 0;
 +
}
 +
실행 결과 : 0
 +
0
 +
1
 +
1
 +
0
 +
1<ref> 나노콛, 〈[https://qzqz.tistory.com/164 C언어 관계 연산자 / 논리 연산자 / 대입 연산자]〉, 《티스토리》, 2019-07- 18 </ref>
 +
 +
;자바 예시
 +
package sec01_exam;
 +
 
 +
public class CompareOpEx {
 +
 
 +
    public static void main(String[] args) {
 +
       
 +
        int num1 = 10;
 +
        int num2 = 10;
 +
       
 +
        boolean result1 = (num1 == num2); //true
 +
        boolean result2 = (num1 != num2); // false
 +
        boolean result3 = (num1 <= num2); // true
 +
       
 +
        System.out.println(result1);
 +
        System.out.println(result2);
 +
        System.out.println(result3);
 +
    }
 +
}
 +
실행 결과 : true
 +
false
 +
true<ref> 뇌 채우기 공간, 〈[https://sso-feeling.tistory.com/31 (자바JAVA) 연산자 - 자바 관계 연산자]〉, 《티스토리》, 2020-09-17</ref>
 +
 +
===논리===
 +
논리 연산문은 논리합(OR), 논리곱(AND), 논리 부정(NOT) 등의 연산을 할 때 사용하는 연산자를 사용한 연산문으로 다음과 같이 사용한다.<ref name=""산술"></ref>
 +
 +
;C언어 예시
 +
#include <stdio.h>
 +
 
 +
int main()
 +
{
 +
    int num1 = 20;
 +
    int num2 = 10;
 +
    int num3 = 30;
 +
    int num4 = 15;
 +
 
 +
    printf("%d\n", num1 > num2 && num3 > num4);    // 1: 양쪽 모두 참이므로 참
 +
    printf("%d\n", num1 > num2 && num3 < num4);    // 0: 앞만 참이므로 거짓
 +
   
 +
    printf("%d\n", num1 > num2 || num3 < num4);    // 1: 앞만 참이므로 참
 +
    printf("%d\n", num1 < num2 || num3 < num4);    // 0: 양쪽 모두 거짓이므로 거짓
 +
 
 +
    printf("%d\n", !(num1 > num2));    // 0: 참의 NOT은 거짓
 +
 
 +
    return 0;
 +
}
 +
실행 결과 : 1
 +
0
 +
1
 +
0
 +
0<ref> 〈[https://dojang.io/mod/page/view.php?id=157 조건식과 논리 연산자 사용하기]〉, 《코딩도장》 </ref>
 +
 +
;자바 예제
 +
public class LogicalOpTest {
 +
 
 +
    public static void main(String[] args) {
 +
        // TODO Auto-generated method stub
 +
        String str = "Y";
 +
        if ( str == "Y" || str == "y" ) {  // 참 또는 거짓 = 참
 +
            System.out.println("str 은 Y 이거나 y 입니다.");
 +
        }
 +
       
 +
        String str2 = "n";
 +
        if ( str == "A" || str2 == "n" ) {  // 거짓 또는 참 = 참
 +
            System.out.println("str 은 A 이거나 Str2는 n 입니다.");
 +
        }
 +
       
 +
        String str3 = "T";
 +
        if ( str3 == "T" && str3 == "t" ) { // 참 그리고 거짓 = 거짓
 +
            System.out.println("str3 은 T 이며 t 입니다.");
 +
        }
 +
       
 +
        String str4 = "Q";
 +
        String str5 = "q";
 +
        if ( str4 == "Q" && str5 == "q" ) { // 참 그리고 참 = 참
 +
            System.out.println("str4 는 Q 이고, str5 는 q 입니다.");
 +
        }
 +
    }
 +
}
 +
실행 결과 : str 은 Y 이거나 y 입니다.
 +
str2 는 N 이거나 n 입니다.
 +
str4 는 Q 이고 str5는 q 입니다.<ref> omputer Language/JAVA, 〈[https://mozi.tistory.com/451 (JAVA) 자바 논리 연산자를 사용하여 IF문 OR, AND 조건 사용하기]〉, 《티스토리》, 2020-11-01</ref>
 +
 +
===비트===
 +
비트 연산문은 비트 단위로 논리 연산을 수행하는 연산자들을 이용한 연산문이다.<ref name=""산술"></ref>
 +
 +
;C언어 예시
 +
#include <stdio.h>
 +
 
 +
int main()
 +
{
 +
    unsigned char flag = 0;
 +
 
 +
    flag |= 1;    // 0000 0001 마스크와 비트 OR로 여덟 번째 비트를 켬
 +
    flag |= 2;    // 0000 0010 마스크와 비트 OR로 일곱 번째 비트를 켬
 +
    flag |= 4;    // 0000 0100 마스크와 비트 OR로 여섯 번째 비트를 켬
 +
 
 +
    printf("%u\n", flag);    // 7: 0000 0111
 +
 
 +
    if (flag & 1)    // & 연산자로 0000 0001 비트가 켜져 있는지 확인
 +
        printf("0000 0001은 켜져 있음\n");
 +
    else
 +
        printf("0000 0001은 꺼져 있음\n");
 +
 
 +
    if (flag & 2)    // & 연산자로 0000 0010 비트가 켜져 있는지 확인
 +
        printf("0000 0010은 켜져 있음\n");
 +
    else
 +
        printf("0000 0010은 꺼져 있음\n");
 +
 
 +
    if (flag & 4)    // & 연산자로 0000 0100 비트가 켜져 있는지 확인
 +
        printf("0000 0100은 켜져 있음\n");
 +
    else
 +
        printf("0000 0100은 꺼져 있음\n");
 +
 
 +
    return 0;
 +
}
 +
실행 결과 : 7
 +
0000 0001은 켜져 있음
 +
0000 0010은 켜져 있음
 +
0000 0100은 켜져 있음<ref> 〈[https://dojang.io/mod/page/view.php?id=184 비트 연산자로 플래그 처리하기]〉, 《코딩도장》 </ref>
 +
 +
;자바 예제
 +
public class bit {
 +
    public static void main(String[] args) {
 +
 +
        int a = 9;
 +
        int b = 11;
 +
 +
        System.out.println(Integer.toBinaryString(a)); //바이너리로 변환
 +
        System.out.println(Integer.toBinaryString(b)); //바이너리로 변환
 +
        System.out.println("10진수 : " + (a & b));
 +
        System.out.println("2진수 : " + Integer.toBinaryString(a & b));
 +
 +
    }
 +
}
 +
실행 결과 : 1001
 +
1011
 +
10진수 : 9
 +
2진수 : 1001<ref> ikhub vmpo, 〈[https://vmpo.tistory.com/106 (알고리즘) java 비트연산 정리하기]〉, 《티스토리》, 2020-03-21</ref>
 +
 
{{각주}}
 
{{각주}}
  
102번째 줄: 325번째 줄:
 
* 〈[https://terms.naver.com/entry.naver?docId=815355&cid=50376&categoryId=50376 연산문]〉, 《네이버 지식백과》
 
* 〈[https://terms.naver.com/entry.naver?docId=815355&cid=50376&categoryId=50376 연산문]〉, 《네이버 지식백과》
 
* 〈[http://tcpschool.com/c/c_operator_arithmetic 산술 연산자]〉, 《티시피스쿨》
 
* 〈[http://tcpschool.com/c/c_operator_arithmetic 산술 연산자]〉, 《티시피스쿨》
* 너구리해적단, 〈[https://raccoonjy.tistory.com/9 자바(Java)의 기초 박살내기 - 연산자(Operator)]〉, 《출처》, 2017-06-30
+
* 너구리해적단, 〈[https://raccoonjy.tistory.com/9 자바(Java)의 기초 박살내기 - 연산자(Operator)]〉, 《티스토리》, 2017-06-30
 
* 〈[https://dojang.io/mod/page/view.php?id=96 증감 연산자의 위치에 따른 차이점 알아보기]〉, 《코딩도장》
 
* 〈[https://dojang.io/mod/page/view.php?id=96 증감 연산자의 위치에 따른 차이점 알아보기]〉, 《코딩도장》
 
* 냉유's Log, 〈[https://keep-cool.tistory.com/21 (Java 16) 증감 연산자, 조건 연산자]〉, 《티스토리》, 2017-11-26
 
* 냉유's Log, 〈[https://keep-cool.tistory.com/21 (Java 16) 증감 연산자, 조건 연산자]〉, 《티스토리》, 2017-11-26
 +
* life knowledge, 〈[https://opentutorials.org/module/3921/23589 연산자(대입, 산술)]〉, 《오픈튜토리얼스》, 2019-01-22
 +
* 뇌 채우기 공간, 〈[https://sso-feeling.tistory.com/26 (자바JAVA) 연산자 - 복합대입연산자]〉, 《티스토리》, 2020-09-16
 +
* 홍수열, 〈[http://prof.dongju.ac.kr/syhong/public_html/teaching/c/c04.htm 연산자(operator)]〉, 《동주대학》
 +
* 뇌 채우기 공간, 〈[https://sso-feeling.tistory.com/31 (자바JAVA) 연산자 - 자바 관계 연산자]〉, 《티스토리》, 2020-09-17
 +
* 〈[https://dojang.io/mod/page/view.php?id=184 비트 연산자로 플래그 처리하기]〉, 《코딩도장》
 +
* ikhub vmpo, 〈[https://vmpo.tistory.com/106 (알고리즘) java 비트연산 정리하기]〉, 《티스토리》, 2020-03-21
 +
 +
==같이 보기==
 +
* [[연산]]
 +
* [[명령문]]
  
==같이보기==
+
{{프로그래밍|검토 필요}}

2021년 9월 13일 (월) 23:39 기준 최신판

연산문이란 프로그램 언어에서 프로그램의 단위가 되는 문의 종류의 하나이다. 연산문은 사칙연산이나 지수의 연산 실행을 지정하는 명령문이다.[1]

개요[편집]

연산문은 자료(data)와 연산자(operator)로 구성된다. 이때 자료는 변수 또는 상수이다. 이 둘을 조합하고 프로그램으로 작성한 프로그래밍을 연산문이라고 하며, 연산자와 같이 여러 종류의 연산문으로 구성되어 있다.

종류[편집]

연산문에는 여러 종류가 있지만 산술, 관계, 논리, 비트, 기타 등의 연산자변수들을 이용한 연산문이 대표적이다.

산술[편집]

산술 연산문은 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%) 등의 연산을 할 때 사용되는 연산자로 단항, 이항, 대입으로 나타낸 문장이다. 계산식과 결과 값은 다음과 같다.[2]

이항[편집]

덧셈, 뺄셈, 곱셈, 나눗셈, 나머지를 작성한 연산문이다.

C언어
int num01 = 10;
int num02 = 4;  
printf("+ 연산자에 의한 결괏값은 %d입니다.\n", num01 + num02);
printf("- 연산자에 의한 결괏값은 %d입니다.\n", num01 - num02);
printf("* 연산자에 의한 결괏값은 %d입니다.\n", num01 * num02);
printf("/ 연산자에 의한 결괏값은 %d입니다.\n", num01 / num02);
printf("% 연산자에 의한 결괏값은 %d입니다.\n", num01 % num02);
+ 연산자에 의한 결괏값은 14입니다.
- 연산자에 의한 결괏값은 6입니다.
* 연산자에 의한 결괏값은 40입니다.
/ 연산자에 의한 결괏값은 2입니다.
% 연산자에 의한 결괏값은 2입니다. [3]
자바
public class Error 
{
    public static void main(String args[])
    {
        byte a = 10;
        byte b = 20;
 
        //byte c = a + b; 일경우 a, b 모두 int 형으로 변환 되어 연산 되기 때문에 에러 발생.
        byte c = (byte)(a + b);    // 형변환을 통해 byte 데이터 타입으로 바꿔주고 계산해야 한다. 
        
        System.out.println(c);
 
    }
}
실행 결과 : 30[4]

단항[편집]

대표 단항식은 증감식이며 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산이다. 형식은 다음과 같다.

C언어 증감식
#include <stdio.h>

int main()
{
    int num1 = 2;
    int num2 = 2;
    int num3;
    int num4;

    num3 = num1++;    // num1의 값을 num3에 할당한 뒤 num1의 값을 1 증가시킴
    num4 = num2--;    // num2의 값을 num4에 할당한 뒤 num2의 값을 1 감소시킴

    printf("%d %d\n", num3, num4);    // 2 2

    return 0;
}
실행 결과 : 2 2[5]
자바 증감식
public class Operator {
 
    public static void main(String[] args) {
        //증감 연산자의 독립 사용이 아닐 때
        
        int i = 1, j = 0;
        
        j = i++; // 연산 과정 : 1] j = i를 실행, 2] i를 1 증가 
        System.out.printf("j = i++의 결과 : i=%d, j=%d%n",i,j);
        
        i = 1;
        j = 0;
        j = ++i; // 연산 과정 : 1] i를 1증가, 2] j = i를 실행
        System.out.printf("j = ++i의 결과 : i=%d, j=%d%n",i,j);
        
        i = 1;
        j = 0;
        j = i--; // 연산 과정 : 1] j = i를 실행, 2] i를 1 감소 
        System.out.printf("j = i--의 결과 : i=%d, j=%d%n",i,j);
        
        i = 1;
        j = 0;
        j = --i; // 연산 과정 : 1] i를 1감소, 2] j = i를 실행
        System.out.printf("j = --i의 결과 : i=%d, j=%d%n",i,j);        
                        
    }//main    

}//class
j = i++의 결과 : i=2, j=1

j = ++i의 결과 : i=2, j=2

j = i--의 결과 : i=0, j=1

j = --i의 결과 : i=0, j=0[6]

대입[편집]

'='는 오른쪽 계산식의 결과나 값을 왼쪽의 변수에 대입하라는 의미로 사용되며 다음과 같이 사용한다.

C언어 예시
#incoude <stdio.h> 
main () 
{ 
int a = 3; a = a + 3; a = a – 3; // =, +, – 
a = a * 3; a = a / 3; a = a % 3; // *, /, % 
printf ( '% d \ n', a); 
}
실행 결과 : 0[7]
자바 예시
package sec01_exam;
 
public class AsOpEx {
 
    public static void main(String[] args) {
        
        
        int result = 0;
        // 복합 대입 연산자는 값을 누적시킬때 많이 사용된다.
        
        result += 10;
        System.out.println("result =  " + result); //  result 에 10을 더한다.
        // reuslt = result + 10; 이랑 같다
        
        result -= 5;
        System.out.println("result = " + result );
        
        result *= 3;
        System.out.println("result = " + result );
        
        result /= 5;
        System.out.println("result = " + result );
        
        result %= 3;
        System.out.println("result = " + result );
        
        
    }
 
}
실행 결과 : result = 10
result = 5
result = 15
result = 3
result = 0[8]

관계[편집]

두 식의 대소 크기를 비교하는 연산자로서 연산 결과가 (true)이나 거짓(false)으로 표현한다.[2]

C언어 예제
#include <stdio.h>

int main()
{
 int a = 6;
 int b = 4;

 printf("%d \n",a < b); //a 가 b 보다 작은가
 printf("%d \n",a <= b);//a 가 b 보다 작거나 같은가
 printf("%d \n",a > b); //a 가 b 보다 큰가
 printf("%d \n",a >= b);//a 가 b 보다 크거나 같은가
 printf("%d \n",a == b);//a 와 b 가 같은가 
 printf("%d \n",a != b);//a 와 b 가 다른가

 return 0;
}
실행 결과 : 0
0
1
1
0
1[9]
자바 예시
package sec01_exam;
 
public class CompareOpEx {
 
    public static void main(String[] args) {
        
        int num1 = 10;
        int num2 = 10;
        
        boolean result1 = (num1 == num2); //true
        boolean result2 = (num1 != num2); // false
        boolean result3 = (num1 <= num2); // true
        
        System.out.println(result1);
        System.out.println(result2);
        System.out.println(result3);
    }
}
실행 결과 : true
false
true[10]

논리[편집]

논리 연산문은 논리합(OR), 논리곱(AND), 논리 부정(NOT) 등의 연산을 할 때 사용하는 연산자를 사용한 연산문으로 다음과 같이 사용한다.[2]

C언어 예시
#include <stdio.h>
 
int main()
{
    int num1 = 20;
    int num2 = 10;
    int num3 = 30;
    int num4 = 15;
 
    printf("%d\n", num1 > num2 && num3 > num4);    // 1: 양쪽 모두 참이므로 참
    printf("%d\n", num1 > num2 && num3 < num4);    // 0: 앞만 참이므로 거짓
    
    printf("%d\n", num1 > num2 || num3 < num4);    // 1: 앞만 참이므로 참
    printf("%d\n", num1 < num2 || num3 < num4);    // 0: 양쪽 모두 거짓이므로 거짓
 
    printf("%d\n", !(num1 > num2));    // 0: 참의 NOT은 거짓
 
    return 0;
}
실행 결과 : 1
0
1
0
0[11]
자바 예제
public class LogicalOpTest {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "Y";
        if ( str == "Y" || str == "y" ) {   // 참 또는 거짓 = 참
            System.out.println("str 은 Y 이거나 y 입니다.");
        }
        
        String str2 = "n";
        if ( str == "A" || str2 == "n" ) {  // 거짓 또는 참 = 참
            System.out.println("str 은 A 이거나 Str2는 n 입니다.");
        }
        
        String str3 = "T";
        if ( str3 == "T" && str3 == "t" ) { // 참 그리고 거짓 = 거짓
            System.out.println("str3 은 T 이며 t 입니다.");
        }
        
        String str4 = "Q";
        String str5 = "q";
        if ( str4 == "Q" && str5 == "q" ) { // 참 그리고 참 = 참
            System.out.println("str4 는 Q 이고, str5 는 q 입니다.");
        }
    }
}
실행 결과 : str 은 Y 이거나 y 입니다.
str2 는 N 이거나 n 입니다.
str4 는 Q 이고 str5는 q 입니다.[12]

비트[편집]

비트 연산문은 비트 단위로 논리 연산을 수행하는 연산자들을 이용한 연산문이다.[2]

C언어 예시
#include <stdio.h>
 
int main()
{
    unsigned char flag = 0;
 
    flag |= 1;    // 0000 0001 마스크와 비트 OR로 여덟 번째 비트를 켬
    flag |= 2;    // 0000 0010 마스크와 비트 OR로 일곱 번째 비트를 켬
    flag |= 4;    // 0000 0100 마스크와 비트 OR로 여섯 번째 비트를 켬
 
    printf("%u\n", flag);    // 7: 0000 0111
 
    if (flag & 1)    // & 연산자로 0000 0001 비트가 켜져 있는지 확인
        printf("0000 0001은 켜져 있음\n");
    else
        printf("0000 0001은 꺼져 있음\n");
 
    if (flag & 2)    // & 연산자로 0000 0010 비트가 켜져 있는지 확인
        printf("0000 0010은 켜져 있음\n");
    else
        printf("0000 0010은 꺼져 있음\n");
 
    if (flag & 4)    // & 연산자로 0000 0100 비트가 켜져 있는지 확인
        printf("0000 0100은 켜져 있음\n");
    else
        printf("0000 0100은 꺼져 있음\n");
 
    return 0;
}
실행 결과 : 7
0000 0001은 켜져 있음
0000 0010은 켜져 있음
0000 0100은 켜져 있음[13]
자바 예제
public class bit {
    public static void main(String[] args) {

        int a = 9;
        int b = 11;

        System.out.println(Integer.toBinaryString(a)); //바이너리로 변환
        System.out.println(Integer.toBinaryString(b)); //바이너리로 변환
        System.out.println("10진수 : " + (a & b));
        System.out.println("2진수 : " + Integer.toBinaryString(a & b));

    }
}
실행 결과 : 1001
1011
10진수 : 9
2진수 : 1001[14]

각주[편집]

  1. 연산문〉, 《네이버 지식백과》
  2. 2.0 2.1 2.2 2.3 홍수열, 〈연산자(operator)〉, 《동주대학》,
  3. 산술 연산자〉, 《티시피스쿨》
  4. 너구리해적단, 〈자바(Java)의 기초 박살내기 - 연산자(Operator)〉, 《티스토리》, 2017-06-30
  5. 증감 연산자의 위치에 따른 차이점 알아보기〉, 《코딩도장》
  6. 냉유's Log, 〈(Java 16) 증감 연산자, 조건 연산자〉, 《티스토리》, 2017-11-26
  7. life knowledge, 〈연산자(대입, 산술)〉, 《오픈튜토리얼스》, 2019-01-22
  8. 뇌 채우기 공간, 〈(자바JAVA) 연산자 - 복합대입연산자〉, 《티스토리》, 2020-09-16
  9. 나노콛, 〈C언어 관계 연산자 / 논리 연산자 / 대입 연산자〉, 《티스토리》, 2019-07- 18
  10. 뇌 채우기 공간, 〈(자바JAVA) 연산자 - 자바 관계 연산자〉, 《티스토리》, 2020-09-17
  11. 조건식과 논리 연산자 사용하기〉, 《코딩도장》
  12. omputer Language/JAVA, 〈(JAVA) 자바 논리 연산자를 사용하여 IF문 OR, AND 조건 사용하기〉, 《티스토리》, 2020-11-01
  13. 비트 연산자로 플래그 처리하기〉, 《코딩도장》
  14. ikhub vmpo, 〈(알고리즘) java 비트연산 정리하기〉, 《티스토리》, 2020-03-21

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 연산문 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.