我在理解每个类型之后的类型时遇到了一些问题
System.out.println();
行,在此 Java 代码中。现在我在第 4 行收到错误,其余代码没有运行,可以确定问题是什么吗?有人可以向我解释结果是什么类型以及为什么吗?我想你甚至不必运行代码,它只是要求一些基本的Java知识,我没有:(据我了解
System.out.println ((1<<1) << 2);
交付 8 个...但话又说回来,为什么?
public static void main(String[] args) {
String[] s= {"a", "2.0", "3", "eip"};
System.out.println (s[7/3]);
System.out.println (Integer.parseInt(s[1])*3.0f);
System.out.println ((1<<1) << 2);
System.out.println (s[s.length-1].equals("EIP"));
System.out.println (Double.parseDouble(s[2]+1) == Integer.parseInt(s[1]));
System.out.println (1==0|| ! (false & !true));
}}
for
System.out.println ((1<<1) << 2);
尝试此链接以获取左移解释。
取而代之的是:
System.out.println (s[s.length-1].equals("EIP"));
尝试:
System.out.println (s[s.length-1].equalsIgnoreCase("EIP"));
s[1]
==> 2.0
2.0 是十进制/双精度,因此无法使用 Integer.parseInt(s[1])
转换为 int
。
你需要Double.parseDouble(s[1])
.
(1<<1) << 2
使用换档操作员。在这里研究这个按位和位移运算符