fun main(array: Array<String>)
{
var Number1: Int = 1
var Number2: Int = 2
var Result: Int? = null
/* 1. 대입 연산자: 우변의 값이 좌변으로 복사된다. */
Result = 10
// 2. 산술 연산자
Result = Number1 + Number2 // 덧셈
Result = Result - Number1 // 뺄셈
Result = Result * 3 // 곱셈
Result = Result / 2 //<- 몫
Result = Result % 3 //<- 나머지
// 3. 복합 대입 연산자
Result += Number1 //Result = Result + Number1을 줄여서 기술한 것
// -=, *=, /=, %=
// 4. 증감 연산자
Result++ // Result += 1과 같이 1값을 증가 시킨다.
// ++를 변수 앞에 적어주게 되면 변수의 현재값에 1을 더한후 다른 연산을 진행하게 된다.
// 뒤에 붙이게 되면 연산이 끝난 후에 1값을 증가시킨다.
++Result
// Result--, --Result
// 5. 비교 연산자
var ComParison: Boolean = true
ComParison = 4 > 3
ComParison = 4 < 3
ComParison = 5 >= 5
ComParison = 9 <= 7
ComParison = 2 == 2
ComParison = 2 != 2
// 6. 논리 연산자: &&(and), ||(or), !(not)
ComParison = true && true
ComParison = true || false
ComParison = !true
ComParison = !false
// 7. 엘비스 연산자: 대입할 변수가 null일 경우를 대비하는 연산자
val number: Int? = null
val number2 = number ?: 10 // <- 변수 number가 null일 경우 10일 대입한다.
println(number2)
}
예시) y = x + 2 x에 1을 넣으면 y는 3이 된다. x에 0.5를 넣으면 y는 2.5가 된다.
함수 선언방법
fun 함수명 (인자명: 타입, 인자명: 타입 ….): 반환형
{
함수 내용…
return 반환값
}
(사용 예시)
fun plus(_first: Int, _second: Int): Int
{
var result: Int = _first + _second
result *= 2
return result
}
fun main(array: Array<String>)
{
val printNumber = plus(7, 11)
println(printNumber)
// 인자명을 명시하여 값을 넣을 경우 순서를 지키지 않아도 된다.
val number2 = plus(_second = 4, _first = 3)
println(number2)
}
디폴트(기본) 값을 갖는 인자
// _second 인자에 디폴트 값으로 5를 지정
fun plusFive(_first: Int, _second: Int = 5): Int
{
val result: Int = _first + _second
return result
}
fun main(array: Array<String>)
{
// _second 두번째 인자의 값을 넣어주지 않아도 에러가 발생하지 않는다.
var result = plusFive(20)
println(result)
// 디폴트 값을 50으로 바꿔서 사용하도록 2번자에 값을 넣어줌
var result2 = plusFive(20, 50)
println(result2)
}
반환값이 없는 함수
// 반환값이 없는 함수는 반환 type으로 Unit을 적어준다 (Unit 은 생략 하여도 된다.)
fun PrintPlus(_first: Int, _second: Int): Unit
{
val result: Int = _first + _second
println(result)
}
fun main(array: Array<String>)
{
// PrintPlus 내부에 println이 있으므로 함수 호출만으로 덧셈과 출력이 모두 실행된다.
PrintPlus(25, 66)
}
간단한 함수
// 간단한 함수
fun simplePlus(_first: Int, _second: Int) = _first + _second
fun main(array: Array<String>)
{
val simpleResult = simplePlus(24, 33)
println(simpleResult)
}
가변인자를 갖는 함수
// 가변인자를 갖는 함수 (인자를 vararg 형태로 만들어준다.)
fun plusMany(vararg numbers: Int)
{
for(number in numbers)
{
println("Numbers $number")
}
}
fun main(array: Array<String>)
{
plusMany(1, 2, 3, 4, 5)
}
var SumNumber = 1 + 2 + 3 + 4 // 연산 결과를 변수에 대입 할 수 있다.
var NumberString = "1002"
var ConvertStringtoInt = NumberString.toInt() // 문자열을 숫자(Int)로 변환
var ConvertStringtoFloat = NumberString.toFloat() // 문자열을 실수(Float)로 변환
//$(달러표시)와 변수명을 함께 쓰면 문자열 내부에 다른 문자열을 삽입 할 수 있다.
var Name = "John"
var SelfIntroduce = "My name is $Name Nice to meet you"
null이란? 존재하지 않는 것 상자가 비어있는 것=0 상자 자체가 없는 것=null
잘못된 사용법
var NotNull: Int = null // null 대입이 불가한 Int
올바른 사용법
var UseNull: Int? = null // Int 뒤에 ?를 붙여줌으로써 null 대입이 가능하다.
var UseNull2: Double? = null
정수형 (크기순) : Long > Int > Short > Byte 실수형 (크기순) : Double > Float 문자 (한글자) : Char 문자열 : String 논리형 (참/거짓) (True/False) : Boolean
변수 선언법(1)
var number = 10 //초기 선언 자료형이 Int
fun main(array: Array<String>)
{
number = 20 //같은 자료형으로 바꾸는것은 가능
number = 1.1 //이와 같이 실수(float)형으로 바꾸는 것을 에러를 발생시킨다.
}
변수 선언법(2) 변수명 뒷부분에 ( : 자료형)을 명시해준다.
fun main(args: Array<String>)
{
var number: Int = 20
var Fnumber: Float = 1.1
var name: String = "Honggildong"
}