// 만들기
fun 함수이름(필요한 변수들) {
내릴 명령어들을 순차적으로 작성
}
// 사용하기
함수이름(필요한 변수들)
// 동작을 실행하고 결과를 돌려주는(return) 경우
fun 함수이름(필요한 변수들): return타입 {
내릴 명령어들을 순차적으로 작성
return 돌려주려는 결과 값
}
// 사용하기
var 함수결과저장변수 = 함수이름(필요한 변수들)
// 자주 쓰이는 타입
//숫자
var one: Int = 1
var pi: Double = 3.14
//글자열
var name: String = "르탄이"
//참거짓
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
// 두 숫자를 입력받으면 더한 결과를 돌려주는(return) 함수
fun sum(num1: Int, num2: Int): Int {
return num1 + num2
}
var sumResult = sum(3, 5) // 8
println(sumResult)
sumResult = sum(4, -1)
println(sumResult) // 3
// 출생년도와 계산하고 싶은 연도를 입력받아 나이를 계산해 돌려주는(return) 함수
fun calculateAge(calYear: Int, birthYear: Int): Int {
return calYear - birthYear
}
var calAge = calculateAge(2020, 1980)
println(calAge) // 40
// 잠깐! 값을 입력하는 순서를 바꾸어도 원하는 값이 나오나요?
println(calculateAge(1980, 2020)) // -40
// 아니네요! 입력하는 순서도 맞춰줘야하는군요!
[💻코드 조건문 01] 90보다 작으면 작다고, 크면 크다고 알려주는 함수
fun compareNinety(num: Int){
if (num > 90) {
println("90보다 커요!")
} else {
println("90보다 작거나 같아요!")
}
}
compareNinety(30)
[💻코드 조건문 02] 응용 - 다음 함수의 기능을 생각해볼까요?
// 함수를 정의하기
fun isAdult(age: Int): Boolean {
if (age > 19){
return true
} else {
return false
}
}
// 함수를 사용하기
var result = isAdult(20)
println(result) // true
[💻코드 조건문 03] AND 조건과 OR 조건!
// AND 조건 : 모든 조건들이 true 여야 true
// 나이가 20과 같거나 크고 30보다 작은 경우 true
fun isTwenty(age: Int): Boolean {
if (age >= 20 && age < 30){
return true
} else {
return false
}
}
// OR 조건 : 조건 중 하나라도 true이면, true!
// 나이가 20보다 작거나, 30보다 크면 true
fun isNotTewnty(age: Int): Boolean {
if (age < 20 || age >= 30){
// not(!) 을 사용해 !(20대인 조건) 으로 판별식을 만들 수도 있습니다.
// 결과를 얻는 방법은 여러 가지! 가독성을 고려해 판별식을 만들어보세요!
// if (!(age >= 20 && age < 30)){
return true
} else {
return false
}
}
println(isTwenty(25))
println(isNotTewnty(25))
[💻코드 조건문 04] if, else 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 리스트) {
매 반복마다 실행될 명령어들
}
var languages = listOf("Korean", "English", "Kotlin", "Python", "Java", "JavaScript")
for (language in languages) {
println(language)
}
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)
}
// 이렇게 하면 리스트 내의 맵을 하나씩 출력할 수 있고,
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)
}
}
// 이렇게 하면 성이 '김'인 사용자의 이름만 출력할 수도 있습니다.
fun main() {
var result = 0
for(num :Int in 1..50){
result += num*2
}
println(result)
}
fun main() {
fun sumEven(n:Int): Int{
var result = 0
var divide = n/2
for(num :Int in 1..divide){
result += num*2
}
return result;
}
var wantSum = sumEven(1000)
println(wantSum)
}
fun main() {
var scores = listOf(81, 79, 80, 30, 50, 100, 99, 56, 0, 12)
var count = 0
var passedPerson = mutableListOf<Int>()
for(score in scores){
if(score>=80){
count++
passedPerson.add(scores.indexOf(score))
}
}
println(count)
println(passedPerson)
}
fun main() {
var scores = listOf(81, 79, 80, 30, 50, 100, 99, 56, 0, 12)
var passedPerson = mutableListOf<Int>()
fun countScore(scoress :List<Int>, passed :MutableList<Int>) {
var count = 0
for(score in scoress){
if(score>=80){
count++
passed.add(scores.indexOf(score))
}
}
println(count)
println(passed)
}
var result = countScore(scores, passedPerson)
}
fun main() {
fun sum(n: Int, m: Int): Int{
var sum=0
for(num in n..m){
sum +=num
}
return sum
}
println(sum(2,5))
println(sum(1,100))
}
fun main() {
fun countReportCards(reportCards:List<String>, card:String): Int{
var count = 0
for(reportCard in reportCards){
if(reportCard.equals(card)){
count++
}
}
return count
}
var reportCards = listOf("A", "B", "A", "C", "D", "F", "B", "A", "A", "C")
println(countReportCards(reportCards, "A"))
println(countReportCards(reportCards, "B"))
println(countReportCards(reportCards, "C"))
println(countReportCards(reportCards, "D"))
println(countReportCards(reportCards, "F"))
}