やさしいKotlin入門 (野崎英一):

余分な労力を使わず、Kotlin習得に専念できる!
  例1:
   IntelliJ は、素晴らしいですが、まったくの初心者には、
   それだけで、重労働/過剰負担 になると思います。
    / Try Kotlin の利用 で解決.
     / コードの保存は、ログインすることでOK、、
     / または、テキストエディタにコーディングしてから、TryKotlinに、貼り付ければよい。
  例2:
   最初は、「main()関数 を書くこと」 自体重要だと思われます。
   (main()関数: プログラムのスタート地点)
   (ただし、アンドロイドapp は、onCreate() なので、注意!)
    (簡単な、アンドロイドapp のために、基本の Kotlin文法 を知っていればよいですが、)
     (この本のレベルなら、十分です)
    (それ以外に、アンドロイド講座や書籍などで学習することは、必須だと思われます)
   REPL などは、最初の段階では、不要(IntelliJ で、実行できます)。
  例3:
   コードが内容的に簡単で、長すぎない。
   難しい数学などは扱っていない。
   ので、Kotlin文法に専念できる。
  例4:
   文法の落とし穴的な部分にまで触れており、
   比較的、量が少ないわりに、コスパがいい/たくさんのことを覚えられる。
  例5:
   Intellij の場合、例えば:

		fun main(args: Array<String>) {
			val a: Int = 10
			val str1: String = "今日は、"
			val str2: String = "時間、寝ました"
			println(str1 + a + str2)
		} 

   のようなコードを書くと、
    redundant(冗長/Int,Stringは、分かり切っているので無駄)
   などと言ってくるが(軽い、注意/推奨)、
   初心者がコードを覚えるうちは、むしろ、この方がいいとも言える。
   ので、無理して、IntelliJ を、使わなくてもと思う。何しろ、動作が重いし。
   上手になって、基本を覚えたら、スペックの高い(CPUとメモリ)PCを買ってから、
   IntelliJ を、導入した方が、入門者にはいいのでは?


 注意:
  サンプルコード 5.1 からは、

                fun main(args: Array<String>) {
                    //!この部分/赤字 のみが書かれている
                    val a: Char = 'え'
                    val b: Char = 'び'
                    val c: Char = 'し'
                    println(a)
                    println(b)
                    println(c) 
                } 

  このように、main()関数 が、省略されているので、注意してください。
  著者の方は、言うまでもないと思われたと思いますが、
  少しは経験のある私も、「あれっ?」と思いましたので、一応書いておきました。
  (JavaScriptプログラマーなら、省略されていることに気づかないと思う。)
  もう完全に覚えたら、その部分は、テンプレート化しておけばいいと思う。
  初心者は、最後のサンプルコードまで、main()関数 を書き続ければ、
  いやでも覚えるでしょう。
   また、一部を抜き出して書かれているものもありますが、
  サンプルファイルはダウンロードできるので、
  (アドレスは、本書にてご確認ください)
  コード全体を確認することができます。
  また、「正誤表」 も、ダウウンロードするページに表示してあります。
  2つほどあります(2018.9.30)。



●追加の、正誤表

[コード 7.10]
fun main(args: Array<String>) {
    
    val num = 75
        // num を、x に、変更してください。
        // num/number/ナンバー の方が、意味的に分かりやすいと思われたと思いますが、
        // 下記のコードを、手癖で、x にしてしまったのだと思われます?

    val a = (x>=50 && x<=100)  // xが50以上、かつ100以下の場合は、true 判定。
    val b = (x< 50 || x >100)    // xが50未満、または100より大きい場合は、true 判定。
    
    println("変数 x が50から100の範囲内にある:$a")
    println("変数 x が50から100の範囲外にある:$b")
}