浅谈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 替换字符串模板(模板渲染)

posted @ 2021-04-12 20:19  SHARP-EYE  阅读(791)  评论(0编辑  收藏  举报