【六日目】Java学習

Java学習6日目

1. JavaSilver試験問題にて間違えた箇所


・public static void main(String args)←[]の記述がない場合

答え:実行時エラーが発生する。

   main()メソッドのルールには従っていないがJava言語の文法として間違ってはいないためコンパイルは可能。

   コンパイルエラーはあくまで文法として誤っている場合のみ検出する

   よって実行時エラーとなる回答


  

・識別子として使用できないものの選択にてNULLを選択→誤り

 →リテラルとしてnullはあるが大文字ではないのでNULLは使用可能

  予約語は全て小文字と記憶


・下記のプログラムにて実行結果が想定と違った

 一つ目のifの(i < j)時点でtrueのため、その後の(k-- > j)が計算されない認識ではなかった

14

14

という回答ではなく

15

14

が正解。

public class Main {
public static void main(String[] args) {
int i = 5;
int j = 10;
int k = 15;
if((i < j) || (k-- > j)) {
System.out.println(k);
}
if((i < j) && (--k < j)) {
System.out.println(k);
}
System.out.println(k);
}
}

2. 作成したプログラム


public class Main {
public static void main(String[] args) {
String[] array = new String[1];
array[0] = 10;
System.out.print(array[0]);
}
}
実行結果:Main.java:4: エラー: 不適合な型: intをStringに変換できません:
array[0] = 10;
^
エラー1個
エラー: コンパイルが失敗しました

public class Main {
public static void main(String[] args) {
String[] array = new String[1];
array[0] = "10";
System.out.print(array[0]);
}
}

実行結果:>java Main.java
10

public class Main {
public static void main(String[] args) {
String[][]array = {{"a","b","c","aa","bb"}, {"d","e","f"},{"ss"},{"hh"}};
System.out.print(array.length + " ");
System.out.print(array[1][0]);
}
}

実行結果:java Main.java
4 d

public class Main {
public static void main(String[] args) {
String[][]array = {{"a"}};
System.out.print(array.length + " ");
System.out.print(array[0][0]);
}
}

実行結果:>java Main.java
1 a


public class Main {
public static void main(String[] args) {
float ans = 7/6;
System.out.print(ans);
}
}

実行結果:>java Main.java
1.0

public class Main {
public static void main(String[] args) {
float ans = 7f/6f;
System.out.print(ans);
}
}

実行結果:java Main.java
1.1666666


public class Main {
public static void main(String[] args) {
double d = 10.5;
int i = (int)d;
System.out.println(i);
foo((short)i);
}
static void foo(short a) {
System.out.println(a);
}
}

実行結果:java Main.java
10
10

public class Main {
public static void main(String[] args) {
int[] ary = new int[3];<