3.Java转义字符

Java转义字符

转义字符以\开头,常见的转义字符:

转义字符作用
\t 🌟水平制表符(Tab)
\r 🌟“回车(Carriage Return)”
\n换行(New Line)
\\输出一个反斜杠 \
\"输出双引号 "
\'输出单引号 '

想输出一个\那就需要一个\来进行转义,同理,想要输出两个\,即\\,就需要四个\,即\\\\

\t制表符:

制表符有两个功能

  1. 相当于按下一个tab键,在输出时插入一个固定宽度的空格,默认宽度通常是4~8个空格。

演示:

// 转义字符
public class EscapeCharacter{public static void main(String[] args){System.out.println("\t你好");}
}

F:\OneDrive - 37n671\Desktop\韩顺平零基础学Java\javacode>java EscapeCharacter
你好

  1. 对齐文本

演示1不使用制表符:

// 不使用制表符
// 转义字符
public class EscapeCharacter{public static void main(String[] args){System.out.println("name age gender 学号");System.out.println("Mike 20 male 20200001");System.out.println("Alexander 20 male 20200001");System.out.println("Alex 20 male 20200001");System.out.println("Alice 20 female 20200001");}
}

F:\OneDrive - 37n671\Desktop\韩顺平零基础学Java\javacode>java EscapeCharacter
name age gender 学号
Mike 20 male 20200001
Alexander 20 male 20200001
Alex 20 male 20200001
Alice 20 female 20200001

演示2使用制表符:

public class EscapeCharacter{public static void main(String[] args){System.out.println("name\tage\tgender\t学号");System.out.println("Mike\t20\tmale\t20200001");System.out.println("Alexander\t20\tmale\t20200001");System.out.println("Alex\t20\tmale\t20200001");System.out.println("Alice\t20\tfemale\t20200001");}
}

在这里插入图片描述

可见因为Alexander的姓名太长导致效果不好,我们可以连续使用两个\t

// 转义字符
public class EscapeCharacter{public static void main(String[] args){System.out.println("name\t\tage\tgender\t学号");System.out.println("Mike\t\t20\tmale\t20200001");System.out.println("Alexander\t20\tmale\t20200001");System.out.println("Alex\t\t20\tmale\t20200001");System.out.println("Alice\t\t20\tfemale\t20200001");}
}

在这里插入图片描述

这样对齐的就比较完美了,这种情况主要是因为\t的对齐规则:

\t 不是固定插入4个或8个空格,而是下一个制表位(通常是8字符的倍数)

例如,Mike只有4位,下一个制表位是8,就会在Mike后面再不4个空格。

Alexander有9位,下一个制表位是16,就会在Alexander后面再补16-9=7个空格。

我们采用Mike\t\t,将四位补充到8位,再从八位补充到16位实现和Alexander的对齐。

其他强势又简单的对其方法:

方法适用场景优点缺点
\t简单对齐代码短长文本可能错位
String.format()精确控制完全对齐代码稍长
printf格式化输出简洁高效需熟悉格式语法

\r回车:

首先,要理解键盘上的"Enter"键通常还标有一个指示返回的箭头,这个键的功能就是回车+换行,即\r+\n,回车表示将光标移动到行首,换行别是将光标移动到下一行。

使用回车(\r)将光标移到行首后,后面的输出会覆盖已经输出的内容。

示例1:

public class EscapeCharacter{public static void main(String[] args){System.out.println("Hello,\rWorld!!!");}
}

F:\OneDrive - 37n671\Desktop\韩顺平零基础学Java\javacode>java EscapeCharacter
World!!!

执行过程如下:

先打印"Hello,“遇到\r之后将光标移到行首,即”[光标]Hello",之后"World!!!"会逐步【覆盖】光标后面的内容,最终输出World!!!

演示2:

如果前面的内容比较长,就不会完全替换

public class EscapeCharacter{public static void main(String[] args){System.out.println("Hello!!!!!!!\rWorld~");}
}

F:\OneDrive - 37n671\Desktop\韩顺平零基础学Java\javacode>java EscapeCharacter
World~!!!

PS:\r(回车符)的行为主要依赖于终端或控制台的实现,Java 只是负责将包含 \r 的字符串原样传递给终端,而终端决定如何解释它

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/79428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【凑修电脑的小记录】vscode打不开

想把vscode的数据和环境从c盘移到d盘 大概操作和这篇里差不多 修改『Visual Studio Code(VS Code)』插件默认安装路径的方法 - 且行且思 - 博客园 在原地址保留了个指向新地址的链接文件。 重新安装vscode后双击 管理员身份运行均无法打开&#xff0…

MSP430G2553驱动0.96英寸OLED(硬件iic)

1.前言 最近需要用MSP430单片机做一个大作业,需要用到OLED模块,在这里记录一下 本篇文章主要讲解MSP430硬件iic的配置和OLED函数的调用,不会详细讲解OLED显示原理(其实就是江科大的OLED模块如何移植到msp430上).OLED显示原理以及底层函数讲解请参考其他…

SEO长尾词精准优化实战

内容概要 在搜索引擎优化领域,长尾关键词的精准挖掘与优化已成为突破流量瓶颈的核心策略。相较于通用词汇,长尾词具备更强的用户意图指向性与竞争分散特征,能够有效触达细分需求场景下的高价值受众。本部分将从长尾词的核心价值出发&#xf…

计算机组成原理实验(6) 微程序控制单元实验

实验六 微程序控制单元实验 一、实验目的 1、熟悉微程序控制器的原理 2、掌握微程序编制、写入并观察运行状态 二、实验要求 按照实验步骤完成实验项目,掌握设置微地址、微指令输出的方法 三、实验说明 3.1 微程序控制单元的构成:(…

ECMAScript 2(ES2):标准化的微调与巩固

1. 版本背景与发布 发布时间:1998 年 6 月,由 ECMA International 正式发布,标准编号为 ECMA-262 Edition 2。核心定位:作为 ECMAScript 标准的第二次修订版,ES2 的核心目标是修正 ES1 中的错误、完善规范定义&#x…

基于蒙特卡洛模拟的电路容差分析与设计优化

蒙特卡洛模拟在电路设计中的应用 背景知识: 蒙特卡洛模拟是一种通过随机抽样来解决问题的数值方法。在电路设计中,它通过在元件参数的公差范围内随机生成大量样本值,模拟电路在不同参数组合下的行为,从而评估和优化电路设计&…

node.js 实战——mongoDB

MongoDB MongoDB 简介 MongoDB 是一种基于文档型 (document-oriented) 的 NoSQL 数据库,使用类 JSON 的 BSON 格式存储数据,自然支持复杂数据结构。它特别适合需要快速变化、大量数据处理和高应用扩展性的场景。 MongoDB 特性: 无法表、无…

如何掌握 Lustre/Scade 同步数据流语言

从 KPN 的萌芽开始,到 Lustre/Scade 的发展,再到 Velus/Zelus/Swan 在形式化编译、连续时间建模、MBD 平权等各方面的边界拓展,同步数据流语言已经历许多。现在,我们讨论如何掌握 Lustre/Scade 这类法式技术,从语言基础…

神州趣味地名-基于天地图和LeafLet的趣味地名探索

目录 前言 一、搜索API据介绍 1、官方API 2、Leaflet集成 二、成果介绍 1、令人忍俊不禁的地名 2、黑地名 3、数字地名 4、文艺地名 三、总结 前言 在华夏大地广袤的土地上,地名承载着深厚的历史文化底蕴,它们如同一颗颗璀璨的明珠,…

第6篇:EggJS数据库操作与ORM实践

在Web应用开发中,数据库操作是核心环节之一。EggJS通过集成Sequelize ORM框架,提供了高效、安全的数据库操作方案。本文将深入讲解如何在EggJS中配置MySQL数据库、定义数据模型、优化复杂查询,以及管理数据库迁移与种子数据。 一、MySQL基础配…

法线纹理采样+可视化Shader编辑器

法线贴图,对主纹理凹凸显示 建模原理 法线贴图:切线空间,存储xy切线,映射法线,法线信息存储在切线空间中。 模型是否凹凸,是由模型顶点决定的,现在实现的法线贴图,控制凹凸,实际上是…

OID是什么?

什么是 OID? OID 是 Object Identifier(对象标识符) 的缩写,是SNMP(Simple Network Management Protocol,简单网络管理协议)中用来唯一标识被管理对象(比如设备的某项信息)的一串数字。

STM32 ZIBEE DL-20 无线串口模块

一.配置方法 二.串口中断 u8 i; u16 buf[20],res; u8 receiving_flag 0; // 新增一个标志,用于标记是否开始接收数组 void USART1_IRQHandler(void) {if(USART_GetITStatus(USART1, USART_IT_RXNE) ! RESET) //接收中断{res USART_ReceiveData(USART1);if(receiv…

全感官交互革命:当 AI 大模型学会 “看、听、说、创”

引言:从 “文字对话” 到 “全感官体验”,AI 正在重塑人类认知边界 当 AI 不再局限于文本对话,而是能 “看懂” 图像、“听懂” 语音、“生成” 视频,并将这些模态无缝融合时,一场关于人机交互的革命已然开启。DeepSe…

C++模板知识

目录 引言 一、非类型模板参数 二、类模板的特化 (一)概念 (二)函数模板特化 (三)类模板特化 1. 全特化 2. 偏特化 (四)类模板特化应用示例 三、模板的分离编译 …

Pillow 移除或更改了 FreeTypeFont.getsize() 方法

w, h self.font.getsize(label) # text width, height AttributeError: FreeTypeFont object has no attribute getsize 在Pillow 项目的变更日志里可以查到哪个版本移除了 getsize() 方法,Pillow仓库: Releases python-pillow/Pillow GitHub 因为…

Matlab自学笔记

一、我下载的是Matlab R2016a软件,打开界面如下: 二、如何调整字体大小,路径为:“主页”->“预设”->“字体”。 三、命令行窗口是直接进行交互式的,如下输入“3 5”,回车,就得到结果“…

VR汽车线束:汽车制造的新变革

汽车线束,作为汽车电路网络的主体,宛如汽车的 “神经网络”,承担着连接汽车各个部件、传输电力与信号的重任,对汽车的正常运行起着关键作用。从汽车的发动机到仪表盘,从传感器到各类电子设备,无一不是通过线…

目标检测YOLO实战应用案例100讲-基于多级特征融合的小目标深度检测网络

目录 知识储备 基于多级特征融合的小目标深度检测网络实现 一、环境配置 二、核心代码实现 1. 多级特征融合模块(models/fpn.py ) 2. 主干网络(models/backbone.py ) 3. 检测头(models/detector.py ) 三、完整网络架构(models/net.py ) 四、训练代码(train.p…

【云原生】基于Centos7 搭建Redis 6.2 操作实战详解

目录 一、前言 二、Redis 6.2 安装过程 2.1 下载安装包 2.2 安装包解压 2.3 安装包编译 2.3 安装 2.4 启动redis 2.4.1 前台启动(不推荐) 2.4.2 后启动(推荐) 2.4.3 关闭redis服务 2.4.4 设置客户端连接 三、写在最后 …