반응형
본 글은 스파르타 코딩 클럽의 "안드로이드 앱개발 기초반" 강의를 듣고 작성한 개발일지입니다.
오늘은 코틀린의 기초 문법 중 함수, 조건문, 반복문에 대해 살펴보려고 합니다.
함수
// 만들기
fun 함수이름(필요한 변수들) {
내릴 명령어들을 순차적으로 작성
}
// 함수 사용
함수이름(필요한 변수들)
// 동작을 실행하고 결과를 돌려주는 경우
fun 함수이름(필요한 변수들): return 타입 {
내릴 명령어들을 순차적으로 작성
return 돌려주려는 결과값
}
// 사용하기
var 함수결과저장변수 = 함수이름(필요한 변수들)
자주 쓰이는 데이터 타입은 아래의 예시와 같습니다.
// number
var one: Int = 1
var pi: Double = 3.14
// string
var name: String = "준"
// T&F
var isEasy: Boolean = true
var isHard: Boolean = false
직접 함수를 만들고 사용하는 몇 개의 예시들을 살펴보도록 하겠습니다.
// 두 숫자 입력 후 덧셈
fun printSum(num1: Int, num2: Int) {
println(num1 + num2)
}
printSum(3, 5) // 8
printSum(4, -1) // 3
// 두 숫자를 입력 후 더한 결과를 리턴하는 함수
fun sum(num1: Int, num2: Int): Int {
return num1 + num2
}
var sumResult = sum(3, 5)
println(sumResult) // 8
sumResult = sum(4, -1)
println(sumResult) // 3
fun calculateAge(calYear: Int, birthYear: Int): Int {
return calYear - birthYear
}
var calAge = calculateAge(2020, 1980)
println(calAge) // 40
// 입력하는 값 순서에 따라 다른 결과값 리턴
println(calculateAge(1980, 2020)) // -40
조건문
// 입력되는 수와 90 간의 대소비교
fun compareNinety(num: Int) {
if (num > 90) {
println("90보다 커요!")
} else {
println("90보다 작거나 같아요!")
}
}
compareNinety(30) // "90보다 작거나 같아요!"
fun isAdult(age: Int): Boolean {
if (age > 19) {
return true
} else {
return false
}
}
var result = isAdult(20)
println(result) // true
fun isJun(name: String): Boolean {
if (name == "Jun") {
return true
} else {
return false
}
}
var result = isJun("Jun")
println(result) // true
// AND & OR 조건
fun isTwenty(age: Int): Boolean {
if (age >= 20 && age < 30) {
return true
} else {
return false
}
}
fun isNotTwenty(age: Int): Boolean {
if (age < 20 || age >= 30) { // not 조건도 사용 가능 if (!(age >= 20 && age < 30))
return true
} else {
return false
}
}
println(isTwenty(25)) // true
println(isNotTwenty(25)) // false
// if, else if, else if else
fun checkGeneration(age: Int) {
if (age > 120) {
println("와, 19세기에 태어나셨군요!")
} else if (age >= 100) {
println("100세 이상! 숫자가 세자리네요.")
} else if (age >= 80) {
println("80세 이상! 인생은 여든부터!")
} else {
println("젊으시군요! 개발을 취미로 가져보세요.")
}
}
var myAge = 55
checkGeneration(myAge)
반복문
// 숫자 범위를 나타낼 때 ".." 사용
for (변수 in 리스트) {
매 반복마다 실행될 명령어들
}
for (i in 0..99) {
println(i)
}
var languages = listOf("Korean", "English", "Kotlin", "Python", "Java", "JavaScript")
for (language in languages) {
println(language)
}
/**
Korean
English
Kotlin
Python
Java
JavaScript
*/
var users = listOf(
mapOf("FirstName" to "르탄", "LastName" to "박"),
mapOf("FirstName" to "안드", "LastName" to "이"),
mapOf("FirstName" to "로이", "LastName" to "김"),
mapOf("FirstName" to "개발", "LastName" to "최"),
mapOf("FirstName" to "스파", "LastName" to "김"),
)
for (user in users) {
println(user)
}
/**
{FirstName=르탄, LastName=박}
{FirstName=안드, LastName=이}
{FirstName=로이, LastName=김}
{FirstName=개발, LastName=최}
{FirstName=스파, LastName=김}
*/
var users = listOf(
mapOf("이름" to "르탄", "성" to "박"),
mapOf("이름" to "안드", "성" to "이"),
mapOf("이름" to "로이", "성" to "김"),
mapOf("이름" to "개발", "성" to "최"),
mapOf("이름" to "스파", "성" to "김"),
)
for (user in users) {
if(user["성"] == "김") {
println(user)
}
}
/**
{이름=로이, 성=김}
{이름=스파, 성=김}
*/
더 다양한 예시로 코틀린 문법에 익숙해져 볼까요?
1. 1부터 100까지 짝수 합 출력하기
var result = 0
for (num in 1..100) {
if (num % 2 == 0) {
result += num
}
}
println(result) // 2550
// 함수 버전
fun sumEven(n: Int): Int {
var result = 0
for (num in 1..n) {
if (num % 2 == 0) {
result = result + num
}
}
return result
}
println(sumEven(100)) // 2550
println(sumEven(200)) // 10100
2. 80점 이상의 점수 갯수 출력하기
var scores = listOf(81, 79, 80, 30, 50, 100, 99, 56, 0, 12)
var count = 0
for (score in scores) {
if (score >= 80) {
count += 1
}
}
println(count) // 4
var scores = listOf(81, 79, 80, 30, 50, 100, 99, 56, 0, 12)
fun countScore(bottom: Int): Int {
var count = 0
for (score in scores) {
if (score >= bottom) {
count += 1
}
}
return count
}
println(countScore(80))
println(countScore(90))
퀴즈
1. n과 m을 입력받아 n~m까지의 합을 출력하는 함수 sum을 만들어본다.
fun printSum(n: Int, m: Int): Int {
var sum = 0
for (i in n..m) {
sum += i
}
return sum
}
println(printSum(1, 100)) // 5050
2. 성적표에서 성적 A의 갯수 출력하기
var reportCards = listOf("A", "B", "A", "C", "D", "F", "B", "A", "A", "C")
fun countScore(bottom: String): Int {
var count = 0
for (score in reportCards) {
if (score == bottom) {
count += 1
}
}
return count
}
println(countScore("A"))
println(countScore("F"))
728x90
반응형
'문돌이 존버 > 앱 개발 스터디' 카테고리의 다른 글
코틀린(kotlin) - 새로운 액티비티(Activity) 시작하기 (0) | 2021.07.08 |
---|---|
코틀린(kotlin) - 뷰 정보를 활용해 동작 구현하기 (0) | 2021.06.27 |
코틀린(Kotlin) 기초 문법 배우기 (1) (0) | 2021.06.26 |
코틀린 개념 잡기(2) (0) | 2021.06.17 |
코틀린 개념 잡기(1) (0) | 2021.06.13 |