19.0524

その他 のことで覚えておきたいこと


エスケープシーケンス
エスケープシーケンス とは、「特別な文字」 ですが、具体的には、
  ・ プログラム内で使われている記号であるが、文字として使いたい
      / ' " \
  ・ 「見えない文字」 を使う時
      / 改行 タブ
こんな場合に、使います。

別に難しいことではなく、使いたい時に、例えば、このページを見ながら使っていけば、
自然と覚えられると思います。

コードで確認してみましょう
  / 「;」 は、改行しない場合、必要です.
  / ただし、他にもあるのですが、入門レベルでは、このぐらいでいいと思いますが。
  / あと少しある、エスケープシーケンス は、このページなどを基にして、検索してください


桁あふれ
桁あふれ とは、
  ある数値型 に対して、それに収まらない 値 を、収めようとするときに起きるバグ
のことです。

たとえば、
  Byte型: -128 ~ 0 ~ 127
  Int型: -2,147,483,648~0~2,147,483,647
が、収まる範囲ですが、
例えば、
  toByte()メソッド(他の数値型 を、Byte型 に、変換するメソッド)
を使って、
  val byteValue: Byte = 1000.toByte()
こんなコードを実行すると、普通に考えれば、
  単に、Byte型 に、して、データを小さくした(メモリにやさしくなる)
ですが、じつは、このコードは、バグ を、引き起こします。
理由は、
  1000 は、-128 ~ 0 ~ 127 の、範囲だから
です。
  こんな時、桁あふれ が、起こります。

パフォーマンス/実行速度 が、上がるからと言って、
小さなデータ型を、使うときは、この事を、考慮しましょう。

桁あふれの例を、こんなコードで、確認しました。


後置++演算子 の、落とし穴
これは、「落とし穴」 というよりは、単に、個人的な好みかもしれません。
個人的なというのは、不思議なのですが、「落とし穴」 だと思っている人が、
あまり多くないというか、深く知っている人は、「こんなのは当たり前」 と思っているかもしれませんが、
私は、後置演算子 を、使いたくないのです、、思わぬミスをするといけないから。

一般的な入門書のサンプルコードでは、
  後置インクリメント / x++(後置デクリメント / x--)
    / x は、変数
は、
  前置インクリメント / ++x(前置デクリメント / --x)
とは、
  明らかに、アクション/動作 が違う
のに、
  前置 は、使わず、後置 ばかりを使っています(for文など)。

もちろん、それらのサンプルコードにおいては、問題がないからなのですが、
  前置 と、後置では、アクションが違うことは、あまり知られていない気がします。

どこが違うのか?こんなコードで考えてみましょう
問題は、
  ${i++}
  ${i}
  ${++j}
  ${j}
の、値 ですね。

インクリメント演算子の定義:   式としての値が、前置の場合はインクリメントした後の値になる(この意味は += 1 と同じ)、   後置の場合はインクリメントする前の値になる。  - Wikipedia -
これを、踏まえて、コンソール画面 への、出力を考えてみましょう。
答えは、こうなります(コード の、後のコメントが、出力結果)

そうです、
  後置 の場合は、演算子を使った後で、初めて、インクリメント/増加 する
のです。

ここで、「落とし穴となるコード」 を、示したかったのですが、思いついたのは、「今一つ」 なので、
止めときます。
また、逆に、「わざわざ後置演算子」 を、使う例 も、あるはずですが(でなけりゃ 後置 を作らないから)、
どんなふうに使うのか知りたのですが、分かりません。
ひょっとして、「コンピュータのメモリやCPUが、今より不足していた時代の、パフォーマンスのため」
かもしれないのですが(どこかで読んだ気がするので)、分かりません。

これは、個人的な考えですが、
  後置 は、使わず、「前置」 を、使う!
という事で、私自身は、決めています。




2019.5.26
まだ、訂正などあるかもしれませんが、やっと、この企画が終わりました。
「4月中に完成させるように、頑張りたい」 と、言っていたので、この場を借りて、お詫びいたします。
毎度の、見積もりの甘さが、たたってしまいました。
ただ、最近、少し、「アンドロイドプログラミング」 は、人気は上昇しているような気がします。
私がアマゾンで予約した、
  作ればわかる!Androidプログラミング Kotlin対応
  10の実践サンプルで学ぶAndroidアプリ開発入門 大型本 – 2019/6/19
  (金宏 和實)
など、6/19 の、発売ですし、
あまり、お勧めできる方法ではないのですが
(私は、アンドロイドアプリ の、バックアップも知らないし)、
「過去の、AndroidStudio」 を、ダウンロード することも出来るようです。
まあ、普通、「セキュリティソフト」 は、入れているので、よほど大丈夫だとは思いますが、
問題は、「アンドロイドアプリ の、バックアップ」 です。
私はよく分かりません。もし、バージョンを変えたりすると、
せっかく作ったアプリが、ダメになるかも、知れません。
(きっと、解決策はあるとは思いますが、私には分かりません)

今後、少し後か、だいぶ後かは分かりませんが、
  Kotlin を、さらに追及しようと、思っています。
よかったら、期待していてください。