1.public class Application
2.{
3. public static void main(String[] args)
4. {
5. int a = 1;
6. short b = 0;
7. long c = 34;
8.
9. float d = 5.6f;
10. double e = 3.65;
11.
12. char f = 'A';
13.
14. boolean g = true;
15.
16. byte h = 126;
17.
18. System.out.println(a + b + c + d + e + f + g + h);
19. }
20.}
日食中的第 18 行显示错误
"运算符 + 未为参数类型双布尔值定义">
我只是不想添加它们。我只想用这个输出显示它们:
10345.63.65Atrue126
在Java中,布尔值本身不被视为数字,这与Python不同,其中True
为1,False
为0。
如果需要这种类型的行为,可以使用int i = g ? 1 : 0;
转换布尔g
编辑:我误解了你的问题 - 我看到你想连接它们,而不是添加它们。执行此操作的一个好方法是使用 StringBuilder
:
StringBuilder sb = new StringBuilder();
sb.append(a);
sb.append(b);
sb.append(c);
// ...etc...
String str = sb.toString();
要将多个变量连接到一个字符串,只需添加一个空字符串即可。
System.out.println("" + a + b + c + d + e + f + g + h);
这有什么意义?
在java中,向字符串添加某些内容会将此"某些内容"转换为其字符串格式。
如果不添加字符串,它只是一堆数字和"+"符号,这是基本的数学。
参见JLS:
运算符 + 和 - 称为加法运算符。
如果 + 运算符的任一操作数的类型是字符串,则 操作是字符串串联。
否则,+ 运算符的每个操作数的类型必须是 可转换为基元数值类型的类型 (§5.1.8(,或 发生编译时错误。
boolean
不是数字类型,因此您会收到此编译错误。
您可以在语句末尾添加一个空字符串,结果将转换为字符串:
System.out.println(a + b + c + d + e + f + g + h + "");