본문 바로가기

전체 글

(404)
[Atomic 14] 식과 문 프로그래밍 언어에서 가장 작은 코드 조각인 식과 문 앞에서 잠깐씩 식과 문이 언급되기는 했지만, 이에 대한 설명 없이 지나갔었는데, 이번 아톰에서는 식과 문을 다룰 예정이다. 식과 문이 무엇이고 이가 어떻게 사용되는지 알아보자 [ 문 : statement ] 문(statement) : 효과를 발생시키지만 결과를 내놓지 않음 : 결과가 없기에 필요있으려면 주변의 상태를 변경 : 즉, 부수 효과(side effect)를 얻기 위해 문을 사용 - A Statement chagnes state : 문은 상태를 변경한다. fun main(){ val f = for(i in 0...3){} // for는 문 } - for는 식이 아닌 문으로 결과값을 만들어내지 않기 때문에 for문을 다른 변수에 대입할 수 없음 [..
[Atomic 13] in 키워드 (feat. 이터레이션의 in / 포함 여부 in) in의 역할은 for문에서만 있는 것이 아니었다? 지난 블로깅에서 for문에 대한 블로깅을 하면서 in에 대해서 잠깐 접했었다. in은 해당 범위안에 있는 i를 나타내기 위해서 쓰였었는데, in이 어떻게 쓰이는지 알아보자. [ in 키워드 ] fun main(){ val values = 0...5 for(v in values){ print(v) // 출력결과 : 012345 } if(2 in values){ println(true) // 출력 결과 : true } } - for 루프 제어식에 있는 in은 이터레이션을 의미 - 이외의 in은 모두 원소인지 여부를 검사하는 in을 의미하며, 아래와 같이 범위에만 국한되지 않음 (또한 범위는 문자열 범위도 가능) - 문자열, Double 타입 등 다른 타입에서..
[Atomic 12] 루프와 범위 (feat. for문) 이번에는 for문을 이용한 반복 && 범위를 나타내는 다양한 표현들 지난 블로깅 때 while을 이용한 반복문을 살펴보았었는데, 오늘은 for을 이용한 반복문, 그리고 for문에서 사용하는 범위에 대한 다양한 표현들에 대해서 알아볼 예정이다. * for문의 경우 기본적인 내용이기 때문에 범위에 대한 표현들의 예시로 다룰 예정이기에 초점은 범위와 루프에 맞춰져 있다는 점 참고 필요 [ 범위를 나타내는 다양한 표현들 ] 1) .. fun main(){ for(i in 1..5){ print(i) // 출력 결과 : 12345 } for(i in 'a'..'d'){ print(i) // 출력 결과 : abcd } } : 양 끝 값을 포함한 범위 ex) a..b = a
[Atomic 11] while로 반복하기 가장 기본적인 반복의 방법 while 오늘은 반복문 중 하나인 while, while이 나온다면 따라 다니는 do-while에 대해 학습할 예정이다. 반복을 한다는 것은 어떠한 조건을 기준으로 주어진 식을 반복하게 되는데 이때 반복이 어떻게 이루어지는지, 반복을 하기 위해서는 어떤 것들이 필요한지 알아보자. [ while, do-while ] fun main(){ while(Boolean 식) { // 반복 코드 } do{ // 반복 코드 } while(Boolean 식) } - while : 실행 시 Boolean 식을 확인하며, true일 경우 괄호 내 코드를 실행 - do-while : 실행 시 코드를 바로 실행하며, 실행 이후 Boolean 식을 확인 후 true일 경우 코드를 재실행 : 실행 후..
[Atomic 10] 불리언(Boolean) 코틀린에는 !도 있지만 && 와 ||도 있다. 이전 블로깅에서 숫자와 관련된 코틀린 블로깅을 진행했는데 이번에는 !(논리 부정 연산자)에 이어 Boolean에 영향을 미치는 &&와 || 연산자에 대해서 알아볼 예정이다. [ 연산자 && 그리고 || ] - && (논리곱) : Boolean의 식이 모두 T일 때에만 true를 반환 - || (논리합) : Boolean의 식 중 하나라도 T일 경우 true를 반환 fun main(){ val ex1 = true && 5>1 || false && 1>5 val ex2 = (true && 5>1) || (false && 1>5) val ex3 = (true && 5>1 || false) && 1>5 println(ex1) // 출력결과 : true println..
[Atomic 09] 수 타입 코틀린에서의 숫자 오늘은 코틀린에서 숫자 타입은 각 타입에 따라서 어떻게 쓰이고, 저장되는지 살펴볼 예정이다. [ 연산자 ] - 기본 연산자 : 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)를 제공 - 연산 순서 : 기본 산술 연산 순서를 따름 [ 정수의 MAX_Value ] 정수의 값으로는 Int와 Long이 있는데 이 정수들의 값의 범위는 어떻게 될까? - Int : -2^31 ~ +2^31-1 사이의 값 저장 - Long : -2^63 ~ +2^63-1 사이의 값 저장 만약 계산 도중 해당 값의 범위를 넘어가게 된다면? fun main(){ val a:Int = Int.MAX_VALUE println(a+1) // 결과 : -2 } - 해당 경우에는 넘침 현상이 일어난 결과를 ..
[Atomic 08] 문자열 템플릿 String을 프로그램으로 만드는 방법? 문자열을 어떻게 프로그램으로 만든다는 걸까?? 오늘은 String을 나타낼 수 있는 여러가지 방법에 대해서 이야기 해 볼 예정이다. [ 문자열 템플릿 ] fun main(){ val string = "String" println("문자열은 $string이다.") // 출력 결과 : 문자열은 String이다. println("나는 $person이다.") // 출력 결과 : 나는 $person이다. } - 문자열 템플릿 : 식별자 앞에 $를 붙여 해당 식별자가 존재할 경우 해당 값을 치환 * 만약 존재하는 값이 없다면 아무 일도 일어나지 않음 fun main(){ val day = 7 println("${if(day > 15) "한달의 절반 이전" else "한달의 ..
[Atomic 07] if 식 선택이 필요할 땐? if 식으로! 언어의 필수 코스 중 하나인 if문! 어떤 언어를 배웠더라도 하나라도 배웠다면 오늘의 if문은 어렵지 않을 것으로 생각된다. 아니! 자신할 수 있다. 선택을 할 때 if 문이 어떻게 쓰이는지 알아보도록 하자. [ if 식 ] // (1) if 문만 존재 if(조건식){ // 조건식1을 만족할 때 실행될 코드 } // (2) if/else 존재 if(조건식1){ // 조건식1을 만족할 때 실행될 코드 }else{ // 위의 조건식을 만족하지 않을 때 실행될 코드 } // (3) else if 도 존재 if(조건식1){ // 조건식1을 만족할 때 실행될 코드 }else if(조건식2){ // 조건식1을 만족하지 않으면서 조건식2를 만족할 때 실행될 코드 }else{ // 위..