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 |
Tags
- 알고리즘대회
- undirected graphical model
- 1차예선
- chapter02
- 선형판별분석
- 스터디
- MySQL
- falsePosition
- directed graphical model
- 선형분류
- secant
- Perceptron Convergence theorem
- Fisher discriminant analysis
- graphical models
- 근구하기
- bisection
- 2018
- CH01
- chapter01
- 이것이 MySQL이다
- 인공지능
- 자바ORM표준JPA프로그래밍
- 로지스틱 회귀
- vector미분
- 5397번
- SCPC
- 개발순서
- 알고리즘
- Numerical optimization
- 델타 rule
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