前回の親クラス(スーパークラス)を継承したい時はextends〜を使う/属性≒アトリビュートやプロパティ、オブジェクト≒インスタンス、 メソッド≒関数やファンクションに引き続き、Javaの試験問題を色々見てみる。
それでわかったことがある。
・変数の宣言時に、データ型を省略することはできない。
これは判る。
・int 型と double 型の変数の演算結果は、double 型になる。
これはちょっと「なぜ?」となって調べた。
どうやら整数と整数に対する演算を行った場合は得られる結果も整数となるが、演算子の対象の値がどちらか一つでも浮動小数点数の場合には演算の結果得られる値も浮動小数点数となる(算術演算子 - 演算子 - Java入門)らしい。
int型は整数で、double型は浮動小数型らしい(【Java】整数型(int,long,byte,short)一覧まとめ!最大値も丸わかり | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト参照)から、そういうことか。
・リテラルは値のこと(https://qiita.com/koukonko/items/3331f6abe8db18d55bcc)ってのもわかった。リテラル「10」はint型だし、「3.33」はdouble型だ。
のサイトが判りやすい。byte 型→8ビット整数(-128〜127)、short 型→16ビット整数(-32768〜32767)、int 型→32ビット整数(-2147483648〜2147483647)、long 型→64ビット整数(-9223372036854775808〜9223372036854775807)ってのがわかる。
少数は、float 型→32ビット(単精度)実数,約6桁精度,範囲 ±3.40282×1038、double 型→64ビット(倍精度)実数,約15桁精度,範囲 ±1.79769×10308か。
・3E2というのは300.0。のことで、double型の数値リテラル。
これがどういうことかというと、浮動小数点リテラルの末尾に「E」を書き、さらに整数値を書くと、その整数値が「10の乗数」になるらしい(「E」とは : JavaA2Z)から。だから3.0を10の2乗倍したら、300.0ってこと。
次は、
class devine {
public statcic void main(String[] args) {
int sum = 0;
fot(int i = 1; i < 10; i++){
sum += 0.1;
}
System.out.println(sum == 1);
}
}
public statcic void main(String[] args) {
int sum = 0;
fot(int i = 1; i < 10; i++){
sum += 0.1;
}
System.out.println(sum == 1);
}
}
の実行結果について。
このコードの実行結果…まず、"+="という演算子がよくわからん。
複合代入演算子(https://wa3.i-3-i.info/word13674.html)というらしいが。
複合代入演算子(https://wa3.i-3-i.info/word13674.html)というらしいが。
つまり、int型の変数sumは、for文で整数の1から10までを足してるから、これでまず55。
こいつに0.1を足すと、55.1で、sumには55.1が代入されるわな。
そんで最後のプリントラインメソッド、についてはここが詳しくて。
こいつに0.1を足すと、55.1で、sumには55.1が代入されるわな。
そんで最後のプリントラインメソッド、についてはここが詳しくて。
== 演算子(比較演算子)は、exp1 が exp2 と等しければ true(真)、さもなくば false(偽) を返す(http://www.tohoho-web.com/js/operator.htm#eq)
らしいんで、一致しないから答えはfalseだな。
らしいんで、一致しないから答えはfalseだな。
今日はこれぐらいでいいや。
「staticはメソッドのこと?staticメソッドって?」っていう疑問がJavaのデータ型を読んで湧いてきたから、また調べよう。