简单看一下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. LeetCode721 账户合并

    题解 对于\(vector<vector<string>> accounts\),我们定义\(accounts[i]\)为一个列表项.对于\(accounts\)中的一条列表项 ...

  2. 数据库开发规范v1.0

    一.建表规约 [强制]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否). 说明:任何字段如果为非负数,必须是 unsi ...

  3. Jetpack Compose学习(15)——Pager组件的使用(对标ViewPager)

    原文地址: Jetpack Compose学习(15)--Pager组件的使用(对标ViewPager)-Stars-One的杂货小窝 从名字可以看出,Pager这个就是ViewPager的替代产物 ...

  4. 腾讯云TKE-PV使用COS存储案例:容器目录权限问题

    背景 在TKE的集群中创建工作负载并把某一个对应的cos桶的根目录挂载到/data目录,在镜像构建的时候有把/data目录设置权限为755,但是运行容器后成功挂载cos桶的根目录到/data/目录,发 ...

  5. 从混沌到秩序:Python的依赖管理工具分析

    Python 的依赖管理工具一直没有标准化,原因主要包括: 历史发展的随意性:Python发展早期对于依赖管理的重视程度不足,缺乏从一开始就进行统一规划和设计的意识 社区的分散性:Python社区庞大 ...

  6. .NET 单文件执行程序拆解器 SingleFileExtractor

    .NET 单文件执行程序拆解器 SingleFileExtractor .NET 现在支持将程序打包为单文件格式,这方便了部署,问题是,我们不能直接看到程序中使用了哪些 DLL,更不能简单地通过查看文 ...

  7. 查询 maven 依赖 的最新版本号

    如何通过maven官网查询相关依赖的具体代码和版本? 通过官网:http://mvnrepository.com/,或者:https://search.maven.org/ 在搜索栏中输入想要引入的依 ...

  8. 基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等

    1.引言 在社区中,分享了很多篇基于Netty编写的IM聊天入门文章(比如<跟着源码学IM>系列.<基于Netty,从零开发IM>系列等),在这些文章中分享了各种IM通信算法原 ...

  9. 直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践

    本文由vivo互联网技术团队LinDu.Li Guolin分享,有较多修订和改动. 1.引言 IM即时消息模块是直播系统的重要组成部分,一个稳定.有容错.灵活的.支持高并发的消息模块是影响直播系统用户 ...

  10. OpenMMLab AI实战营 第五课笔记

    OpenMMLab AI实战营 第五课笔记 目录 OpenMMLab AI实战营 第五课笔记 在气球数据集上训练检测模型 进入 mmdetection 主目录 下载并观察气球数据集 下载训练好的mas ...