1.はじめに
兼ねてから勉強してみたいと思っていたアプリ開発に着手し始めたので、今後の勉強の進捗について軽くまとめておきたいと思います。
2.自己紹介
1.専門は数学
2.半年前から競プロに取り組む。茶コーダー
3.ここ半年で学んだ技術
1.競技プログラミングで使うレベルのC++の知識
2.何を勉強すればいいのかわからなくてなんとなく学んだhtml,css,pythonの知識
3.TCP/IPの基礎知識、Linuxの基礎知識
4.Androidアプリ開発のための基本的な知識。基本的なアプリの作例をみて作成
4.今週学んだ知識
Kotlinの基本文法を公式のドキュメントを使って学んだ。
競プロのおかげで基本的な文法の流れはわかっていたので、型や繰り返し、Switchなどの知識は頭に入ってき易かったと思う。
流れとしては、基本的な文法をなんとなくドキュメントでさらった後にテキストエディタによって自分用にまとめた。
適宜ローカル開発環境を使って実際に動作しているところを確認した。
以下には今週まとめた分の一部を載せておく。
matome
/*
Kotlinの基本文法まとめ
開発環境
→ローカル開発環境とファイル転送アプリ、VSCodeを使用。
→ローカル環境には MyCentOSによる仮想サーバを使用
→Kotlin version 1.4.10-release-411 (JRE 1.8.0_265-b01)
ターミナル上でのコンパイラコマンド
→kotlinc ファイル名(.kt) -include-runtime -d ファイル名(.jar)
jarファイルの実行コマンド
→ava -jar ファイル名
*/
fun main(args: Array<String>) {
//String, char
var msg = "Hello World"
println(msg)
//Byte,Short,Int,Long Longの場合は文末にLをつるける必要がある
val i: Int =100
val l: Long = 44444444444L
//Float,Double Floatは文末にFをつける
val d: Double =224.543
val f: Float = 12.423F
//Boolean (true/false) 真理値の型
val flag: Boolean = false
//演算子 足し算 引き算 掛け算 割り算 余り
// + - * / %
val x = 10
println(x/3) // 小数点は切り捨てられる
println(x/3.0) // double型で出したい場合はどちらかをdouble
println(x % 3)
var y = 5
y++ //インクリメント y = y + 1
println(y)
y-- //ディクリメント y = y - 1
println(y)
var z = 4
z += 12 //z = z + 12
//AND OR NOT (論理演算子)
//&& || !
val flag =true
println(!flag)
//文字列の文中での展開
println("hello" + "world")
val name = "umemura"
println("my name is $name")
//数字の文中での展開
println("my score is ${12 +32}")
// \n: 改行
// \t: タブ
println("hello\n wor\tld"
/*→出力
hello
wor ld
*/
//if (条件式) {実行動作}←一行なら{}いらない
//比較演算子 > >= < <= == !=
val score = 85
if (score > 80) {
println("Great!")
}
else if (score > 60) {
println("Good")
}
else {
println("so so...")
}
//結果 Great!
val result = if (score > 80) "Great" else "so so..."
println (result)
// Great
//when
val num = 5
/* when (num) {
0 -> println("zero")
1 -> println("one")
2,3 -> println("Two or Three")
in 4..10 -> println("many")
else -> println("other")
} */
val result = when (num) {
0 -> "zero"
1 -> "one"
2,3 -> "Two or Three"
in 4..10 -> "many"
else -> "other"
}
println(result)
}
5.今週のまとめ
有名なアプリ開発のエンジニアさんが「言語を学ぶより作って慣れろ」とおっしゃっていたので先週までは作例を作りつつ学んでいたのですが、自分にはその学び方は合っていなかったなと思いました。
やはり自分のような優秀でない層の人間にとっては、一歩一歩積み上げていくのが重要なのかもしれません・