AP计算机科学A:计算布尔表达式

AP计算机科学A的学习概念,示例问题和解释

大学导师应用商店 大学导师安卓商店

所有AP计算机科学资源

1诊断测试 84练习测试 今日问题 抽认卡 从概念中学习

例子问题

←之前 1

例子问题1:<年代pan>计算布尔表达式

考虑下面的代码:

Int [] a = {8,4,1,5,1,5,6,2,4};

Int b = 1;

Boolean [] val = new Boolean [a.length];

For (int I = 0;I < a.length;我+ +){

val [i] = (a[i] - 1 > 4);

For (int I = 0;I < val .length;我+ +){

字符串s = "Duns Scotus";

如果(! vals[我]){

s = "米特兰迪尔";

System.out.println(年代);

上面代码的输出是什么?

可能的答案:

其他的都没有

兔褐司各脱

Mithrandir

Mithrandir

兔褐司各脱

Mithrandir

兔褐司各脱

Mithrandir

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

Mithrandir

Mithrandir

Mithrandir

Mithrandir

Mithrandir

兔褐司各脱

Mithrandir

Mithrandir

Mithrandir

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

兔褐司各脱

Mithrandir

兔褐司各脱

兔褐司各脱

正确答案:

兔褐司各脱

Mithrandir

Mithrandir

Mithrandir

Mithrandir

Mithrandir

兔褐司各脱

Mithrandir

Mithrandir

解释

首先了解正在执行的循环逻辑。对于第一个循环的每次执行,都将布尔值赋给瓦尔斯数组中。现在,你可以重写一下代码,让计算变得更简单:

A [i] - 1 >

Really和:

A [i] >

现在,唯一符合这个条件的值是:

8和6(第1和第7个值一个).

现在,看第二个循环,值年代将会是邓斯·司各脱真正的瓦尔斯.这是因为if语句检查for<年代trong>瓦尔斯![我].因此,仅第一个和第七个值就是“Duns Scotus”。其他一切都将是“米特兰迪尔”。

例子问题1:<年代pan>计算布尔表达式

考虑下面的代码:

Int a = 14;

Int b = -15;

Int c = 22;

Int d = 11;

If (a > 12 && b < -14 && c < d) {

System.out.println(“耶! !”);

} if (d - 20 < b) {

system . out。println("去做更多的编程!");

} else if(a + 12 >= c) {

system . out。println(“This is vexing......”);

}其他{

system . out。println(“这很有趣!”);

}}

上面代码的输出是什么?

可能的答案:

去做更多的编程吧!

没有输出。

耶! !

这很有趣!

这令人烦恼......

正确答案:

这令人烦恼......

解释

考虑以下每个条件:

第一个if语句有:<年代pan class="s1">一个> 12 &&<年代pan class="s1">b< -14 &&<年代pan class="s1">c<<年代pan class="s1">d

虽然14 > 12和-15 < -14是正确的,但11 < 22是不正确的。因此,所有这些的结合不可能是正确的。对于&&,所有的表达式都必须为真。

接下来,考虑:d- 20 <<年代pan class="s1">b

这实际上是:11 - 20 < -15或-9 < -15。这也不是真的。

接下来,考虑:一个+ 12 >=<年代pan class="s1">c

这实际上是:12 + 12 >= 22或24 >= 22。这是真的。因此,您的输出是“This is vexing......”!

例子问题1:<年代pan>计算布尔表达式

考虑下面的代码:

For (int I = 0;I < 10;我+ +){

If (i % 2 == 0) {

system . out。println(“这是我最喜欢的案例!”);

} else if(i + 6 > 12 && i % 3 == 1) {

system . out。println(“后院曾经有一个游泳池!”);

}其他{

system . out。println(“好吧,至少它是……”);

上面代码的输出是什么?

可能的答案:

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

后院曾经有一个游泳池!

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

后院曾经有一个游泳池!

好吧,至少它是……

这是我最喜欢的案子!

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

这是我最喜欢的案子!

后院曾经有一个游泳池!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

这是我最喜欢的案子!

后院曾经有一个游泳池!

这是我最喜欢的案子!

正确答案:

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

好吧,至少它是……

这是我最喜欢的案子!

后院曾经有一个游泳池!

这是我最喜欢的案子!

好吧,至少它是……

解释

首先,请注意,您的循环将运行从0到9(含9)的值。

第一个条件相对简单:

I % 2 == 0

这是正确的,当数字是偶数。当它能被2整除时,余数为0。(记住,模数给出余数。)

现在,接下来的两个其他的条件只对奇数执行。第一个可以改写为:

I > 6 && I % 3 == 1

这意味着我们需要从7到9除3余数为1的所有数。这只适用于I = 7.这将是第8行输出。因此,您知道您将看到交替的语句,表示“这是我最喜欢的案例!”所有其他的都是“好吧,至少它是……”,除了第八行,它会是“后院曾经有一个游泳池!”

例子问题1:<年代pan>计算布尔表达式

考虑下面的代码:

Int I = 45, j = -12;

String s = "This is great!";

String s2 = "你在哪里?";

如果(s2.charAt (4) ) == ' ' && ( 我< 4 | | j > -43) & & ! s2.equals(“哇! !”)){

system . out。println(“快乐的日子又来了!”);

} else if (s2.charAt(5) == 's') {

system . out。println(“好吧,至少我们在这里。”);

} else if (j + 12 != 0) {

system . out。println(“今天股市上涨了!”);

} else if(i - 20 < 100) {

system . out。println(“明天我们将在哪里吃午饭?”);

}其他{

system . out。println(“但你在这里!”);

上面代码的输出是什么?

可能的答案:

好吧,至少我们在这里。

但你看!

今天股市上涨了!

明天大家在哪里吃午饭?

快乐的日子又来了!

正确答案:

明天大家在哪里吃午饭?

解释

最简单的方法是先看第一个的一般形式如果声明。注意,它由三个具有布尔值的表达式组成他们之间。这意味着如果这些成员中的任何一个为假,整个东西将为假。好吧,考虑第一项:

s2.charAt(4) == ' '

这是在询问字符串中的第五个字符s2.(请记住,索引从0开始。)这对年代但不是为了s2,其中有'e第五个成员。因此,我们知道第一如果一定是假的。

现在,说到第二点:

s2.charAt (5) = =<年代pan class="s2">“年代”

这也是不对的,对于第6个字符s2' '

第三个如果也是假的。J + 12等于0!

然而,事实确实如此(45 - 20 < 100)是真的。因此,第四如果语句将执行,给出输出:

明天大家在哪里吃午饭?

问题51:<年代pan>基本数据类型

考虑下面的代码:

I = 12, j = -5, k = 103;

If (i < 15 && j >= -4) {

system . out。println(“你应该多上哲学课!”);

} else if(!(i < 100 && k > 4)) {

system . out。println(“我喜欢中世纪研究!”);

} else if(!(i == 3 && k == 4)) {

system . out。println(“我最喜欢的哲学家当然是Radulphus Brito !”);

} else if(i != 4 && k == 102) {

system . out。println(“我最喜欢的哲学家是约翰·费希特。”);

}其他{

system . out。println(“I am going to cut the grass tomorrow.”);

上面代码的输出是什么?

可能的答案:

你应该多上哲学课!

我喜欢中世纪研究!

我最喜欢的哲学家是约翰·费希特。

我最喜欢的哲学家当然是拉多弗斯·布里托!

我明天要去割草。

正确答案:

我最喜欢的哲学家当然是拉多弗斯·布里托!

解释

让我们依次考虑每个条件。当我们达到一个为真时,我们知道我们的输出。

第一个条件:I < 15 && j >= -4

回想一下,为了让整个表达式为真,你必须让这两个都为真。虽然是这样<我mg title="12 < 15" src="https://vt-vtwa-assets.varsitytutors.com/vt-vtwa/uploads/formula_image/image/316371/gif.latex">,那是不正确的<我mg title="-5 >= -4" src="https://vt-vtwa-assets.varsitytutors.com/vt-vtwa/uploads/formula_image/image/316372/gif.latex">.因此,这个条件为false。

第二个条件:(i < 100 && k > 4)

为此,必须首先尝试括号中的表达式。这两个都是正确的。然而,!(真)是假的。(这在英语中是有道理的:“That is not true!”这意味着,“这是错误的!”)

第三个条件:(i == 3 && k == 4)

这里,我们都知道12 == 3而且103 == 4都是假的。因此,表达式为!(假).因此,这是真的!这是你的输出。

例子问题1:<年代pan>计算布尔表达式

考虑下面的代码:

char c = 'M';

String s = "James of Metz";

String s2 = "Albert of Sazony";

Int I = 14;

if(i > 34 || c < 'B') {

system . out。println(“我爱Duns Scotus!”);

} else if(s.charAt(9) == c) {

system . out。println(“我昨天读了奥卡姆的威廉!”);

} else if(!(i < 100 || s.equals("James of Metz"))) {

system . out。println(“嗯,我叫奥卡姆的威廉‘比尔’,因为我们是最好的朋友。”);

} else if(s2.equalsIgnoreCase("Al")) {

system . out。println(“我在读法弗沙姆的西门,他很有逻辑。”);

}其他{

system . out。println(“没有人能像西班牙的彼得一样有良好的逻辑阅读能力。”);

上面代码的输出是什么?

可能的答案:

没有人能像西班牙的彼得那样善于逻辑解读。

我读过《法弗舍姆的西蒙》,他很有逻辑。

我叫奥卡姆的威廉“比尔”,因为我们是最好的朋友。

我昨天读了《奥卡姆的威廉》!

我爱Duns Scotus!

正确答案:

我昨天读了《奥卡姆的威廉》!

解释

让我们依次考虑这些情况,直到找到匹配的真表达式。

条件1:i > 34 || c < 'B'

我们所需要的是,只要其中一个为真,整个表达式就为真(给定所表示的逻辑或的性质)||.然而,这些都不是真的。

条件2:s.charAt(9) == c

如果你仔细数一下字符串中的字母年代,你会看到索引9(即第10个字符)是.因此,它等于c.因此,您知道您的程序将输出我昨天读了《奥卡姆的威廉》!

例子问题1:<年代pan>计算布尔表达式

表达式(7 != 14)的值是多少?

可能的答案:

真正的

14

7

2

正确答案:

真正的

解释

符号“!”表示不。因此,7不等于14是正确的。

问题51:<年代pan>基本数据类型

布尔x;
int y;
X = false;
Y = 10;
X = !(y < 10 || y > 10);

println (x);

打印的是什么?

可能的答案:

真正的

x

5

10

正确答案:

真正的

解释

表达式!(y < 10 || y > 10)的计算结果为(y >= 10 && y <= 10)。

由于y = 10,表达式的计算结果为true。

例子问题1:<年代pan>计算布尔表达式

这个语句返回什么?

Int a = 2

Int b = 3

A == b

可能的答案:

真正的

不确定的

正确答案:

解释

A和b都是整数的基本类型。A等于2 b等于3。2不等于3,所以答案是假的。

问题52:<年代pan>基本数据类型

哪个是正确的?

字符串a = "2"

字符串b = "2"

a == b正确吗?还是a = b正确?

可能的答案:

a.equals (b)

两种说法都不对

A == b

两个答案的结果是一样的

正确答案:

a.equals (b)

解释

由于两个对象都不是基本类型,双等号==将返回类型对象的指针是否等效。string对象需要string equals方法也就是string。eq("string")

←之前 1

所有AP计算机科学资源

1诊断测试 84练习测试 今日问题 抽认卡 从概念中学习
大学导师的学习工具