-
2022-01-25 15:22:43
java的输出语句:System.out.print()
和System.out.println()
。区别是:
print()
输出完毕后不换行,而println()
输出完毕后会换行,因此println()
不输出任何东西时,就输出一个换行符。示例如下:
// 输出字符串 System.out.print("Welcome to Java"); // 换行输出 System.out.println(); double a = 1.0; // 输出浮点数 System.out.print(a); // 换行 System.out.println(); // 输出一行字符串 System.out.println("Welcome to Java"); // 输出一行浮点数 System.out.println(a);
在控制台的输出结果:
Welcome to Java
1.0
Welcome to Java
1.0
更多相关内容 -
Go语言初见println和fmt.Println区别
2021-11-01 14:27:37println()函数: fmt.println()函数: 总结区别: 1.包不同: 2.输出方式不同: 3.方法返回值不同: 4.内置print/println函数的调用不能接受数组和结构体参数。 5.对于组合类型的参数,内置的print/println...目录
4.内置print/println函数的调用不能接受数组和结构体参数。
5.对于组合类型的参数,内置的print/println函数将输出参数的底层值部的地址,而fmt和log标准库包中的打印函数将输出接口参数的动态值的字面形式。
作为一个刚刚接触Go的萌新,在学习Go语言的时候发现demo用了两种用法输出语句:
原文是菜鸟教程中的DemoGo 语言常量 | 菜鸟教程:
package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int = 5 var area int const a, b, c = 1, false, "str" //多重赋值 area = LENGTH * WIDTH fmt.Printf("面积为 : %d", area) println() println(a, b, c) }
其中运用了println()和fmt包中的Printf()函数用于输出,然后我又想起,再fmt函数中,还有一个相似的函数是
fmt.Println
于是我就研究了一下println()和fmt.Println()的区别与用法:
println()函数:
我们点进函数可以清楚地看到注释:
// The println built-in function formats its arguments in an // implementation-specific way and writes the result to standard error. // Spaces are always added between arguments and a newline is appended. // Println is useful for bootstrapping and debugging; it is not guaranteed // to stay in the language. func println(args ...Type)
简单翻译一下:
1.The println built-in function formats its arguments in an implementation-specific way and writes the result to standard error. println内置函数以特定于实现的方式格式化其参数,并将结果写入标准错误。 2.Spaces are always added between arguments and a newline is appended. 始终在参数之间添加空格,并追加换行符。 3.Println is useful for bootstrapping and debugging; it is not guaranteed to stay in the language. Println用于引导和调试;但是不保证在未来的Go版本中继续存在
fmt.println()函数:
// Println formats using the default formats for its operands and writes to standard output. // Spaces are always added between operands and a newline is appended. // It returns the number of bytes written and any write error encountered. func Println(a ...interface{}) (n int, err error) { return Fprintln(os.Stdout, a...) }
简单翻译一下:
1.Println formats using the default formats for its operands and writes to standard output. Println格式使用其操作数的默认格式,并写入标准输出。 2.Spaces are always added between operands and a newline is appended. 始终在操作数之间添加空格,并追加换行符。 3.It returns the number of bytes written and any write error encountered. 它返回写入的字节数和遇到的任何写入错误。
根据官方注释,我们可以很清楚的看到在注释中他们很大的区别是在于,fmt.println()是在fmt包下的方法,将结果写入标准输出,而println是在builtin包下的方法,将结果写入标准错误。
总结区别:
1.包不同:
fmt包:
fmt 包使用函数实现 I/O 格式化(类似于 C 的 printf 和 scanf 的函数), 格式化参数源自C,但更简单。
builtin包:
builtin包是go的预声明定义,包括go语言中常用的各种类型和方法声明,包括变量和常量两部分.其详细声明在builtin.go文件中。
因为builtin包是预申明的包,所以不需要import就可以使用,而 fmt 包需要提前import。
2.输出方式不同:
输入标准输出和标准错误也是很明显的输出体现,使用菜鸟教程const iota的例子说明:
//iota const ( a = iota //0 b //1 c //2 d = "ha" //独立值,iota += 1 e //"ha" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢复计数 i //8 ) fmt.Println(a,b,c,d,e,f,g,h,i) println(a,b,c,d,e,f,g,h,i)
输出:
很明显可以看出,在Windows Goland IDE下:标准输出是白色,错误输出是红色。所以一般适用于debug的时候,并且不保证在未来的Go版本中继续存在。一般输出还是调用fmt包输出更为妥当。
3.方法返回值不同:
我们首先观察两个方法的代码:
package fmt func Println(a ...interface{}) (n int, err error) { return Fprintln(os.Stdout, a...) } package builtin func println(args ...Type)
可以发现,fmt.Println是有返回值参数的。
fmt.println():
第一个返回值是:the number of bytes written,也就是往输出上写入了多少个字节
第二个返回值是:any write error encountered,也就是写入的任何错误
也就是说fmt.println()可以实现println()中无法实现的字节数统计和错误分析。
4.内置
print
/println
函数的调用不能接受数组和结构体参数。//定义数组 arr := [5]int{1,2,3,4,5} fmt.Println(arr)
成功输出:
//定义数组 arr := [5]int{1,2,3,4,5} println(arr)
输出错误:
5.对于组合类型的参数,内置的
print
/println
函数将输出参数的底层值部的地址,而fmt
和log
标准库包中的打印函数将输出接口参数的动态值的字面形式。func main() { var numbers = make([]int,3,5) printSlice(numbers) } func printSlice(x []int){ fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x) println("len=%d cap=%d slice=%v\n",len(x),cap(x),x) }
输出结果:
6.如果一个实参有
String() string
或Error() string
方法,那么fmt
和log
标准库包里的打印函数在打印参数时会调用这两个方法,而内置的print
/println
函数则会忽略参数的这些方法。func main() { conent, err := openFile() if err != nil { fmt.Printf("fmt.Printf:存在错误,%v\n", err) } else { fmt.Println(string(conent)) } if err != nil { println("println:存在错误,%v\n",err) } else { println(string(conent)) } } //只是模拟一个错误 func openFile() ([]byte, error) { return nil, &fileError{} } type fileError struct { } func (fe *fileError) Error() string { return "文件错误" }
输出结果:
以上就是对于println和fmt.Println的区别总结,还有别的问题,欢迎补充
-
Java PrintWriter println()用法及代码示例
2021-02-27 20:03:19Java中的PrintWriter类的println()方法用于中断流中的行。此方法不接受任何参数或返回任何值。用法:public void println()参数:此方法不接受任何参数。返回:此方法不返回任何值。下面的方法说明了println()方法的...Java中的PrintWriter类的println()方法用于中断流中的行。此方法不接受任何参数或返回任何值。
用法:
public void println()
参数:此方法不接受任何参数。
返回:此方法不返回任何值。
下面的方法说明了println()方法的用法方式:
示例1:
// Java program to demonstrate
// PrintWriter println() method
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
// Create a PrintWriter instance
PrintWriter writer
= new PrintWriter(System.out);
// Print the value 'GFG'
// to this stream using print() method
// This will put the in the
// stream till it is printed on the console
writer.print("GFG");
// Break the line in the stream
// using println() method
writer.println();
writer.flush();
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
GFG
示例2:
// Java program to demonstrate
// PrintWriter println() method
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
// Create a PrintWriter instance
PrintWriter writer
= new PrintWriter(System.out);
// Print the value '1.65'
// to this stream using print() method
// This will put the in the
// stream till it is printed on the console
writer.print(1.65);
// Break the line in the stream
// using println() method
writer.println();
writer.flush();
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
1.65
-
Golang中的println和fmt.Println
2019-11-19 15:23:54Golang中常用于打印的是 fmt.Println,就是说要引用fmt包。 Golang同时存在着一对println()和print()。都是小写字符!记住!!(Golang严格区分大小写) 看起来,用不用fmt都没关系。毕竟打“hello world”没区别...Golang中常用于打印的是 fmt.Println,就是说要引用fmt包。
Golang同时存在着一对println()和print()。都是小写字符!记住!!(Golang严格区分大小写)
看起来,用不用fmt都没关系。毕竟打“hello world”没区别。
真这么认为,就图样图森破了!以下代码执行验证于 go 1.15.2 版本。
看个例子:
package main import "fmt" func main() { ss := make([]int,5) ss = append(ss, 4) fmt.Println(ss) println(ss) } // 打印结果 有时候一串地址在上面... [6/10]0xc000058050 [0 0 0 0 0 4]
对于略复杂的结构,println()出来的结果是对象地址,而fmt.Println()出来的是我们想看到的具体内容。
对“地址”有异议的,加下面一条,就明白了。
fmt.Println(&ss[0])
如果觉得切片,不具备代表性,那么来个结构体看看,差别更大了。来看一段代码的例子:
package main import "fmt" type mystr struct { a int8 b string c bool } func main() { mm := mystr{100, "Shanghai", true} fmt.Println(mm) println(mm) } // 执行直接报错: # command-line-arguments SHTraining\basicprac\funcs\noname.go:14:9: illegal types for operand: print
print()报错,说类型不对。
总之,99%情况,建议还是用 fmt.Println()好了。
至于说,print()或者println()打印内容出现位置很随机这个问题(就是说,如果fmt.Prinln()和println()都执行的话,println()结果不一定先出来或者后出来),猫哥一时半会儿没研究清楚。
-
Arduino的Serial.println()
2020-07-26 09:26:25[实践笔记]ArduinoのSerial.println() 主要内容 Arduino与其他元器件常用串口通信,本文章在主要通过实践方式介绍Serial.println()的同时,牵扯到一些常用的串口操作函数,一下会带领想入门Arduino的同学层层深入,... -
print,printf,println的区别
2021-09-20 16:47:352021年9月20日,我在使用Eclipse时,发现print和println都能用,而且没有报错,再联系之前学的C语言中的printf,于是查找资料,找到了它们之间的联系与区别。 一、功能不同 1、print:将信息显示在命令窗口中,... -
System.out.println() 源码解析
2020-04-21 09:36:06我们几乎每个人都写过这么一个程序 ... System.out.println("Hello World!"); } } 代码很简单,只有一条简单的 System.out.println() 函数,那么这个函数是如何实现的,可以结合源码来分析一下。 System... -
IDEA println 报错 cannot resolve symbol println
2019-09-20 10:47:57System.out.println();没有写到main方法里 网上说的添加tomcat,没测试过 -
Go fmt.Println函数:将数据打印到控制台
2020-11-07 20:39:21Go fmt.Println函数:将内容打印到控制台。 -
[rust-007]rust的println!函数的各种用法
2020-08-19 19:46:07println!是宏。 println!的第一个参数,是格式化字符串,其他参数要放在这个字符串里打印出来。 第一种情况,格式化字符串,是纯粹的字符串: println!("Hello World"); // 输出结果如下: // Hello World 第二... -
scala的println
2019-07-14 13:38:55scala中print 是直接输出 ...println()打印时自动换行 println()相当于print(+’\n’) object TestScala { def main(args: Array[String]): Unit = { println("Hello Scala!!") val a1 = 'T' var arr =... -
Go println函数:将数据打印到控制台
2020-07-05 20:03:36Go 内置函数println描述、使用。 -
go语言中内置打印函数print,println和fmt包中fmt.Print,fmt.Println的区别
2020-11-02 15:48:00print和println 在golang中 是属于输出到标准错误流中并打印,官方不建议写程序时候用它,可以在debug时候用,而且后期不保证是否会继续保留。 而fmt.Print,fmt.Println属于官方包fmt中自带的打印方法,在golang中... -
Serial.println()和Serial.print() (Arduino编程)
2021-04-04 21:24:17Arduino的输出基本就用到两个函数:print和println 区别是后者比前者多了回车换行 Serial.println(data)从串行端口输出数据,跟随一个回车(ASCII 13或’r’)和一个换行符(ASCII 10或’n’),这个函数所取得的值... -
System.out.println对性能的影响
2020-07-24 17:35:36讲讲你不知道的System.out.println 在开发或者调试bug的过程中,有些同学经常用到System.out.println语句,输出到控制台,用来查看数据是否正常。 开发或者调试完毕,很可能就忘记删除,直接就发布到生产中去了。 ... -
Java中print、printf、println的区别
2020-12-18 22:05:00目录1、print和println2、printf具体使用方法...先说简单的两个:print和println都是最简单的输出,区别就是前者不换行,后者自带换行功能。 当然可以通过在print中加\n实现换行功能 2、printf 顾名思义,print fo... -
System.out.println()和System.err.println()的区别
2019-09-04 18:30:45System.err.println() 今天写之前老师布置的一个问题,在网上参考别人的代码时发现一个输出语句: System.err.println() 因为之前没有见过,所以在百度了一下,参考了很多博客,现在把这个语句的输出总结一下: 先看... -
springboot 配置日志System.out.println("XXXXXXXXX")日志无法记录到log.logs文件问题
2019-12-13 13:48:591、在代码中用System.out.println("XXXXXXXXX"); 打印的代码不在/apps/logs.log文件中,而是nohup.out文件中,相反用private static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Testing.class);... -
Golang中的println与fmt.Prinltn的区别与输出顺序问题
2019-11-04 16:01:12在Go的学习过程中,发现多数文章中的代码中输出都是使用fmt.println(),而自己在IDE中测试时,发现可以像一些语言中一样直接使用print或者println来输出内容,于是好奇既然有更加方便的输出方式,那么为何大家仍然... -
java中使用System.out.println如何输出多个变量?
2021-02-12 23:23:49展开全部方法为:System.out.println(变量一+变量二+变量三+... +变量N)。至于如何将数值转换e69da5e887aa62616964757a686964616f31333366306532为String类型,有个简单的方法,即在每个数值后加上[ +“”] 中括号中... -
Java语言中print和println的区别
2019-05-26 22:03:28Java语言中print和println的区别 简单的说: print意思是:打印 而println是print+line的缩写,即:换行打印 举例 打印1和2: ⑴不换行打印: public class MyDemo{ public static void main(String args []){ ... -
System.out.println()快捷键
2021-01-07 15:42:02在eclipse中输入syso alt+/ 在idea中输入sout Enter(回车) -
Java中System.out.println()为何会影响内存可见性
2019-09-20 16:32:14本文主要说明System.out.println为啥会影响内存的可见性? 先看示例代码: public class T implements Runnable { private boolean flag = false; public boolean getFlag() { return flag; } public ... -
教你看懂System.out::println
2018-12-09 12:45:57在不经意间, 我们会看到这样的代码 // 创建出一个数组 List<String> strList = Arrays.asList("... strList.forEach(System.out::println); 第一印象, 哇, 好高大上的写法, 那么这究竟是... -
IDEA System.out.println(“中文“);输出中文乱码问题
2021-08-02 14:42:25System.out.println("任务已启动。如有需要,请关闭后重启!"); System.out.println("测试"); 输出结果: 解决方案: 第一步: 检查文件编码格式是否有问题 界面右下角显示为utf-8 **第二步:检查file encoding ... -
java的println、print与printf
2019-04-08 10:53:41在java中,System.out.println()是我们经常会用到的一个语法,它的作用是将值输出显示在console窗口中,这样程序员就可以在console窗口中看到代码运行的结果。而除了System.out.println()之外,还有其他的打印结果的... -
IntelliJ IDEA生成System.out.println();的快捷键
2021-05-06 22:11:49IntelliJ IDEA生成System.out.println();的快捷键 快捷键:sout+回车(或Tab键) 1、先敲下 sout 2、再按回车键(或者是Tab键),即可自动补全System.out.println() 补充:似乎只需要敲下 so,然后再按下回车键(或Tab... -
System.out.println()的正确理解
2018-11-30 12:08:38System.out.println(); 初学的时候对这个语句很是困惑,查了很多资料多半都是说的模棱两可,先入为主。但是它到底要怎么去理解呢? 由字面意思我们很容易得出pintln()是一个方法,被System.out的调用,用于向... -
System.out.println()中的System,out,println 分别是什么?
2019-04-20 15:18:54System是类,out是System类下的PrintStream类型的...println是PrintStream的方法。 System是类: out是System类下的PrintStream类型的静态常量 println是个方法,里面调用的方法就是借用字符输出流打印 ... -
print和println的区别
2019-08-03 21:16:36print打印出来的内容是不能够自动换行的,而println可以,虽然概念很简单,但是两者运用到不同的场景下却有不同的作用。 比如打印带※三角形,如果使用println的话是不能够打印出来的,打印出来的结果是每一行都只有...