java中\t,\n,\r,\b,\f 的作用及说明

 更新时间:2022年07月11日 10:28:04   作者:雷雨天田心  
这篇文章主要介绍了java中\t,\n,\r,\b,\f 的作用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

\t,\n,\r,\b,\f 的作用

直接输出看一下就知道了

System.out.println("11111\t2225222");System.out.println("55555\n665666");System.out.println("88877\r5454421\n");System.out.println("777458\b6594954");System.out.println("777788\f6594954");

输出结果:

结论

  • \t  相当于tab键
  • \b 退格(Backspace)
  • \f 控制台输出相当于如图
  • \n 换行
  • \r 回车

回车 \r  本义是光标重新回到本行开头。r 的英文return,控制字符可以写成CR,即Carriage Return

换行 \n  本义是光标往下一行(不一定到下一行行首)。n 的英文newline,控制字符可以写成LF,即Line Feed

\n\r\t\f 的区别

总的概括一下\n \r \t \f的功能

字符作用
\n换行
\r回车
\t制表 (相当于tab)
\f换页

单独解释一下每一个的特点。

\n 换行符,使光标定位到下一行。

public class Test {
	public static void main(String[] args) {
		System.out.print("aaaaaaaaaaaaa\nbbbb");
	}
}

结果:

\r 回车符,使光标回到当前行的行首。如果之前该行有内容,则会被覆盖;

public class Test {
	public static void main(String[] args) {
		System.out.println("hello world\r12345");
	}
}

编译器输出结果:

在这里,看起来就像是之前输出的hello world被清空后,又输出1234一样。和它本来的意思不一样啊。不是本应该输出“1234 world”吗?

然而在控制台中它的输出结果就是我们预期的结果:

至于什么原因,应该和编译器有关吧。

\t 是制表符。相当于tab缩进。

它会使得你输出的内容为4的倍数,如果输出字符串"a\t",那么,会在输出a之后再输出3个空格,如果输出字符串aaaa\t,则会在输出4个a后,再输出四个空格。那么如果输出aaaaa\t呢?,它会在后面输出3个空格,以使得输出的字符个数恰好为4的倍数。

下面是测试代码;

public class Test {
	public static void main(String[] args) {
		System.out.println("a\t*");
		System.out.println("123412341234");
		System.out.println("aaa\t*");
		System.out.println("123412341234");
		System.out.println("aaaa\t*");
		System.out.println("123412341234");
		System.out.println("aaaaa\t*");
		System.out.println("123412341234");
	}
}

结果:

\f 是换页符,在控制台上输出没有意义。

这里演示一下:

public class Test {
	public static void main(String[] args) {
		System.out.println("aaaa\fbbbb");
	}
}

结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • AsyncHttpClient的ConnectionSemaphore方法源码流程解读

    AsyncHttpClient的ConnectionSemaphore方法源码流程解读

    这篇文章主要为大家介绍了AsyncHttpClient的ConnectionSemaphore方法源码流程解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • java8新特性之接口的static和default的使用

    java8新特性之接口的static和default的使用

    这篇文章主要介绍了java8新特性之接口的static和default的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 分析mybatis运行原理

    分析mybatis运行原理

    Mybatis是一个优秀的持久层框架,它对JDBC操作数据库的过程进行封装,使开发者只需要关注sql本身。我们原来使用JDBC操作数据库,需要手动的写代码去注册驱动、获取connection、获取statement等等,现在Mybaits帮助我们把这些事情做了,我们只需要关注我们的业务sql即可
    2021-06-06
  • Java如何分析算法的时间和空间复杂度

    Java如何分析算法的时间和空间复杂度

    这篇文章主要介绍了Java如何分析算法的时间和空间复杂度,在计算机科学中,计算复杂性解释了算法的性能。文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • redis redisson 集合的使用案例(RList、Rset、RMap)

    redis redisson 集合的使用案例(RList、Rset、RMap)

    这篇文章主要介绍了redis redisson 集合的使用案例(RList、Rset、RMap),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot实现License认证(只校验有效期)的详细过程

    SpringBoot实现License认证(只校验有效期)的详细过程

    License也就是版权许可证书,一般用于收费软件给付费用户提供的访问许可证明,这篇文章主要介绍了SpringBoot实现License认证(只校验有效期),需要的朋友可以参考下
    2024-04-04
  • FeignClient实现接口调用方式(不同参数形式)

    FeignClient实现接口调用方式(不同参数形式)

    这篇文章主要介绍了FeignClient实现接口调用方式(不同参数形式),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring实现处理跨域请求代码详解

    Spring实现处理跨域请求代码详解

    这篇文章主要介绍了Spring实现处理跨域请求代码详解,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • spring mvc中注解@ModelAttribute的妙用分享

    spring mvc中注解@ModelAttribute的妙用分享

    这篇文章主要给大家介绍了关于spring mvc中注解@ModelAttribute妙用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Android具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • 这一次搞懂Spring事务注解的解析方式

    这一次搞懂Spring事务注解的解析方式

    这篇文章主要介绍了这一次搞懂Spring事务注解的解析方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08

最新评论