我是java的新手并尝试打印多个变量的值。但System.out.println
中的引号让我感到困惑。任何人都可以解释以下语法吗?
为什么"+ b1.cc"
超出报价范围?
我的代码:
System.out.println("Bike data " + b1.brand + " " + b1.color + " " + b1.cc);
答案 0 :(得分:3)
我们说你有:
String one = "1";
String two = "2";
String three = "3";
System.out.println("one: " + stringOne + " and two: " + stringTwo + " and also a three: " + stringThree);
将打印
one: 1 and two: 2 and also a three: 3
它被称为连接。即你"创建一个新的字符串"。
查看this answer too获取mor信息。
在实际代码中" "
只会在变量值之间添加一个空格。
答案 1 :(得分:1)
引号创建一个供JVM使用的String对象。变量:
b1.brand
b1.color
b1.cc
将返回一个String对象,因此不需要引号。例如,如果b1.color
在引号中,它将专门打印b1.color而不是变量保存的内容。
答案 2 :(得分:1)
我认为您需要了解Java中的字符串连接。您可以调用一个方法来连接(连接在一起)两个字符串,但您也可以使用+
运算符。
String类包括一个连接两个字符串的方法:
string1.concat(string2)
;
这将返回一个新字符串,该字符串为string1,并在末尾添加了string2。
您还可以将concat()方法与字符串文字一起使用,如:
"我的名字是" .concat(" Rumplestiltskin");
字符串通常与+运算符连接,如
"Hello," + " world" + "!"
导致
"你好,世界!"
+运算符广泛用于打印语句。例如:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
打印
点看见我是Tod
这种连接可以是任何对象的混合。对于不是String的每个对象,调用其toString()方法将其转换为String。
答案 3 :(得分:1)
您已经提供了字符串连接的示例,同样有效的是单独构建字符串引用,如
String str = "Bike data " + b1.brand + " " + b1.color + " " + b1.cc;
System.out.println(str);
Java还支持格式化打印。假设这些字段都是String,您可以使用
System.out.printf("Bike data %s %s %s", b1.brand, b1.color, b1.cc);
String str = String.format("Bike data %s %s %s", b1.brand, b1.color, b1.cc);