Java SE 11 silver取得
ひょんなことからJava SE 11 silver取得することにしました。
絶賛、子育て中なのでGoldは諦めて隙間時間で学んだことを記載してい行きたいと思います。
(なのでたまに更新します。)
配列の宣言
データ型[] 配列名 = new データ型[要素数];
または
データ型 配列名[] = new データ型[要素数];
[]はデータ型の後ろでも、配列名の後ろでもよし。
データ型[] 配列名 = {値1, 値2,・・・};
これでもいけるねや。
配列の生成時の初期値
int[] array = new int[3];
System.out.println(array[0]);
これは「0」が出力されます。
配列は生成された時点で初期値が入ります。 整数は0、実数は0.0、論理値はfalse、文字なら’\u0000’が初期値として入ります。 また、Stringのようなオブジェクト参照型はnullが入ります。配列の{}指定
String array[] = new String[3];
array = {"おはよう", "こんにちは", "こんばんは"};
System.out.println(array[2]);
これはどうなるでしょうか。
コンパイルエラーです。 {}は配列の宣言時のみ使用可能です。インポート不要なクラス
- java.lang
- 同じパッケージに属するクラス
javaのエントリーポイントの5つの条件
- アクセス修飾子はpublic
- staticメソッド
- メソッド名は小文字でmain
- メソッドの引数はString配列、Stringの可変長引数のみ
Stringの可変長引数
String ... args
javaコマンドの使い方
java クラス名またはファイル名.java 引数
引数は、スペース区切りで複数指定可能。
アクセス修飾子
javaでは、public, protected, デフォルト(指定なし), privateの4つ
protected は「他ファイル・他クラスからのアクセスをプロテクトする」
private は「自クラスからのアクセスしか許さない」
ラムダ式
例
list.replaceAll(str -> {
if(str.startsWith("あ")) {
return "*" + str;
} else {
return str;
}
});
書き方
(type args, …) -> { statements }
処理内容がreturn文のみの場合、{}とreturnキーワードを同時に省略できる
SampleInterface hoge = str -> str + str;
thisの呼び出しタイミング
クラスをインスタンス化する際は、コンストラクタは1つしか呼び出されません。
呼び出されたコンストラクタから別のコンストラクタを呼び出すときにthis
を使います。
Public class Test {
Public Test() {
System.out.println("コンストラクタ1");
this(123);
}
Public Test(int idx) {
System.out.println("コンストラクタ2");
}
Public static void main(String[] args) {
Test test = test();
}
}
これはthis(123)
でコンパイルエラーが発生します。
Math.sqrt , Math.pow(平方根と累乗)
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// Your code here!
double test = Math.pow(8.0,3.0);
System.out.println(test);
double test2 = Math.sqrt(81);
double test3 = Math.sqrt(50);
System.out.println(test2);
System.out.println(test3);
}
}
結果は、
512.0
9.0
7.0710678118654755