JAVA输入输出
在上半学期中跟着老师学习了JAVA,但深感自己学到的只是很少的一部分,所以在这个假期决定自己再把JAVA复习一下,在复习的同时进一步加深对JAVA的理解,同时提升自己的算法知识(使用了斯坦福的《算法》第四版教材)。
加油吧!
1、标准输出
print()方法会把它的参数放到标准输出中;
println()方法会附加一个换行符;
printf()方法可以格式化输出,这一点是在JAVA入门时没有涉及到的。
下面的表格涉及到了printf()方法的格式化输出,和C++的格式化输出还是有一点点相似的。
一般情况下,printf()方法接受两个参数,第一个参数是格式字符串 ,描述第二个参数以何种形式输出,
//部分代码实现
int year = 2020; System.out.format("%d\n",year); //直接打印数字 System.out.printf("%8d\n",year); //总长度为8,默认右对齐 System.out.printf("%-8d\n",year); //总长度为8,默认左对齐 System.out.printf("%08d\n",year); //总长度为8,不够补0 System.out.printf("%,8d\n",year*10000); //千位分隔符 System.out.format("%.2f\n",Math.PI); //小数点位数
printf()函数可以接受两个甚至更多的参数。在这种情况下,在格式化字符串中每个字符串中每个参数都会有对应的转换代码,这些代码之间可能会隔着其他会被直接传递到输出中的字符。也可以直接使用静态方法String.format()来用和printf()相同的参数得到一个格式化字符串而无需打印它。
示例:
String name = "盖伦"; int kill = 8; String title = "超神"; String sentence = name + " 在进行了连续 " + kill + " 次击杀后,获得了 " + title + " 的称号 "; //直接使用+进行字符串连接,编码感觉会比较繁琐,并且维护性差,易读性差 System.out.println(sentence); String sentenceFormat = "%s 在进行了连续 %03d 次击杀后, 获得了 %s 的称号%n"; //格式化输出,%s表示字符串,%d表示数字,%n表示换号 System.out.printf(sentenceFormat, name, kill, title); System.out.format(sentenceFormat, name, kill, title); //format和printf能够达到一模一样的效果
System.out.printf("贾萌暑假兼职赚了%d元\n", year);
运行结果:
盖伦 在进行了连续 8 次击杀后,获得了 超神 的称号
盖伦 在进行了连续 008 次击杀后, 获得了 超神 的称号
盖伦 在进行了连续 008 次击杀后, 获得了 超神 的称号
贾萌暑假兼职赚了2020元
2、标准输入
标准输入流最重要的特点是输入的这些值会在你的程序读取它们之后消失。只要程序读取到了一个值,它就不能回退并再次读取它。
标准输入库中的静态方法
isEmpty()如果输入流中没有剩余的值返回true,否则返回false
readInt()读取一个int 类型的值
readDouble()读取一个Double 类型的值
readFloat()读取一个Float 类型的值
readLong()读取一个Long 类型的值
readInt()读取一个int 类型的值
static | boolean | isEmpty() | 如果输入流中没有剩余的值返回true,否则返回false |
static | int | readInt() | 读取一个int 类型的值 |
static | double | readDouble() | 读取一个Double 类型的值 |
static | float | readFloat() | 读取一个Float 类型的值 |
static | long | readLong() | 读取一个Long 类型的值 |
static | boolean | readBoolean() | 读取一个boolean 类型的值 |
static | char | readChar() | 读取一个char类型的值 |
static | byte | readByte() | 读取一个byte 类型的值 |
static | String | readString() | 读取一个String类型的值 |
static | boolean | hasNextLine() | 输入流中是否还有下一行 |
static | String | readLine() | 读取该行的其他内容 |
static | String | readAll() | 读取输入流中的其他内容 |
关于重定向与管道、基于文件的输入输出、标准绘图库(基本方法、控制方法)后续将继续学习