Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 28 | 29 | 30 | 31 | 
													Tags
													
											
												
												- vector미분
- 5397번
- 선형판별분석
- graphical models
- 2018
- chapter01
- Perceptron Convergence theorem
- 로지스틱 회귀
- bisection
- chapter02
- 근구하기
- Numerical optimization
- directed graphical model
- 알고리즘대회
- CH01
- SCPC
- 이것이 MySQL이다
- 스터디
- 인공지능
- undirected graphical model
- MySQL
- 알고리즘
- 1차예선
- 개발순서
- 델타 rule
- 자바ORM표준JPA프로그래밍
- secant
- 선형분류
- Fisher discriminant analysis
- falsePosition
													Archives
													
											
												
												- Today
- Total
computer_study
[Kotlin] 03. 함수 정의하기 본문
코틀린 함수의 구조
kotlin
import kotlin.math.PI
fun circleArea(radius : Double) : Double {
    return PI*radius*radius
}
// 단일 식으로만 구현할 수 있다면 중괄호 생략 가능
fun circleArea2(radius: Double): Double = PI*radius*radius
fun circleArea3(radius: Double) = { PI*radius*radius }
fun main(){
    print("Enter radius: ")
    val radius = readLine()!!.toDouble() // !!이 붙는 이유 : 이 변수는 null이 아니다를 의미
    println("Circle area: ${circleArea(radius)}")
}Java
import static java.lang.Math.PI;
import java.util.Scanner;
private Double circleArea(Double radius){
    return PI*radius*radius;
}
public void main(){
    System.out.println("Enter radius: ");
    Scanner scan = new Scanner(System.in);
    double radius = scan.nextDouble();
    System.out.println("Circle area: " + circleArea(radius));
}- 코틀린 함수 파라미터는 무조건 불변이기에 함수 본문에서 파라미터 값을 변경하면 컴파일 오류가 발생한다.
- 파라미터 앞에 val, var는 표시할 수 없다.
조건문
- 코틀린은 3항 연산자가 없다
- 다만 if를 식으로 사용할 수 있다. ( val tmp = if (a > b) a )
- 자바 switch문 처럼 코틀린 when을 사용할 수 있다.
fun numberDescription(n: Int, max: Int = 100): String = when(n){
    0 -> "Zero"
    1, 2, 3 -> "Small"
    in 4..9 -> "Medium"
    in 10..max -> "Large"
    !in Int.MIN_VALUE until 0 -> "Negative"
    else -> "Huge"
}
예외처리
fun parseIntNumber(s: String): Int{
    var num = 0
    
    if (s.length !in 1..31) throw NumberFormatException("Not a number: $s")
    
    for(c in s){
        if(c !in '0'..'1') throws NumberFormatException("Not a number: $s")
        num = num*2 + (c- '0')
    }
    return num
}- 코틀린 예외 처리 단계는 기본적으로 자바와 같다.
- new 구문을 사용하지 않기에, 일반 함수 호출처럼 호출한다.
'스터디 > 코틀린 완벽 가이드' 카테고리의 다른 글
| [Kotlin] 07. 컬렉션과 I/O 자세히 알아보기 (0) | 2022.06.03 | 
|---|---|
| [Kotlin] 06. 특별한 클래스 사용하기 (0) | 2022.05.27 | 
| [Kotlin] 05. 고급 함수와 함수형 프로그래밍 활용하기 (0) | 2022.05.26 | 
| [kotlin] 02. 코틀린 언어 기초 (0) | 2022.05.19 | 
| [Kotlin] 00.스터디 개요 (0) | 2022.05.18 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				