
1.2 print与println
在编写工程时会经常用到调试输出功能,看看你的程序在运行到某一阶段的某一状态,或者想查看某个数值,又或者某个对象的属性值,再或者想打印输出某个错误等等的时候,除了Processing自带的Debug功能外,更为广泛使用的就是打印输出,这在任何一门编程语言中都有。
Processing是基于Java基础上的,我们尝试在Processing的文本编辑器区域中输入一段代码:System.out.print("hello world from java");请务必将这段代码完整抄写在文本编辑器中,字母的大小写也要保持一样,因为Java对字母大小写敏感,那Processing自然也是,写完后,千万别忘记了“;”,这个分号代表着一句代码的结束,告诉编译器你的这段代码写完了。这两点缺一不可,否则会因为报错而无法成功运行,当你完成上述步骤后,单击“运行”按钮或在键盘上按快捷键Ctrl+R,即可运行工程项目,效果如图1.2.1所示。

图1.2.1 Processing的运行结果
代码如下:
System.out.print("hello world from java");
成功运行后我们可以看到“hello world from java”的字符串在文本控制台中被打印了出来,在Processing中要想打印输出某些信息,其实大可不必写这么多一串,这里只是想展示并再次告诉读者们,Processing对Java的语言机制继承得非常好,“System.out.print(某些信息);”这种输出的写法就是来自Java。
在Processing中完成打印输出只需要print()函数即可完成,使用方法和要注意的事项与之前所说的完全一样。现在请大家自行在工程中输入图中的第二行代码,并单击“运行”按钮(图1.2.2)。

图1.2.2 两种语句输出结果对比
代码如下:
System.out.print("hello world from java"); print("hello world from Processing");
两段语句中的内容都成功被打印在文本控制台中,因此可以看出Processing虽然继承于Java,也对Java的许多功能进行了简化,以迎合和方便更多不同学科背景的学习者。
虽然两句话都被成功输出了,从图1.2.2中明显能看出两句话连接到一起了,这是因为第一句话的内容在输出之后,紧接着输出了第二句话(1),在第一句话和第二句话之间没有插入明显的空格或者符号进行分隔。接下来我们将已经书写好的第一句进行修改,将System.out.print()修改为print("Hello world from Java ");,千万不要忽略在“Java”后面的空格,大家试试看,紧密相邻的两个字母是不是被空格分开了呢?(图1.2.3)。

图1.2.3 接入空格后的运行结果
代码如下:
print("hello world from java"); print("hello world from Processing");
但是这样依旧不是一个特别“高大上”的做法,我们现在继续对第一行代码进行修改,在修改之前有一个表我们一起来看看一看(表1.2.1),这个表展示了部分转义字符以及与其所对应的实际意义,这里我们只需要记住“\t”和“\n”即可。
表1-2-1 转义字符‘\’的部分用法

根据表1.2.1中提供的方法,把工程中的第一句内容修改为print("hello world from Java\n")并运行结果(图1.2.4)。

图1.2.4 加入“\n”后的运行结果
代码如下:
print("hello world from java \n"); print("hello world from Processing");
此时在第一段代码运行结束后会出现一个换行符,在第二段代码运行的时候,会另起一行,进行格式化输出,此时呈现的结果就是两句输出内容各占一行。当然,这个方法虽然“高大上”,但依旧不方便,Processing提供了另一个函数:println(),是不是看上去很眼熟?它与“\n”的功能一样,在每段代码输出后加入一个换行符,能够更加方便地对信息内容进行调试输出,给大家看看两种写法的对比结果(图1.2.5)。

图1.2.5 两种方式的运行结果对比
这两种写法获得的结果是一致的,表1.2.1中提供的转义字符的方法大家可以多多尝试。