Kotlinプロブラミングメモ
Kotlinを勉強したメモ。自分用。
関数
Kotlinではmain関数が実行される。main関数の内部で他の関数を呼び出して使用する。
fun main(){
var num:Int = 0 //固定値はval、変数はvarで宣言する また変数名(ここではnum)のあとに「:Int」でと型を明示する(省略も可)
num = keisan(10, 20) //関数の使い方は他の言語と同様
println(num) //コマンドの後のセミコロン(;)は基本的には書かない(書いてもOK)
}
//外部関数を記述
fun keisan(a:Int, b:Int):Int{ //戻り値がある場合は()の後に「:戻り値の型」を記述する
ret:Int = 0
ret = a + b
return ret
}
for文
Kotlinではfor文を以下のように記述する。
fun main(){
for(i in 0 .. 10){ //0から10まで繰り返し(合計11回)処理を行う
println(i)
}
}
クラス、インスタンス
クラスは、変数(プロパティ)と関数(メソッド)をまとめたもの。クラスを使用する時に実体化させたものがインスタンス。使用例は下記の通り。
fun main(){
var data = intArrayOf(60,70,80) //整数の配列を作成
var ins01 = StudentScore("sato") //インスタンスを作成
var sum = ins01.calcSum(data) //作成したインスタンスのcalcSumメソッドの値を取得
var name = ins01.name //作成したインスタンスのプロパティ(.name)の値を取得
println(name)
println(sum)
}
class StudentScore(name:String){ //コンストラクタnameを引数で取得する
var name = name //プロパティにコンストラクタの値を入れる
fun calcSum(data:IntArray):Int{ //配列を引数とするメソッド。返り値があるため返り値の型Intを指定していることにも注目
var sum:Int = 0
for(i in data){ //このようにforの範囲に配列を参照すると、配列の要素を順に取り出して使用することができる
sum += i
}
return sum
}
}
インスタンスを関数の引数に使用する
関数の引数にインスタンスを使用することができる。インスタンスのデータ型はクラス名である
fun main(){
var ins01 = Keisan() //インスタンスを作成
useKeisan(ins01) //作成したインスタンスをuseKeisan()関数の引数に入れて実行
}
fun useKeisan(ins:Keisan){ //インスタンスを引数とする外部関数(インスタンスinsのデータ型はクラス名Keisanであることに注目)
println(ins.a) //インスタンスからプロパティを取り出して表示
println(ins.b) //インスタンスからプロパティを取り出して表示
println(ins.calcSum()) //インスタンスからメソッドを実行して表示
}
class Keisan(){ //クラスを定義
var a = 1 //プロパティ
var b = 2 //プロパティ
fun calcSum():Int{ //メソッド(Int型の戻り値あり)
return(a + b)
}
}
ランダムな数値の取得方法
ランダムな値を取得するには.random()メソッドを使う
fun main(){
var rnd:Int = (0 .. 10)random() //0から10の数字のどれかをランダムで取得
println(rnd)
}
