浅谈Processing中的 println() 打印输出函数[String]
简单看一下Processing中的打印输出函数println()相关用法。
部分源码学习
/**
* ( begin auto-generated from println.xml )
*
* Writes to the text area of the Processing environment's console. This is
* often helpful for looking at the data a program is producing. Each call
* to this function creates a new line of output. Individual elements can
* be separated with quotes ("") and joined with the string concatenation
* operator (+). See <b>print()</b> for more about what to expect in the output.
* <br/><br/> <b>println()</b> on an array (by itself) will write the
* contents of the array to the console. This is often helpful for looking
* at the data a program is producing. A new line is put between each
* element of the array. This function can only print one dimensional
* arrays. For arrays with higher dimensions, the result will be closer to
* that of <b>print()</b>.
*
* ( end auto-generated )
* @webref output:text_area
* @usage IDE
* @see PApplet#print(byte)
* @see PApplet#printArray(Object)
*/
static public void println() {
System.out.println();
}
/**
* @param variables list of data, separated by commas
*/
static public void println(Object... variables) {
// System.out.println("got " + variables.length + " variables");
print(variables);
println();
}
学习成效
很明显,按照源码编写,就是调了System.out.println();,而且还拓展了形参类型Object... variables,如下面的用法:
int a = 9;
String b = "what";
float c = 54.3f;
println(a,b,c);
输出:
9 what 54.3
也就是说在括号里,你可以陆续把需要打印的值加进去,用“,”分割,它自动以一个空格字符分割并连续输出。
当然基本写法应该是这样子(等价):
println(a+" " + b + " " +c);
还有一种占位符用法[1]:
System.out.printf("%d %s %f",a,b,c);
当然还可以用String类中的方法转换:
String str = String.format("%d %s %f",a,b,c);
println(str);
还可以使用MessageFormat相关方法[2]:
import java.text.MessageFormat;
String message = MessageFormat.format("{0} {1} {2}", a,b,c);
println(message);
当然如果需求奇异苛刻,还可以自定义算法或者使用模板引擎,所谓“字符串模板”,请看参考文章[2]。
尾声
java语言确实是老了,不如新生代灵活,比如Kotlin,它自带的字符串模板就很好用,如下:
val a = 9
val b = "what"
val c = 54.3f
println("$a $b $c")
不过既然java依旧是编程界的大佬,它的规则是经历了千锤百炼的,好好学,必有价值!~
参考:
[1] https://www.cnblogs.com/happyday56/p/3996498.html ------ java占位符使用
[2] https://www.cnblogs.com/softidea/p/9140204.html ------ java 替换字符串模板(模板渲染)
浅谈Processing中的 println() 打印输出函数[String]的更多相关文章
- 浅谈Java中的深拷贝和浅拷贝(转载)
浅谈Java中的深拷贝和浅拷贝(转载) 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: ...
- 浅谈Java中的深拷贝和浅拷贝
转载: 浅谈Java中的深拷贝和浅拷贝 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(bool ...
- 浅谈Java中set.map.List的区别
就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...
- Java基础学习总结(29)——浅谈Java中的Set、List、Map的区别
就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...
- 浅谈Java中的equals和==(转)
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...
- 浅谈Java中的equals和==
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...
- 【转】浅谈Java中的hashcode方法(这个demo可以多看看)
浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native i ...
- 浅谈Java中的final关键字
浅谈Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...
- 【转】浅谈Java中的hashcode方法
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个 ...
- 浅谈HTTP中GET、POST用法以及它们的区别
浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...
随机推荐
- Dapr-6 Dapr 服务调用构建块
第 6 章 Dapr 服务调用构建块 https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/serv ...
- 2024年1月Java项目开发指南4:IDEA里配置MYSQL
提前声明:文章首发博客园(cnblogs.com/mllt) 自动"搬家"(同步)到CSDN,如果博客园中文章发生修改是不会同步过去的,所以建议大家到我的博客园中查看 前提条件: ...
- Collector的配置和使用
目录 Collector的配置和使用 Collector配置 Receivers Processors Exporters Service Extensions 使用环境变量 Collector的使用 ...
- 『玩转Streamlit』--上传下载文件
在Web应用中,文件的上传下载是交互中不可缺少的功能. 因为在业务功能中,一般不会只有文字的交互,资料或图片的获取和分发是很常见的需求. 比如,文件上传可让用户向服务器提交数据,如上传图片分享生活.提 ...
- Karmada v1.12 版本发布!单集群应用迁移可维护性增强
本文分享自华为云社区<Karmada v1.12 版本发布!单集群应用迁移可维护性增强>,作者:云容器大未来. Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署 ...
- Qt开发经验小技巧251-255
今天在一个头文件中,发现 #ifdef Q_OS_WIN #ifdef Q_CC_MSVC 之类的都失效了,搞得差点怀疑人生了.经历过之前类似的教训后,排查原来是没有提前引入 qglobal.h 头文 ...
- UDP与TCP+JAVA相关理论
相关知识 目录 相关知识 UDP UDP认识 UDP的特点(与TCP相比) UDP网络Socket编程(Java实现) 1.创建客户端 2.客户端图形界面 TCP Socket编程通信 JAVA 基础 ...
- MySql中MySqlParameter的用法
在C#中,向表person插入一条数据(表person包括两列:id和name),使用MySqlParameter定义表中各列的值. static void Main(string[] args) { ...
- 即时通讯技术文集(第36期):《跟着源码学IM》系列专题 [共12篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第36 期. [-1-] 跟着源码学IM(一):手把手教你用Netty实现心跳机制.断线重连机制 ...
- .NET Core + Kafka 开发指南
什么是Kafka Apache Kafka是一个分布式流处理平台,由LinkedIn开发并开源,后来成为Apache软件基金会的顶级项目.Kafka主要用于构建实时数据管道和流式应用程序. Kafka ...