e055763
安富 順一

Report#6



[1]課題


12/05付試験のQ23〜Q38について考察せよ。コードと実行結果を示し、各問について考察する事。

[2]解答・実行結果・考察


Q23


ソースコード

public class Q23 {
    public static void main(String[] args) {
        int x,y;
        x = 100; x += 1; x--; y = 200 + x;
        System.out.println(y++);
    }
}
 

実行結果

300
 

考察


Q24


ソースコード

public class Q24 {
    public static void main(String[] args) {
        int a=0, x=0;
        a = 5; a +=3; x = ++a;
        System.out.println(x);
    }
}
 

実行結果

9
 

考察


Q25


ソースコード

public class Q25 {
    public static void main(String[] args) {
        int a=9, b=3;
        a /= b;
        System.out.println(a %= b);
    }
}
 

実行結果

0
 

考察


Q26


ソースコード

public class Q26 {
    public static void main (String[] args) {
        int i, j;
        for(i=0,j=0; i<3; i++) ++j;
        System.out.println(i * j);
    }
}
 

実行結果

9
 

考察


Q27


ソースコード

public class Q27 {
    public static void main(String[] args) {
        int i=2;
        while(i-- > 0) System.out.print(i);
    }
}
 

実行結果

10
 

考察


Q28


ソースコード

public class Q28 {
    public static void main(String[] args) {
        int num=10000;
        for(int i = 0; i < 4; i++) num >>= i;
        System.out.println(num);
    }
}
 

実行結果

156
 

考察


Q29


ソースコード

public class Q29 {
    public static void main(String[] args) {
        int num = 0;
        for(int i = 1; i <= 10; i++) {
            if(++num % i ==0) num++;
        }
        System.out.println(++num);
    }
}
 

実行結果

12
 

考察


Q30


ソースコード

public class Q30 {
    public static void main(String[] args) {
        int a = 9;
        if(a++ != 10 | a++ == 10) a++;
        System.out.println(a);
    }
}
 

実行結果

12
 

考察


Q31


ソースコード

public class Q31 {
    public static void main(String[] args) {
        for( int i = 0; i < 5; i ++)
        System.out.println("i == " + i);
        System.out.println("Hello");
    }
}
 

実行結果

i == 0
i == 1
i == 2
i == 3
i == 4
Hello
 

考察


Q32


ソースコード

public class Q32 {
    public static void main(String[] args) {
        int i;
        for(i = 0; i < 9; i +=3){}
        System.out.println(i);
    }
}
 

実行結果

9
 

考察


Q33


ソースコード

public class Q33 {
    public static void main(String[] args) {
        for(int i = 0; i < 8; i ++){
            System.out.println(i);
            i += 3;
        }
    }
}
 

実行結果

0
4
 

考察


Q34


ソースコード

public class Q34 {
    public static void main(String args[]) {
        int i = 0;
        for(sayHello(); i <= 6; i += 3){
            sayHello();
        }
    }
    static void sayHello(){
        System.out.println("Hello");
    }
}
 

実行結果

Hello
Hello
Hello
Hello
 

考察


Q35


ソースコード

public class Q35 {
    public static void main(String args[]) {
        Player p1 = new Player();
        Player p2 = new Player();
        p1.id = 1000;
        p2.id = 2000;
        p1.num += p1.id;
        p2.num += p2.id;
        System.out.println(Player.num);
    }
}
class Player {
    int id = 0;
    static int num = 0;
}
 

実行結果

3000
 

考察


Q36


ソースコード

public class Q36 {
    public static void main(String args[]) {
        Player p1 = new Player();
        Player p2 = new Player();
        p1.id = 1000;
        p2.id = 2000;
        Player.num += p1.id;
        Player.num += p2.id;
        System.out.println("p1.num == "+p1.num);
        System.out.println("p2.num == "+p2.num);
    }
}
class Player {
    int id = 0;
    static int num = 0;
}
 

実行結果

p1.num == 3000
p2.num == 3000
 

考察


Q37


ソースコード

public class Q37 {
    public static void main(String argv[]) {
        Card c1 = new Card();
        Card c2 = new Card();
        Card c3 = c1;
        c1.deposit = 1000;
        c2.deposit = 2000;
        c3.deposit = 3000;
        int sum = c1.deposit + c2.deposit + c3.deposit;
        System.out.println(sum);
    }
}
class Card {
    int deposit;
}
 

実行結果

8000
 

考察


Q38


ソースコード

public class Q38 {
    public static void main(String argv[]) {
        Card c1 = new Card();
        Card c2 = c1;
        c1.deposit = 1000;
        c2.deposit = 2000;
        Bank.useCard(c1);
        Bank.useCard(c2);
        /*  A  */
        System.out.println("c1.deposit=" + c1.deposit);
        System.out.println("c2.deposit=" + c2.deposit);
    }
}
class Card{int deposit;}
class Bank{
    public static void useCard(Card c){c.deposit -= 500;}
}
 

実行結果

c1.deposit=1000
c2.deposit=1000
 

考察


[3]感想

 やっと追いつきました。
 テストが終わってから結構時間がたっていたので、いい復習になりました。

[4]参考文献


PukiWiki プヲグラミングIIへ
とっぷにもどる