반응형


// 반갑습니다, 에르의 생각발전소입니다 :)

// 이번 시간 다뤄볼 주제는 switch구문입니다!














 

/* switch 구문

 switch 비교 대상 {

                case pattern 1 :

                            statement   

                case pattern 2 :

                            statement

                default :   

                            statement

 }


다양한 가능성이 있는 여러개의 조건 비교에 효율적으로 사용하기위해

 if~ else if 구문 보다는 swift구문이 적합하다고 있습니다.

 case pattern 마다 조건을 제시하고 default값에는 모든 변수를 대변할 구문을 실행합니다.

 기존의 C언어나 자바 많은 언어에도  switch구문이 있지만, 스위프트의 switch구문과의 차이점이 있습니다.

 스위프트의 switch구문은 일치하는 패턴이 있을 경우 해당 패턴과 일치하는 블록의 실행 코드를 처리한 전체 분기문을 종료하고

 다음 구문을 진행합니다.

 뒤에 일치하는 패턴이 있더라도, 처음 일치하는 case구문만 실행합니다.

 그리고 기존의 C 자바는 추가적으로 일치하는 case구문이 있더라고 실행됩니다.

 break구문이 따로 있어야만 멈추는게 기존 언어들의 특징이지요.

 이부분에서는 스위프트가 진화했다고도 있을 같습니다.

 

 

var con = 1

switch con {

case 1 :

    print("해당 값은 1 입니다.")

case 2 :

    print("해당 값은 2 입니다.")

case 3 :

    print("해당 값은 3 입니다.")

default :

    print("어느 조건과도 일치하지 않습니다.")

}


// break구문에 대해서 말씀드렸는데

// 스위프트에서도 타언어처럼 사용할 있는 장치가 있습니다.

// 바로 fallthrough 기능입니다.

// fallthrough 삽입하면, 해당 케이스는 무시하고 다음 케이스로 이동합니다.

// 아래 예제를 보시지요!


let test : Character = "L"

switch test {

case "l" :

    print("글자는 l입니다.")

case "L":

    fallthrough

default :

print("일치하는 글자가 없슴당")

}


// case "L" 해당되는 값임에도 fallthrough 붙어있음으로써, default값이 실행되었습니다.

// 명시적으로 구분해서, 스위치구문을 탄탄히 만들 있습니다.

//  위 예제들 실행시 나오는 값들 사진입니다 :)

반응형
by 발전소장 에르 :) 2016. 6. 1. 08:00
반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에 다뤄볼 주제는 while구문입니다 :)

저번 시간에는 for 구문을 다뤄봤었죠?

어떤가요?  부족한 점이 있으면 피드백 기다리겠습니다 :D







// for구문과 while구문의 차이점은 or구문은 미리 정해진 실행 횟수만큼 실행되지만,

// while구문은 루프 상수나, 카운터 변수가 없고, 그냥 조건식이 false 때까지 실행됩니다.

// for구문은 횟수가 중요하며, while구문은 결과값의 true / false 여부가 중요하겠지요?

// while구문의 사용 예는 주로 1)실행 횟수를 기반으로 없는 조건 

// 2) 실행전까지는 실행횟수를 없을 3) 실행횟수가 명확치않을때


// while 조건식 {                  조건식은 반드시~ true / false 값을 반환해야합니다.

// 실행구문 

// } 


// 위와같은 타입을 가집니다 :)


var n = 2

// 변수 n 2라는 정수타입의 값을 가진다.

while n < 2000 {

    // n 2000보다 작을 때까지

    n = n*2

    // n 2 곱한다!

}

// 결과입니다 :)

// while구문은 변수가 상수를 위에 먼저 선언하시고 나서~ 


// 구문에 넣으셔야 실행이 가능합니다.


// 소소한 팁이되겠네요.

// repeat while구문


var i = 1994

repeat {

    i =  i * 2

}


while i < 1994


// repeat while구문은 조건이 무조건 false임에도 불가하고한번은 ! 무조건 한번은자동으로 실행이 됩니다.

// 고로결과값이 3988 되는거죠. while구문에 적용해보도록 하겠습니다.

var i2 = 1995

while i2 < 1994 {

    i2 = i2 * 2

}

print(i2)


// 보시면 i2 값이 그래도 1995인것을 확인하실 있습니다.

// 왜냐하면? 조건식이 false이니 한번도 실행되지않은채 남겨지는거죠.


// 감사합니다 :)


2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편

2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서

2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스

2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set

2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!

2016/05/06 - [프로그래밍발전소 ♫] - 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!

2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!

2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!

2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift Function 스위프트 함수편!

2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)



반응형
by 발전소장 에르 :) 2016. 5. 14. 05:18
| 1 |