Unity c# for designer 2강 / 연산자

C#이 보이는 그림책을 참고로 작성했습니다.

강의용 자료로 만들었기 때문에 구체적인 설명은 없습니다.


1. 산술 연산자


연산자

기능

사용법

+

덧셈

a = b + c

-

뺄셈

a = b - c

*

곱셈

a = b * c

/

나눗셈

a = b  / c

%

나머지

a = b % c

=

대입

a = b

++

증가

변수의 값을 증가 시킴

--

감소

변수의 값을 감소 시킴



using UnityEngine;

using System.Collections;


public class calculation : MonoBehaviour {


public float b = 10f;

public float c = 20f;


// Use this for initialization

void Start () {

float d = b + c;

float e = b - c;

float f = b * c;

float g = b % c;

float h = b;

float i = ++b;

float j = --c;


Debug.Log (d);

Debug.Log (e);

Debug.Log (f);

Debug.Log (g);

Debug.Log (h);

Debug.Log (i);

Debug.Log (j);


}

// Update is called once per frame

void Update () {

}

}








2. 비교 연산자


연산자

사용법

의미

==

a == b

a와 b는 같다

<

a < b

a는 b보다 작다

>

a > b

a는 b보다 크다

<=

a <= b

a는 b보다 작거나 같다

>=

a >= b

a는 b보다 크거나 같다

!=

a != b

a와 b는 같지 않다.





3. 논리형




using UnityEngine;

using System.Collections;


public class tnb : MonoBehaviour {



public int a = 10;

public int b = 20;

public bool c;

public bool d;

public bool e;


// Use this for initialization

void Start () {

c = a < b;

d = a > b;

e = a == b;

Debug.Log (c);

Debug.Log (d);

Debug.Log (e);

}

// Update is called once per frame

void Update () {

}

}



조건 연산자


using UnityEngine;

using System.Collections;


public class tnb2 : MonoBehaviour {


public string right;

public string wrong;

private bool value;

private string answer;



// Use this for initialization

void Start () {

value = true;

answer = value ? right : wrong;

Debug.Log (answer);


value = false;

answer = value ? right : wrong;

Debug.Log (answer);

}

// Update is called once per frame

void Update () {

}

}









4. 논리 연산자


연산자

사용법

의미

&, &&

(a >= 10) && (a <50)

a는 10 이상이고 50 미만이면 참

|, ||

(a == 1) || (a == 100)

a는 1 또는 100이면 참

!

!(a == 100)

a는 100과 같다면 거짓




using UnityEngine;

using System.Collections;


public class tnb3 : MonoBehaviour {


public int a = 3;

public int b = 4;

bool x;

bool y;


// Use this for initialization

void Start () {

x = (a < 0);

y = (b > 0);


Debug.Log ((a == 3) & (b == 3));

Debug.Log (x | y);

Debug.Log (!(a == b));


}

// Update is called once per frame

void Update () {

}

}








5. 연산 우선 순위

간단한 문자 출력을 해보며 간단히 구조를 살펴봅니다.



6. 형 변환


using UnityEngine;

using System.Collections;


public class tnb4 : MonoBehaviour {


// Use this for initialization

void Start () {


Debug.Log ("3 / 2 = " + 3 / 2);

Debug.Log ("3 / 2 = " + 3 / 2);


Debug.Log ("3 / 2 = " + (float) 3/2);

Debug.Log ("3 / 2 = " + 3 / (float)2);


Debug.Log ("1.2 + 1.3 = " + (int)1.2f * (int)1.3f);

}

// Update is called once per frame

void Update () {

}

}






8. 과제

코드로 옮겨 보세요.


과제

using UnityEngine;

using System.Collections;


public class homework02 : MonoBehaviour {




열거형 calc_A ,calc_B 를 선언합니다.


public 정수형 value_A,value_B 를 선언합니다.

public 문자열 talkA,talkB를 선언합니다.


논리형(bool)talkValue,answer_01,answer_02,answer_04,answer_05을 선언합니다.

문자열 answer_03을 선언합니다.


정수형 a,b,c,d를 선언합니다.





void Start () {


스타트 함수에서 아와 같이 연산식을 각각대입합니다.

value_A * value_B = a

value_B % value_A = b

++value_B = c

value_B = d


각각에 변수에 아래의 식을 코드로 옮기세요.

answer_01 = a는b보다 작거나 같다.

answer_02 = a와b는 같지않다.

answer_03 = talkA와 talkB의 조건연산식 (힌트 talkValue? XXX : XXX )

answer_04 = a는b보다 크다 || c와d는 같다

answer_05 = (calcuEnum==CalcuEnum.calc_A) && (a는b보다 크다);

talkValue = talkValue는 참 입니다.


answer_01,answer_02,answer_03,answer_04,answer_05의 디버그 로그를 찍으세요.


}



void Update () {

}


}








잠깐!!!

실행전 인스펙터에 value_A는 10을 value_B는 20을 대입합니다.

인스펙터에 talkA는 Oh!를 talkB는 Ah!대입합니다.

그리고는 열거형 calc_A를 선택합니다.

실행~!



결과





Posted by 프리랜서 디자이너