0. 서론
코틀린에 대한 공부가 필요해서 자바와는 다른 코틀린이라는 주제로 공부내용을 정리할 예정입니다.
1. if-else
1-1. JAVA CODE:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; public class StudyClassJava extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_empty); Log.d("checkNumber",checkNumber(0)); } private String checkNumber(int a) { String result = ""; if (a > 0) { result = "양수"; } else if (a < 0) { result = "음수"; } else{ result = "0"; } return result; } } | cs |
1-2. KOTLIN CODE:
1 2 3 4 5 6 7 8 9 10 11 12 13 | import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.util.Log class StudyClassKotlin : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_empty) Log.d("checkNumber",checkNumber(1)) } fun checkNumber(a: Int):String = if (a > 0) { "양수" } else if (a < 0) { "음수" } else { "0" } } | cs |
1-3. 해석:
코틀린에서는 if문의 결과값을 함수에 대입하는 구조를 만들 수 있다.
자바에서는 그럴 수 없고 일일히 return을 해줘야하기 떄문에 코드가 조금 더 길어진다.
2. switch
2-1. JAVA CODE:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public class StudyClassJava extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_empty); Log.d("checkNumber", checkNumberSwitch(-1)); } private String checkNumberSwitch(int a) { String result = ""; try { switch (a*Math.abs(a)) { case 1: result = "양수"; break; case -1: result = "음수"; break; } }catch(ArithmeticException arithm){ Log.d("arithm",arithm.getMessage()); result = "0"; } return result; } } | cs |
2-2. KOTLIN CODE:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.util.Log class StudyClassKotlin : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_empty) Log.d("checkNumber", checkNumber(1)) } fun checkNumberWhen(a: Int): String = when { a > 0 -> "양수" a < 0 -> "음수" else -> "0" } } | cs |
2-3. 해석:
코틀린에서는 if, switch등 각종 값들을 표현식으로 할 수 있다는게 엄청나게 큰 매리트로 느껴진다.
개인적으로 개발하고 있는 어플리케이션 입니다.
2018/10/21 - [나의 일기] - (리뷰) 시간표 어플리케이션 - 담다
2018/07/15 - [나의 일기] - #담아두다 #일상 #다이어리 #어플리케이션
'Android 공부 > Java와 다른 Kotlin' 카테고리의 다른 글
[JAVA 다른 KOTLIN ] function 기초, 프로퍼티의 getter setter (0) | 2018.12.13 |
---|