Java 确定数据类型
我对编程非常陌生,仍然对一些事情感到困惑。下面是一个课堂练习 我们必须在下面的代码中使用上下文来确定代码中标识符的数据类型Java 确定数据类型,java,types,identifier,primitive-types,Java,Types,Identifier,Primitive Types,我对编程非常陌生,仍然对一些事情感到困惑。下面是一个课堂练习 我们必须在下面的代码中使用上下文来确定代码中标识符的数据类型 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” ); } if(a.length()>10)
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” );
}
if(a.length()>10)
{
b=!(c<4);
z=丑陋(a、b、c-9);
}
如果(z.equals(“我想我明白了”))
{
System.out.println(“是”);
}
以下是我的答案:
A.是int
b;是int
c;是int
z;是字符串吗
我肯定我弄错了一些。我想当我在多个地方看到“a”和“z”时,我会感到困惑。同样,我只是想更好地理解如何识别它们。
a
不能是int
,因为不能在int
上调用.length()
之类的方法
b
不能是int
,因为在b=行中!(c<4)
,右侧的表达式类型为boolean
,不能将boolean
分配给int
c
可能确实是一个int
,但也可能是一个长的
z
可能确实是一个字符串
,但原则上它可以是任何非基元类型(因为所有对象都有一个equals()
方法)
length()是String对象的一个方法
c < 4
equals是Object的一个方法,但在本例中它使用String检查z值
所以
一根绳子
b是布尔型的
c是整数或其他数字(可能是长或字节,短)
z是字符串或otehr非基本对象int是基本类型,没有length()
函数。所以你的答案是错误的。回答这个问题的关键是a和z的length()
和equals()
函数。对于b和c,检查值。你会找到答案的!;)a
必须具有typeorg.omg.CORBA.TypeCode
,因为该类具有length()
方法。或者它可以是java.util.concurrent.AtomicReferenceArray
,或者java.lang.StringBuffer
,或者JRE中其他26个具有length()方法的方法之一。真的,如果这是一个课堂练习,那是我遇到过的最愚蠢的练习之一。即使您仅限于基本类型和String
,您仍然不知道c
是什么。(P.S.Matthew,请不要引用我在你的家庭作业中说过的任何话。我在这里非常讽刺。)我会说Z是一个对象,因为字符串在Java中无论如何都是对象。实际上,它几乎肯定是一个字符串,因为对象的equals方法默认为比较内存位置(如您所见,示例将它与字符串进行比较……只有在有人重写对象的equal函数时才会发生这种情况)
c < 4
z.equals( “I think I got it” )