티스토리 뷰

Unity

[Unity] C# 프로그래밍 기본문법 2

마시멜로co. 2019. 6. 4. 16:04

저번글에서는 기본적인 문법인 변수와 메서드를 공부하였습니다. 

 

이번글에서는 제어문과 배열에 대해 공부해보겠습니다. 

 

6.제어문

제어문에는 분기를 결정하는 조건문 if 문과 수행을 여러번 반복하는 반복문 for문 while문 이 있습니다.

6-1. if 문

조건(식)은 결과가 true나 false중 하나가 되는 변수나 표현식입니다.

if(조건식){
  //조건이 참이되면 실행되는 코드
}

만약 조건식이 참이면 중괄호안의 영역을 실행하고 거짓이면 if문의 블록영역을 무시하고 넘어갑니다. 

 

조건식에 사용하는 비교연산자는 다음과 같습니다. 

연산자 결과
a < b a 값이 b 값보다 작으면 참
a <= b a 값이 b 값보다 작거나 같으면 참
a > b a 값이 b 값보다 크면 참
a >= b a 값이 b 값보다 크거나 같으면 참
a == b a 값이 b 값이 같으면 참
a != b a 값이 b 값이 다르면 참

조건식에 사용하는 논리 연산자는 다음과 같습니다. 

연산자 읽는법 결과
A && B A 그리고 B 조건 A와 B가 모두 참이어야  참
A || B A 또는 B 조건 A와 B중 하나만 참이면 참
!A A가 아니다 A가 거짓이면 참, 참이면 거짓

 

6-2. if..else 문

if 문 블록 끝에 else문을 붙여 조건이 거짓일때 실행할 처리를 구성할 수도 있습니다. 

if(a>b){
  //a가 b보다 크면 실행할 코드 - 조건식 참
}else{
 //a가 b보다 작으면 실행할 코드 - 조건식 거짓
}

또한 else에 조건식을 덧붙일 수 있습니다.

if(a>b && b>c){
 //a가 b보다 크고 b가 c보다 크면 실행될 코드
}else if(a>c || c>d){
 //a가 b보다 작거나 b가 c보다 작으면 실행될 코드
 //a가 c보다 크거나 c가 d보다 크면 실행될 코드
}else if(!a){
 //a가 c보다 작고, c가 d보다 작으면 실행될 코드
 //a가 거짓이면 실행될 코드
}

6-3. for문

반복문 for문은 조건이 참인 동안 중괄호안의 코드를 반복합니다.

for(초기화 ; 조건 ; 갱신){
 //조건이 참일 경우 반복 실행할 코드
}

 

  • 초기화 : 반복문에서 사용할 변수(순번이 될 변수)를 선언하고 초깃값을 정합니다.
  • 조건 : 어떤 조건에서 처리를 계속 반복할지 정합니다.
  • 갱신 : 한 회의 처리가 끝나면 순번(초기화에서 선언한 변수)을 어떻게 갱신할지 정합니다. 
for(int i = 0; i < 10; i++){
  Debug.Log("i :" +i);
}

 

실행결과

 

6-4. while 문

while문은 어떤 조건을 만족하는 동안 while문 블록 (중괄호 안의 영역)을 반복실행합니다. 

int i = 0 ; //초기화
while(i < 10 ){ 
 //조건이 참일동안 반복할 코드 
 i++; //무한 반복되지 않도록 조건식을 거짓으로 바꾸는 구문 
}

 

7. 배열

배열은 나열된 여러값을 하나의 변수로 다룰 수 있는 타입입니다. 배열은 일렬로 나열된 방을 가진 건물이라고 생각 할 수 있습니다.

방문마다 호실(순번)이 표시되어 있고, 각 방마다 값하나가 들어갈 수 있습니다. 호실 번호를 알면 그 방으로 찾아가 값을 가져오거나 변경할 수 있습니다.

여기서 호실을 인덱스 index  라고 부르고, 각 방을 배열의 요소 또는 배열의 원소라고 부릅니다.  

int[] arr;

배열의 타입뒤에 [] 대괄호를 붙여 배열 변수를 선언합니다. 아직 몇개의 방인지 정해지지 않은 상태입니다. 

 

다음과 같이 선언과 동시에 방의 갯수를 선언할 수 있습니다.

int[] arr = new int[10];

 new 키워드는 어떤 타입의 오브젝트를 새로 생성한다는 의미입니다.  new 연산자를 이용하여 10개의 방을 가진 int 배열을 생성하여 arr 변수에 할당하였습니다. 각 방은 인덱스를 사용하여 접근가능합니다. 

 

예를 들어 첫번째 요소에 접근하여 값 100을 할당하는 방법은 다음과 같습니다.  

arr[0] = 100;

인덱스의 번호는 반드시 0부터 시작합니다. 여기서 인덱스값은 0~99까지 존재하며, 인덱스는 선언한개수 -1 의 값을 가집니다. 

 

 

 

보통 배열은 for문과 함께 사용합니다. 

int[] arr = new int[10];

for(int i=0; i < 10 ; i++ ){
 arr[i] = i + 10;
 Debug.Log("i =" + i + ",arr[i] = " + arr[i]);
}

 

실행결과

 

배열을 사용하여야 할때는 같은 타입의 변수를 여러개 선언해야 할 경우 사용됩니다. 예를 들어 학생의 점수를 담아야 하는 경우 변수를 다음과 같이 선언하여야 합니다. 

int student1 ;
int student2 ;
int student3 ;
int student4 ;
....
int student100 ;

만약 100명의 학생의 점수를 작성하기위해 위와 같이 변수를 선언해야합니다. 이 경우 배열을 사용하여 같은 타입의 변수를 다음과 같이 선언합니다.

int student = new int[100];

 

이 글에서는 C#의 기초 문법을 살펴보왔습니다. 다음글에서는 프로그램을 구성하는 클래스와 오브젝트에 대해 공부해 보겠습니다. 

 

수고하셨습니다!

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크