テスト1回目(java) - agodmaster/mdLesson GitHub Wiki
- 1.System.out.println("答えは"+1+3*2+4+"です");
#答え 164
解説 掛け算が優先されて6になるがそれ以外は左から順番に計算されるので文字列と1を足すことになり連結が始まる
- 2.System.out.println("答えは"+10%4+です");
#答え 2
解説 %(演算子)は余りを求める10の中に4は2個作れるので8そして10-8=2これが余りになる
- 3.System.out.println("答えは"+5/2.0+"です”);
#答え 2.5
解説 2.0*2.5が5になるからです。
- 1.int型変数iが5の時
#答え i==5
解説 iの値が5のなった時trueになる ==はその数値と全く同じ数値の場合はみたいな感じである
- 2.String型変数strが"こんにちは"という文字列と等しい時
#答え str.equels("こんにちは"))
解説 文字列を比較する場合str.equelsで指定した文字の場合はと言う書き方でないと判定されない
- 3.int型変数が偶数の時
#答え i%2==0
解説 これが奇数なら2の値を1にすると良い つまり何何の倍数の時割り切れたら0でtrueだよって意味
- 4.int型変数iが0以下または12以上の時
#答え i<=0||i>=12
解説 <=のように比較演算子に=付けると0なら0含むそれ以下という意味になり=がないと含まれない以下となる つまりこの場合1から11まではfalseになる
- 5.int型変数iが0でない時
#答え !(i==0)
解説 比較対象の先頭に!付けることでそれの反対の意味になる 別の書き方もあるが分かりづらい i!=0
public class Test{
public static void main(String[] args){
int score=72;
if(score>60){
System.out.println("可");
}else if(score>70){
System.out.println("良");
}else if(score>80){
System.out.println("優");
}else{
System.out.println("不可");
}
}
}
#答えは 可
解説 if文は上がtrueなら下を見ない
public class Test{
public static void main(String[] args){
int status = 1;
String statusMsg;
switch(status){
case 0:
statusMsg = "正常";
case 1:
statusMsg = "毒";
case 2:
statusMsg = "麻痺";
case 3:
statusMsg = "睡眠";
}
System.out.println("今の状態は"+statusMsg+"です。");
}
}
- 選択肢
ア:今の状態は毒です。と表示される
イ:今の状態は正常毒麻痺睡眠です。と表示される
ウ:今の状態は毒麻痺睡眠です。と表示される
エ:コンパイルエラーになる
#答え エ
解説 string型が初期化されてないとコンパイル君が可能性が確実性に欠けると判断しエラーを起こす。対策は以下の通りである。
1.初期化しておく(答えは 今の状態は睡眠です。に変わる)
String statusMsg="";
2.もしくはdefault区を使用する(答えは 今の状態はです。に変わる)
switch(status){
case 0:
statusMsg = "正常";
case 1:
statusMsg = "毒";
case 2:
statusMsg = "麻痺";
case 3:
statusMsg = "睡眠";
default:
statusMsg ="";
}
public class Test{
public static void main(String[] args){
① int TARGET = 777;
int count = 0;
while(②){
count++;
int num = new java.util.③().nextInt(④)+⑤:
if(num ==TARGET){⑥;}
}
System.out.println(TARGET+"は"+count+"回目に出ました");
}
}
#答えは
public class Test{
public static void main(String[] args){
final int TARGET = 777;
int count = 0;
while(true){
count++;
int num = new java.util.Random().nextInt(900)+100;
if(num ==TARGET){break;}
}
System.out.println(TARGET+"は"+count+"回目に出ました");
}
}
解説 乱数が777になったらbreakで抜ける
- [実行例]
{
{5,6,7,8,},
{1,3,5,7,},
{2,4,6,8,},
{10,11,12,13,14,},
}
public class Test{
public static void main(String[] args){
int[][] data = {{5,6,7,8},{1,3,5,7},{2,4,6,8},{10,11,12,13,14}};
System.out.println("{");
for(int i = 0;i < ① ;i++){
System.out.print("②");
for(int j = 0;j < ③ ;j++){
System.out.print( ④ +",");
}
System.out.println("⑤");
}
System.out.println("⑥");
}
}
#答え
public class Test{
public static void main(String[] args){
int[][] data = {{5,6,7,8},{1,3,5,7},{2,4,6,8},{10,11,12,13,14}};
System.out.println("{");
for(int i = 0;i < data.length;i++){
System.out.print("{");
for(int j = 0;j < data[i].length ;j++){
System.out.print(data[i][j]+",");
}
System.out.println("},");
}
System.out.println("}");
}
}
解説 data.lengthで配列の要素数回して行の管理をし data[i].lengthでそれぞれの行の列を回して管理する data[i][j]でそれぞれの通知を入れていく。 ②と⑥は最初と終わりに単体についてるので書いた。