제어문(if문, if~else문, for문, while문)에 관한 내용은 간단한 설명으로 넘어가겠다.
제어문은 주어진 조건이 참인 경우 명령을 수행하게 된다.
예를 들어 if문의 경우
if(조건) {
명령1;
명령2;
또다른명령3;
{
if 다음에 있는 소괄호 안의 조건이 '참'이라면 중괄호 { } 안의 명령들을 수행하게 된다.
if(내가 민수보다 강의실에 먼저 왔다) {
민수가 앉을 자리를 맡아놓는다;
민수의 커피도 준비한다;
민수가 올 때까지 기다린다;
{
와 같이, 내가 강의실에 먼저 도착했을 경우 다음과 같은 명령들을 수행하게 되는 것이다.
실제로 쓰이는 것처럼 바꿔본다면,
if(A<B) {
A = B+1;
B = 0;
}
위 내용은 A가 B보다 작은 경우 A는 B보다 1 크게 만들어주고, 그 후 B는 0이 되도록 한다.
else문은 if의 다음에 쓰여 if문의 조건이 거짓인 경우 사용한다.
if(조건) {
명령1;
명령2;
{
else {
명령3;
명령4;
}
else문 오른쪽에는 소괄호 ( ) 가 붙지 않는다. else 속 중괄호 { } 의 명령이 수행되는 경우는 오직 if문 옆의 (조건)이 '참'이 아닐 경우 수행하게 된다.
if(오늘도 민수보다 먼저 왔다) {
민수의 자리를 맡는다;
민수의 커피도 준비한다;
민수가 올 때까지 기다린다;
{
else {
민수의 옆자리에 앉는다;
인사를 한다;
}
else문에 포함된 명령 두 개는 민수보다 먼저 오지 않는 경우 수행하도록 프로그램되어 있다.
else if문은 if문 이후에 쓰인다.
if(조건) {
명령1;
{
else if(또 다른 조건) {
명령2;
}
else if(또 다른 조건) {
명령3;
}
else {
명령4;
}
if문의 조건이 거짓일 경우 else문으로 내려가듯이, 이 경우는 if문의 조건이 거짓이면 else if문의 조건을 따지게 된다.
else if문이 else문과 다른 점은 또 다른 조건이 붙는다는 것이고
이게 참이라면 역시 중괄호 { } 안의 내용을 수행하게 된다.
else if문의 조건이 거짓이라면 중괄호 안의 내용은 무시하고 다음 제어문을 진행하면 된다.
else문은 없어도 상관 없다.
if(오늘도 민수보다 먼저 왔다) {
민수의 자리를 맡는다;
민수가 올 때까지 기다린다;
{
else if(민수와 동시에 도착했다) {
함께 자리를 찾아 앉는다;
}
else {
민수의 옆자리에 앉는다;
인사를 한다;
}
for문은 반복형 제어문이다.
for(변수 초기화 ; 조건 ; 갱신내용) {
명령;
}
변수 초기화 : int number=1; 과 같이 변수 선언과 그 값을 지정해준다.
조건 : 참일 경우 중괄호 { } 안의 명령을 수행하도록 조건을 넣는다.
갱신내용 : number++; 처럼 반복 한 차례가 끝날 때마다 갱신할 내용을 넣는다.
for( 배속이 거지이다 ; 만족스럽지 못하다 ; 싸이버거를 먹는다 ) {
불평을 한다;
싸이버거를 주문한다;
}
초기 상태 : 배속이 거지이다.
조건 : 만족스럽지 못하다 → 참일 경우 중괄호 { } 내의 명령을 수행한다.
싸이버거를 먹는다 : 중괄호 내 명령을 수행한 후 행할 명령이다.
불평을 하고
싸이버거를 주문하고
싸이버거를 먹은 후에
다시 조건문으로 돌아간다.
' 나는... 만족스럽지 못한가...? '
이것이 참일 경우 다시 불평을 하면 된다.
만족스러울 경우에는 그 시점에서 for문을 종료하면 된다.
조건문이 참이 아니게 될 때까지 이것을 반복하는 게 for문이다.
숫자로 예를 들면
for ( int number=0 ; number<10 ; number++ ) {
Debug.Log("I have "number" Apples");
}
number가 하나씩 증가하며 0Apple부터 9Apple을 출력하는 콘솔창을 볼 수 있게 된다.
while문은 for문보다 간단하다.
while(조건) {
명령;
{
조건이 참인 경우 명령을 수행하며 반복하고 조건이 참을 유지할 경우 계속 반복해주면 된다.
이 경우, while의 중괄호 { } 안에서 조건을 바뀌게 해주는 명령을 넣는 게 보통이다.
조건이 바뀌지 않는다면... 무한반복을 하게 될 테니까...
배열은 변수의 상위호환정도로 생각하면 되겠다.
변수가 많이 필요한 경우가 있다.
int number1;
int number2;
int number3;
int number4;
int number5;
int number6;
int number7;
int number8;
.
.
이런 경우를 포함한 프로그래밍의 단순화를 위해 고안된 것이 '배열'개념이다.
예를 들어 정수형(int형) 배열의 선언은 다음과 같이 한다.
int[] number = new int[100];
여기에서 new는 새롭게 만든다, 마련한다 라는 뜻으로 쓰여 이것을 풀어 쓴다면
int형 배열인 number에게 새로운 int형 자리 100개를 마련한다
정도가 되겠다.
위와 같은 문장으로 100개의 정수형 변수를 얻을 수 있고 각각 변수의 이름은
number[0] 부터 number[99]가 된다.
number[1]부터가 아님에 주의한다. number[100]은 존재하지 않음에도 주의한다.
'Dev > Unity(C#)' 카테고리의 다른 글
[Unity 2D] 서적을 참고하여 룰렛형 게임을 만들어 보았다 (1) | 2018.01.04 |
---|---|
[Unity] C# 생략할 부분(메서드와 클래스, Vector 클래스의 이용) (0) | 2018.01.03 |
[Unity] C#스크립트 기초(Hello, World 출력) (0) | 2017.12.31 |
[Unity] C#생략한 내용 (0) | 2017.12.31 |
[Unity] 유니티와 JDK, 안드로이드 스튜디오의 설치 (0) | 2017.12.31 |