switch 문(2)

 

 

 

 

 

Ø컨트롤의 이동
lswitch문의 변수값과 일치하는 case로 점프(진입점)
l변수값 일치하는 case가 없을 경우 default로 점프
lbreak문을 만나면 switch문 외부로 점프(종단점)

 

Øcase의 중첩효과
lbreak를 만나지 않는 한 컨트롤이 계속 진행

 

  switch(변수){

  case value-1 :

  case value-2 :

  statements;

 

  defalut :

  statements;

  }

 

 

 

 

switch 문(1)

 

 

 

 

 

  switch(변수)  {

      case value-1 :

  statements;

  break;

  case value-2 :

  statements;

  break;

  ……

  case value-N :

  statements;

  break;

  defalut :

  statements;

  }

 

 

 

if 문(2)

 

 

 

 

Ø양식 2 (if-else)

if (condition){

  statements;

} else {

  statements;

}

 

Ø양식 3 (중첩 if)

if (condition){

  statements;

} else if (condition){

  statements;

}  …… 

} else {

  statements;

}

 

 

 

if 문(1)

 

 

 

 

 

Øif statement
l어떤 조건의 참, 거짓을 판단하여 실행을 제어하는 구조에 사용되는 statement이다.

 

Ø
C#에서 특히 주의할 부분
lcondition 부분은 결과값이 반드시 boolean값이 true또는 false가 되어야 한다.
lconvert.ToBoolean()을 사용해서 명시적으로 변환
l다른 언어들의 경우: 0 이나 -1false로 나머지를 true로 암시적 형 변환

 

Ø
양식1

if (condition){

  statements;

}

 

 

 

조건 연산자

 

 

 

 

 

Ø간단한 if-then-else의 경우에 조건 연산자를 사용한다.
Ø조건의 참, 거짓에 따라 다른 값을 가진다.

 

 

 

 

연산자 

사용 예 

의미 

?1:2 

a=x>20?30:5 

(x>20)인 조건이 참이면 30을 거짓이면 5a에 할당한다. 

 

 

 

 

 

예제) 비트 연산자 사용

 

 

 

 

using System;

public class Bitoper

{

  public static void Main(string[] args)

  {

      int i = 10;

     int j = 20;

  int a;

 

  a = i & j; i = i >>3; j = i<<3;

  Console.WriteLine("a={0}, i={1}, j={2}", a,i,j);

  Console.ReadLine();

  }

}  // 실행 결과는?

 

 

 

 

논리 연산자와 비트 연산자(2)

 

 

 

 

 

Ø A&&B의 경우, 만약 Afalse이면 더 이상 B를 계산하지 않고 계산 결과값이 false로 결정된다. Atrue일때만 B를 계산한다.

 

Ø A||B의 경우, 만약 Atrue이면 더 이상 B를 계산하지 않고 계산 결과값을 true로 결정한다. Afalse인 경우에만 B를 계산한다.

 

Ø A|BA&B의 경우, A가 값에 관계없이 계속해서 B를 계산해서 AB로 연산을 수행한 후에 계산 결과값 true를 결정한다.

 

 

 

 

논리 연산자와 비트 연산자(1)

 

 

 

 

Ø C#에서는 bool 타입만이 논리연산자를 사용할 수가 있다. C에서는 0이나 -1false라고 묵시적으로 생각하였으나, C#에서는 반드시 true, false로 명시하고 있다.

 

Ø int형은 bit 연산자만을 사용할 수 있다.

 

Ø bit연산이란 정수를 2진수로 나타낸 후 각 자리의 bit들을 각각 연산하는 것이다.

 

Ø bool 타입은 논리 연산 대신 &, | 등을 사용할 수도 있다.

 

 

 

 

 

+ Recent posts