20201207-Kotlin기본문법(2)

import java.util.*

// 배열
var color = arrayOf("red","blue","yellow","black","green")

print("색상을 선택하세요(0~4)")
var no:Int= readLine()!!.toInt()

// switch~case
when(no)
{
    0-> println("선택된 색상:${color[no]}")
    1-> println("선택된 색상:${color[no]}")
    2-> println("선택된 색상:${color[no]}")
    3-> println("선택된 색상:${color[no]}")
    4-> println("선택된 색상:${color[no]}")
    else-> println("선택된 색상이 없습니다.")
}


val scan:Scanner= Scanner(System.`in`)
/*자바문법 형식
Scanner scan = new Scanner(System.`in`)*/
print("정수입력:")
var num:Int=scan.nextInt()
println("num=$num")

var r:Int=((Math.random()*100)+1).toInt()

var kor:Int =(Math.random()*101).toInt()
var eng:Int =(Math.random()*101).toInt()
var math:Int =(Math.random()*101).toInt()

/*
    $변수명
    ${변수명+2}
    $배열 => ${score[0]}
*/

println("국어점수:$kor")
println("영어점수:$eng")
println("수학점수:$math")
println("총점:${kor+eng+math}")
println("평균:${kor+eng+math/3.0}")

when((kor+eng+math)/30)
{
    10-> println("A")
    9-> println("A")
    8-> println("B")
    7-> println("C")
    6-> println("D")
    else-> println("F")
}

/*
    반복문
    for: 횟수가 지정이 된
    while: 횟수가 지정이 되지 않은
    do~while:
 */

/*
    while 형식 :

    초기값
    while(조건식)
    {
        반복문장수행
        증감식
    }
*/

/*
    do ~ while 형식 : 반드시 한번은 수행한다.

    초기값
    do
    {
        반복수행
        증감식
    }
    while(조건식)
*/

/*
    for문의 형식(**자바와 다름**)

    1) 순차적
    for(i in 1..10)

    2) 역순
    for(i in 10 downTo 1)

    3) 2이상 증가
    for(i in 1..10 step 2)
*/

var i:Int=1
do{
    println("i=$i \t")
    i++
}while (i<=10)
println()
i=1
while (i<=10)
{
    print("i=$i")
    i+=2
}
println()
for(i in 1..10)
{
    print("i=$i")
}
println()
for(i in 1..10 step 2)
{
    print("i=$i")
}
for(i in 10 downTo 1 step 2)
{
    print("i=$i")
}

// break , continue
for(i in 1..10)
{
    if(i==5)
        break
    println("i=$i")
}

println()
for(i in 1..10)
{
    if(i==5)
        continue
    println("i=$i")
}

함수(메소드)

Tip

면접

  • 메소드 : 클래스 종속 , 클래스 안에서 작동하는 기능
  • 함수 : 독립적인 기능
  • 함수 : 한 개의 기능을 수행하기 위해서 명령문을 모아서 관리하는 모듈
    • 명령문 : 변수 , 연산자 , 제어문
  • 형식 : fun 함수명(매개변수,매개변수...):데이터형
    • 마지막 데이터형은 return형의 데이터형이다.

매개변수 O , 리턴형 O 함수

fun max(i:Int,j:Int):Int
{
  var max:Int=0;
  if(i<j)
    max=j
  else
    max=i
  return max
}

var res:Int=max(10,9)
println("최대값:$res")

매개변수 O , 리턴형 X 인 함수

fun isName(name:String)
{
  println("name=$name")
}
isName("홍길동")

매개변수 X , 리턴형 O 인 함수

fun getRand():Int
{
  var rand:Int=(Math.random()*101)!!.toInt() // !! : 함수 형변환할 때 사용
  return rand
}

var r:Int=getRand()
println("r=$r")

매개변수 X , 리턴형 X 인 함수

fun gugudan()
{
  println("구구단")
  for(i in 1..9)
  {
    for(j in 2..9)
    {
      print($j * $i = ${i*j} \t")
    }
    println()
  }
}
gugudan()