Java开发笔记(三十一)字符类型的表达
前面介绍的Java编程,要么是与数字有关的计算,要么是与逻辑有关的推理,充其量只能实现计算器和状态机。若想让Java运用于更广阔的业务领域,就得使其支撑更加血肉丰满的业务场景,而丰满的前提是能够表达大众熟知的人类语言和文字。对于英文世界来说,除了数字之外,编程语言起码还要支持ABCD等大小写字母,以及常见的标点符号。由于现有的基本变量类型仅能表示各类数字与布尔值,因此要引入新的变量类型来存放字母和符号,这个新的类型被称作字符型char。
有别于其它的基本类型,一个具体的字符值必须用单引号包起来,这样才能区分数字数值与数字字符,而且变量名称和字符形式的变量值也不会弄混淆。譬如下面的代码示范了如何声明字符变量,以及如何把各类字符赋值给该字符变量:
// 声明一个字符变量,并对其赋值
char a = 'A';
System.out.println("a="+a);
// 字符包括英文字符,也包括中文字符
char tian = '田';
System.out.println("tian="+tian);
// 字符还包括数字字符,以及标点符号
char one = '1';
System.out.println("one="+one);
与其它类型相似,字符类型也有对应的字符数组char[]。除了类型名称变更,其它的用法与整型数组保持一致。下面是字符数组简单用法的代码例子:
// 声明一个字符数组,并对其初始化
char[] array = {'A', 'B', 'C'};
//char[] array = new char[]{'A', 'B', 'C'};
// 遍历字符数组中的每个字符
for (char item : array) {
System.out.println("item="+item);
}
虽然大部分的字母和符号都能直接书写自身字符,但是少数特殊符号没有对应的表现字符,包括制表符、回车符、换行符等等,此时必须通过某种格式的式子来表示这些特定字符。在Java代码中,使用'\t'表达一个制表符,使用'\r'表达一个回车符,使用'\n'表达一个换行符。还有其它几个符号,尽管存在对应的标点,可是标点已经约定另有用途,比如两个单引号''用来包裹单个字符,两个双引号""用来包裹一串文本,反斜杆\则被用于表达换行符'\n'等等。因此,这几个特种标点只好另想办法,一样得在符号前面补充反斜杆,如'\''表达的是单引号字符,'\"'表达的是双引号字符,'\\'表达的是反斜杆字符。以上几种特殊符号的赋值代码示例如下:
// 下列是特殊字符的转义表达形式
char tab = '\t'; // 制表符
System.out.println("tab="+tab);
char enter = '\r'; // 回车符
System.out.println("enter="+enter);
char line = '\n'; // 换行符
System.out.println("line="+line);
char singleQuote = '\''; // 单引号
System.out.println("singleQuote="+singleQuote);
char doubleQuote = '\"'; // 双引号
System.out.println("doubleQuote="+doubleQuote);
char reverseTilt = '\\'; // 反斜杆
System.out.println("reverseTilt="+reverseTilt);
像上面通过添加反斜杆来表达特殊字符的方式,在编程语言里面称作“转义”,添加了反斜杆的字符形式被称为“转义符”。
更多Java技术文章参见《Java开发笔记(序)章节目录》
Java开发笔记(三十一)字符类型的表达的更多相关文章
- Java学习笔记三十一:Java 包(package)
Java 包(package) 一:包的作用: 如果我们在使用eclipse等工具创建Java工程的时候,经常会创建包,那么,这个包是什么呢. 为了更好地组织类,Java 提供了包机制,用于区别类名的 ...
- Java开发笔记(十一)常见的数学函数
前面介绍了Java编程的四则运算,虽然提供了基础的加减乘除符号,但是数学上还有其它运算符号,包括四舍五入用到的约等号≍.求绝对值的“| |”.开平方的“√ ̄”,这些运算符形态各异,而且并非ASCII码 ...
- Java开发学习(三十一)----Maven属性与版本管理
一.属性 1.1 问题分析 如下图所示 你会发现,如果现在想更新Spring的版本,你会发现依然需要更新多个jar包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦. 问题清楚 ...
- Java开发笔记(序)章节目录
现将本博客的Java学习文章整理成以下笔记目录,方便查阅. 第一章 初识JavaJava开发笔记(一)第一个Java程序Java开发笔记(二)Java工程的帝国区划Java开发笔记(三)Java帝国的 ...
- Java开发笔记(三十三)字符包装类型
正如整型int有对应的包装整型Integer那样,字符型char也有对应的包装字符型Character.初始化字符包装变量也有三种方式,分别是:直接用等号赋值.调用包装类型的valueOf方法.使用关 ...
- Java开发笔记(三十二)字符型与整型相互转化
前面提到字符类型是一种新的变量类型,然而编码实践的过程中却发现,某个具体的字符值居然可以赋值给整型变量!就像下面的例子代码那样,把字符值赋给整型变量,编译器不但没报错,而且还能正常运行! // 字符允 ...
- Java开发笔记(一百三十一)Swing的列表框
前面介绍了选择框的用法,当时为了方便用户勾勾点点,无论是复选框还是单选按钮,统统把所有选项都摆在界面上.倘若只有两三个选项还好办,要是选项数量变多比如超过五个,这么多的选择框一齐在界面罗列,不光程序员 ...
- Java开发笔记(三十四)字符串的赋值及类型转换
不管是基本的char字符型,还是包装字符类型Character,它们的每个变量只能存放一个字符,无法满足对一串字符的加工.为了能够直接操作一连串的字符,Java设计了专门的字符串类型String,该类 ...
- Java开发笔记(三十五)字符串格式化
前面介绍了字符串变量的四种赋值方式,对于简单的赋值来说完全够用了,即便是两个字符串拼接,也只需通过加号把两个目标串连起来即可.但对于复杂的赋值来说就麻烦了,假设现在需要拼接一个很长的字符串,字符串内部 ...
随机推荐
- SpringMvc 中的实用工具类介绍(包括 ResponseEntity、 RestTemplate、WebUtils 等)
此部分内容将包含 ResponseEntity. RestTemplate.WebUtils 等 1. ResponseEntity ① Sprring Mvc 中作为方法的返回值使用法 @Reque ...
- Linux下如何查看定位当前正在运行的Nginx的配置文件
1. 查看nginx的PID,以常用的80端口为例: [root@xiaoyuer scripts]# netstat -lntup|grep 80 tcp 0 0 0.0.0.0:80 0.0.0. ...
- 请输入一个大于7的整数,输出小于k并且至少满足下面2个条件中的1个条件的所有正整数
import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 22:06 * @description ...
- Ubuntu环境下配置darknet
本教程基于Linux物理机进行相关配置,要求物理机中包含N卡且Capbility>=3.0,小于3.0(Fermi架构)只允许配置cuda,不能配置使用Cudnn: 本教程分为: 1.安装NVI ...
- [Swift]LeetCode330. 按要求补齐数组 | Patching Array
Given a sorted positive integer array nums and an integer n, add/patch elements to the array such th ...
- [Swift]LeetCode682. 棒球比赛 | Baseball Game
You're now a baseball game point recorder. Given a list of strings, each string can be one of the 4 ...
- java客户端与服务端交互通用处理 框架解析
一.综述 java 客户端与服务端交互过程中,采用NIO通讯是异步的,客户端基本采用同一处理范式,来进行同异步的调用处理. 处理模型有以下几个要素: 1. NIO发送消息后返回的Future 2. 每 ...
- ASP.NET 一个数据访问层的封装
刚通过开通写博客的申请,向博客园的大佬致敬,由于一直以来都在网上搜索大家的思想,也有翻遍整个百度都有的找不到的时候,作为一个网民理应为互联网贡献一点东西. 下面是我工作后受一个师傅的影响对数据库访问层 ...
- Android-线程池下载多个图片并保存,如果本地有该图,则不下载,直接展示到view
做了个工具方法,用来下载图片,如果本地有这个图,则不下载,直接展示到view setHP()方法可以多次使用,因为使用了线程池,所以是个异步操作,如果使用的多,建议根据需要增加线程池的线程数量 看代码 ...
- 【从零开始自制CPU之学习篇06】寄存器
上一篇文章学习了总线的相关知识,途中ABC当时假设为一个个的8位寄存器.这一篇要学习怎么构建这个寄存器. 这分为两个三个部分,数据输入,寄存器,数据输出.首先不管输出,来看数据输入和寄存器这两个部分. ...