JAVA中,这个输出语句有点不明白,双引号为什么不是成对出现,比如姓名前那个引号,应该在前面出现还

2025-12-06 13:09:56
推荐回答(2个)
回答1:

System.out.println("姓名: "+name+", 年龄"+age);

首先双引号 是成对出现的,  双引号括起来的部分是字符串的字面量

其次 +号, 不是数学意义上的加号,  而是String类型的链接符号

比如       "1"+"2"的结果是12

String类型+其他基本类型比如int,byte,char 结果都是String类型,加号都是连接符号

例如

		System.out.println("1"+(1+1)+"1"+2);
//第一步:小括号里面的计算优先    "1"+2+"1"+2     
//第二步:字符串连接结果也是字符串 "12"+"1"+2
//第三步:                          "121"+"2"
//第四步                            "1212"  
//所以上面的语句会输出1212


例二 关于输出

public class DemoString {
String name = "张三";
int age = 20;
public static void main(String[] args) {
DemoString ds = new DemoString();
ds.tell();
}
public void tell() {
System.out.println("姓名: " + name + ", 年龄: " + age);//方法一
System.out.printf("姓名: %s , 年龄: %d \n", name, age);//方法二
}
}

输出结果

姓名: 张三 , 年龄: 20
姓名: 张三 , 年龄: 20

方法二 ,叫格式化输出. 很多C语言转java的人刚开始比较喜欢的输出方法,跟C语言接近

%s表示输出字符串
%d表示将整数格式化为10进制整数输出
 \n这个是换行

回答2:

双引号内的文字是字符串类型,字符转拼接用加号连接,name 是变量