我对编程非常陌生并且仍然对某些事情感到困惑。以下是课堂练习。
我们必须使用以下代码中的上下文来确定代码中标识符的数据类型。
if (a.length( ) > 10)
{
b = ! ( c < 4 );
z = ugly ( a, b, c – 9 );
}
if ( z.equals( “I think I got it” ) )
{
System.out.println ( “Yea” );
}
以下是我的答案: 一个;是int
B;是int
C。;是int
Z者除外;是String
我确定我有一些错误。我想当我看到&#39; a&#39; &安培; &#39; Z&#39;在多个地方。再一次,我只是想更好地理解它们。
答案 0 :(得分:1)
a
不能是int
,因为您无法在.length()
上调用int
等方法。
b
不能是int
,因为在第b = ! ( c < 4 );
行中,右侧的表达式为boolean
,您无法指定boolean
到int
。
c
可能确实是int
,但它也可能是long
。
z
可能确实是String
,但它原则上可以是任何非基本类型(因为所有对象都有equals()
方法)。
答案 1 :(得分:0)
a.length()
length()是String对象的一种方法;
c < 4
这是布尔测试(结果可以是true或false),其中c可以是number(int)。
z.equals( “I think I got it” )
equals是Object的一个方法,但在这种情况下它使用String检查z值。
所以 a是String
b是布尔值
c是int或其他数字(可能是长或字节,短)
z是String或otehr非原始对象