ナレッジと気付きの日々

ママエンジニアが日々発見したナレッジと気付きを綴っています。

JavaSilver

Javaの不可解な文字列結合

数字+文字列の場合、数字が文字列に置き換わり、文字列同士での連結となる。 System.out.println(10 + 20 + "30" + 40); 上記の場合、 10 + 20 = 30 30 + "30" = "3030" "3030" + 40 = "303040" となる。 また、null + 文字列も、nullが文字列に置き換わり、…

JavaSilverの勉強で学んだこと【7日目】

substringは、指定した位置の文字を抽出するメソッド。 String str = "abcde"; System.out.println(str.substring(2, 4)); の場合、cdが抽出される。 文字の間に線を引くと分かりやすい。 |a|b|c|d|e| 0 1 2 3 4 5

JavaSilverの勉強で学んだこと【6日目】

replaceAllは、変換した値のStringインスタンスへの参照が戻り値として返ってくる。 また、Stringはimmutable(不変な)オブジェクトなので、直接値を書き換えることはできない。 String str = "hoge, world.": str.replaceAll("hoge", "hello"); とした場合、…

JavaSilverの勉強で学んだこと【4日目】

varは、Javaから導入された型推論できる型。 式の右辺で型情報がしっかり渡されないとコンパイルエラーになる。 var hoge = new ArrayList<>(); の場合、<>の中が勝手にObject型になるため、型推論可能。

JavaSilverの勉強で学んだこと【3日目】

JavaはUnicodeを識別可能。 char = '¥u3032'; u3032はAという文字。 ¥u+16進数でユニコードを表す。 16進数を10進数に変換すれば、そのままcharに代入可能。 char c = 65; →Aが入る。 ユニコードは4桁の16進数なので、65536通り表せる。 10進数でも、0〜6553…

JavaSilverの勉強で学んだこと【2日目】

桁数を見やすくする目的で、数値の間にアンダースコアを配置することができる。 int hoge = 123_456_789; はOK! リテラルの先頭と末尾には入れられない。 記号(L、F、0b、0x)の前後には入れられない。

JavaSilverの勉強で学んだこと【1日目】

数値は10進数以外でも代入可能。 2進数 0bから始める。0と1を使って表す。 8進数 0から始める。0〜7を使って表す。 16進数 0xから始める。0〜9と、A〜Fを使って表す。