wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Android開發2_基本程式邏輯運算

Total questions: 27

Worksheet time: 14mins

Name
Class
Date
1.

程式語言一般支援算術、關係、邏輯等多種運算子(Operators),而這些運算子會具有優先順序。下列有關於Java或Objective-C運算子的優先順序的排序(由高到低),何者是正確的?

a)

+ == &&

b)

&& == +

c)

== + &&

d)

+ && ==

2.

上列Java程式碼的執行結果為何?

a)

*

b)

**

c)

***

d)

****

3.

下列Java程式碼執行後,會顯示為多少?

int x = 0; int y = 10; while (x < 5) { y--; ++x; } ; System.out.print(x + "," + y);

a)

5,5

b)

5,6

c)

6,6

d)

6,5

4.

下列Java程式碼執行後,結果為何?

int a =2; int b =3;

b=(a)+(b++);

System.out.print (b);

a)

5

b)

6

c)

7

d)

8

5.

關於以下程式片段,執行後之結果:

int v1 = 100;

double v2,v3;

v2 = v1/3;

v3 = (double)v1/3;

下列敘述何者正確?

a)

v2之值(小數取二位)為33.00 且 v3之值(小數取二位)為33.33

b)

v2之值(小數取二位)為33.33 且 v3之值(小數取二位)為33.33

c)

v2之值(小數取二位)為33.00 且 v3之值(小數取二位)為33.00

d)

v2之值(小數取二位)為33.33 且 v3之值(小數取二位)為33.00

6.

下列何者的結果,與其他三個選項不同?

a)

int a = 7, b; b = a++; print b;

b)

int a = 7, b; b = ++a; print b;

c)

int a = 88, b; b = a / 10; print b;

d)

int a = 88, b; b = a % 10; print b;

7.

關於以下程式片段,執行後之結果: int v1 = 100; int v2 = --v1;

下列敘述何者正確?

a)

v1之值為100 且 v2之值為99

b)

v1之值為99 且 v2之值為100

c)

v1之值為100 且 v2之值為100

d)

v1之值為99 且 v2之值為99

8.

程式語言支援「運算式」(Expressions)以產生運算結果。下列Java或Objective-C的運算式執行結果何者是正確的?

int v1 = 10;

int v2 = v1*2;

int v3 = v1++-19/--v2;

a)

v1之值為11 且 v2之值為20 且 v3之值為9

b)

v1之值為11 且 v2之值為19 且 v3之值為9

c)

v1之值為10 且 v2之值為20 且 v3之值為10

d)

v1之值為10 且 v2之值為19 且 v3之值為10

9.

程式語言支援運算子 (Operators)搭配運算元 (Operands)組成運算式(Expressions)以執行相關運算作業。下列Java或Objective-C程式片段執行後之結果何者為正確?

int v1 = 100;

int v2 = v1++;

a)

v1之值為101 且 v2之值為101

b)

v1之值為100 且 v2之值為100

c)

v1之值為101 且 v2之值為100

d)

v1之值為100 且 v2之值為101

10.

關於以下程式片段:

int[] x= {2,4,18};

int r=0;

for(int i:x)

r+=i;

請問r等於多少?

a)

6

b)

3

c)

24

d)

18

11.

以下程式執行結果,何者正確?

int total = 0,i,j;

for(i=0;i<3;i++)

for(j=0;j<i;j++)

total += j;

a)

total之值為1

b)

total之值為2

c)

total之值為3

d)

total之值為4

12.

public static void main(String[] args) {

int i = 0;

for (int j = 0; j < 4; j++) i += 2;

System.out.println(i); }

請問執行結果為何?

a)

0

b)

4

c)

6

d)

8

13.

public static void main(String[] args) {

int count = 2;

if(count > 0)

System.out.println("A");

System.out.println("B");

else System.out.println("C"); }

請問執行結果為何?

a)

ABC

b)

AB

c)

C

d)

Compilation fails(編譯錯誤)

14.

public class A{

protect int methodA(int x){return 0;}

}

class B extends A{ //在此插入程式碼

}

下列程式碼各別插入於class B中,共有幾行可正確編譯?

public int methodA(int x){return 1;}

private int methodA(int x){return 0;}

protected int methodA(int x, int y){return 1;}

public String methodA(String x){return "A";}

a)

1

b)

2

c)

3

d)

4

15.

請問下列程式碼執行後,變數count的值為何?

int count=0;

for(int i=1;i<=5;i++)

count=count+i/2;

a)

0

b)

15

c)

7.5

d)

6

16.

int[] x= {2,4,18};

int r=0;

for(int i=0;i<=x.length;i++)

r+=x[i];

請問如果在螢幕上輸出r,則會在螢幕上看到什麼?

a)

6

b)

3

c)

24

d)

錯誤訊息

17.

請問下列程式碼執行後,變數count的值為何?

int count=0;

for(int i=1;i<=5;i++)

count=count+i%3;

a)

4

b)

5

c)

6

d)

7

18.

public class A {

public int a = 123; }

public class B extends A {

public int a = 456; }

如果執行下列程式碼:

B x = new B();

System.out.println( String.valueOf(x.a));

則螢幕上會看到下列何者?

a)

123

b)

456

c)

123,456

d)

456,123

19.

下列程式碼執行完後,變數c的值為何?

int a=7,b=33;

int c=b/a+b%a;

a)

4

b)

5

c)

7

d)

9

20.

public class MyClass {

public int m1( int p )

{

System.out.println("123");

}

public void m1( String p )

{

System.out.println("456");

}

}

如果執行以下程式:

(new MyClass()).m1("789");

螢幕上會看到下列何者?

a)

123

b)

456

c)

789

d)

編譯錯誤

21.

public static void main(String[] args) {

int a = 4, b = 0;

switch (a) {

case 2:

b += 2;

case 4:

b += 3;

default:

b += 5;

case 0:

b += 4;

break;

case 6:

b += 1;

}

System.out.println("b = " + b);

}

請問執行這段程式之後,b的值為多少?

a)

b = 13

b)

b = 3

c)

b = 8

d)

b = 12

22.

請問下列程式碼執行後,變數x的值為何?

int n=5,x=0;

switch(n) {

case 0:

x=x+1;;

case 5:

x=x+2;;

case 10:

x=x+3;

break;

default:

x=x+4;

}

a)

3

b)

5

c)

6

d)

9

23.

請問下列哪個選項和以下的布林表示法完全一樣?

!(X==1 && Y==2 && Z==3)

a)

!(X==1) && !(Y==2) && !(Z==3)

b)

X!=1 && Y!=2 && Z!=3

c)

X!=1 || Y!=2 || Z!=3

d)

!(X==1 || Y==2 || Z==3)

24.

閏年的規則為:「西元年逢4的倍數為閏年,但在這之中為100的倍數不為閏年,但400的倍數又為閏年。」,現有一個整數變數為 year,代表西元年的數字。請問下列選項何者可以精確表示閏年的條件?

a)

year%4==0 && year%100!=0 && year%400==0

b)

year%400==0 || year%100!=0 || year%4==0

c)

year%4==0 || (year%100!=0 && year%400==0)

d)

year%400==0 || (year%100!=0 && year%4==0)

25.

請問下列程式碼執行後,輸出的結果為何?

String s1 = "Tom";

String s2 = "Tom";

String s3 = new String("Tom");

System.out.println(s1 == s2);

System.out.println(s2 == s3);

System.out.println(s1.equals(s3));

a)

true true true

b)

true false true

c)

true true false

d)

1 1 1

26.

請問下列程式碼執行後,輸出的結果為何?

public static void main(String[] args) {

Integer i = args[0];

int j = 12;

System.out.println("It is " + (j==i) + " that j==i.");

}

a)

It is true that j==i.

b)

It is false that j==i.

c)

出現Exception

d)

編譯錯誤

27.

public class A {

public void m1( )

{

System.out.println( "123");

}

}

public class B extends A {

public void m1( )

{

System.out.println( "456");

}

}

請問如果執行下列程式碼:

A x = new B();

x.m1();請問螢幕上會看到下列何者?

a)

123

b)

456

c)

789

d)

編譯錯誤