用Java打印输出时会发生什么情况?
谁能解释一下,下面这一行到底发生了什么用Java打印输出时会发生什么情况?,java,printing,system.out,Java,Printing,System.out,谁能解释一下,下面这一行到底发生了什么 java.lang.System.out.print("string" + i); 它将打印“string”,后跟integeri的值,但这里发生了什么 这行的每个部分的意义是什么?“string”+i正在执行字符串连接,例如,创建一个包含string123内容的新字符串 java.lang.System.out.print(通常缩写为System.out.print)然后将该字符串写入“标准输出”-通常是运行程序的控制台。java.lang是包,正确的
java.lang.System.out.print("string" + i);
它将打印“string”,后跟integeri
的值,但这里发生了什么
这行的每个部分的意义是什么?“string”+i
正在执行字符串连接,例如,创建一个包含string123
内容的新字符串
java.lang.System.out.print
(通常缩写为System.out.print
)然后将该字符串写入“标准输出”-通常是运行程序的控制台。java.lang
是包,正确的import
语句不需要它System
是java.lang
包中的一个类out
是系统
类中的一个静态公共字段(不需要绑定实例,如全局变量),其类型为PrintStream
PrintStream将功能添加到另一个输出流,即
能够方便地打印各种数据值的表示形式。
还提供了另外两个特性。与其他输出流不同,
PrintStream从不抛出IOException;相反,例外
情况只是设置了一个内部标志,可以通过
checkError方法。可选地,可以创建打印流,以便
自动冲洗;这意味着flush方法是自动执行的
在写入字节数组后调用,其中一个println方法是
调用,或写入换行符或字节('\n')
这个PrintStream
在后台连接到一个OutputStream
,它可以连接到IDE输出或控制台输出(通过Java本机接口)
print
方法“string”+i
的参数使用+
运算符连接成一个大字符串,可以直接输入到print方法i
是一种基本的int
类型,因此在连接期间会在内存中临时转换为String
。至于幕后的字符串串联优化:
一个实现可以选择在一个步骤中执行转换和连接,以避免创建一个
中间字符串对象。以提高重复的性能
字符串连接,Java编译器可以使用StringBuffer类
(§20.13)或减少中间产物数量的类似技术
通过表达式求值创建的字符串对象
对于基本对象,实现还可以通过直接从
将基元类型转换为字符串
java.lang.System
是驻留在java.lang
包中的System
类的限定名。您正在请求其方法print
,该方法假定获取String
值作为参数。调用该方法时,会将括号中的结果对象(转换为字符串)发送到默认输出(通常是控制台)。来自:
Java语言为字符串连接运算符(+)以及其他对象到字符串的转换提供了特殊支持。字符串连接是通过StringBuilder(或StringBuffer)类及其append方法实现的。字符串转换是通过toString方法实现的,该方法由Object定义并由Java中的所有类继承。有关字符串连接和转换的更多信息,请参阅Gosling、Joy和Steele,Java语言规范
所以“string”+i
变成:
new StringBuilder("string").append(i).toString();
然后传递到
System.out.print()
这是一种方法,它将在命令行上显示消息,还有另一种方法可以在窗口中显示消息,请编写:
JOptionPane.showMassageDialog(null,"your message");
你读一些Java教程怎么样?这不是程序设计question@Guillaume-公平地说,这是一个编程问题,OP在提问之前应该对它进行一些研究。使用标准约定
i
是一个整数,但规则实际上并不要求它。可能objecti=newobject(){publicstringtostring(){throw newruntimeexception();}代码>