简单看一下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]的更多相关文章

  1. 浅谈Java中的深拷贝和浅拷贝(转载)

    浅谈Java中的深拷贝和浅拷贝(转载) 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: ...

  2. 浅谈Java中的深拷贝和浅拷贝

    转载: 浅谈Java中的深拷贝和浅拷贝 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(bool ...

  3. 浅谈Java中set.map.List的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  4. Java基础学习总结(29)——浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  5. 浅谈Java中的equals和==(转)

    浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...

  6. 浅谈Java中的equals和==

    浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...

  7. 【转】浅谈Java中的hashcode方法(这个demo可以多看看)

    浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native i ...

  8. 浅谈Java中的final关键字

    浅谈Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  9. 【转】浅谈Java中的hashcode方法

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个 ...

  10. 浅谈HTTP中GET、POST用法以及它们的区别

    浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...

随机推荐

  1. 探索 Spring AOP:全面解析与实战应用

    在现代 Java 开发领域,Spring 框架无疑占据着重要地位,而 Spring AOP(Aspect-Oriented Programming,面向切面编程)作为 Spring 框架的关键特性之一 ...

  2. 一款可以完整保留排版的PDF翻译,GitHub增长第一

    最近看论文较多,顺手给大家推荐一个用下来觉得不错的开源PDF翻译工具:PDFMathTranslate 目前这款开源项目在GitHub上已经收获了7.6K Star,而且由于一直处于增长趋势榜第一的位 ...

  3. docker-compose的nginx更换完ssl证书不起作用的完美解决方法

    ​以Harbor为例,ssl证书更新后,docker-compose启动不起作用. 问题出在一句很重要的命令:./prepare 步骤:(Harbor样例) 1. cd /data/ssl 换ssl证 ...

  4. 【Amadeus原创】SQL Server数据库备份、差异备份、日志备份脚本

    1,sp脚本 USE [master] GO /****** Object: StoredProcedure [dbo].[sp_BackupDatabase] Script Date: 2021/1 ...

  5. k8s.HPA.使用自定义指标Pod自动扩容

    k8s.HPA.使用自定义指标Pod自动扩容 环境 env : kubernetes v1.22 metrics-server 0.6.1 prometheus v2.36.1 prometheus- ...

  6. [AI回答]Java中Long和long的区别,为什么在Springboot项目中一般使用Long

    Long 和 long 的区别 在Java中,Long 和 long 是两个不同的概念,它们分别代表不同的数据类型: long: 这是一个 基本数据类型 (primitive type). 它用于存储 ...

  7. 【SpringMVC】框架搭建

    pom.xml 注意,下面代码只是pom.xml中的dependencies部分 <dependencies> <!-- 萌狼蓝天 mllt.cc--> <!-- htt ...

  8. Qt编写跨平台RTSP/RTMP/HTTP视频流播放器

    一.前言 很早以前就做过这款播放器的入门版本,最开始用的ffmpeg去解析,后面陆续用vlc播放器.mpv播放器来做,毕竟播放器提供的接口使用也很方便,而且功能强大,后面发现播放器主要的应用场景是播放 ...

  9. 创建springboot项目时出现Selected Java version 11 is not supported by SDK (maximum 8)

    创建springboot项目的时候出现这个问题: selected java version 11 is not supporteed Max supported version is(1.8) 错误 ...

  10. IM通讯协议专题学习(八):金蝶随手记团队的Protobuf应用实践(原理篇)

    本文由金蝶随手记技术团队丁同舟分享. 1.引言 跟移动端IM中追求数据传输效率.网络流量消耗等需求一样,随手记客户端与服务端交互的过程中,对部分数据的传输大小和效率也有较高的要求,普通的数据格式如 J ...