Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确定数据类型_Java_Types_Identifier_Primitive Types - Fatal编程技术网

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
必须具有type
org.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” )