该类型表示字母(大写和小写)、数字和其他符号。每个字符只是一个符号,包含在单引号中。Char
val lowerCaseLetter = 'a' val upperCaseLetter = 'Q' val number = '1' val space = ' ' val dollar = '$'此类型可以表示任何符号,包括象形文字,以及一些特殊符号。
也可以使用 Unicode 表中的十六进制代码来创建字符。代码以 开头。\u
val ch = '\u0040' // it represents '@' println(ch) // @尽管我们使用一系列字符来表示此类代码,但代码本身正好表示一个字符。 例如,拉丁大写字母具有从 到 的十六进制代码,拉丁字母具有从 到 的代码。'\u0041' '\u005A' '\u0061' '\u007A'
有两个运算符用于添加 + 和减去 - 整数,以便根据 Unicode 顺序获取下一个和以前的字符。
val ch1 = 'b' val ch2 = ch1 + 1 // 'c' val ch3 = ch2 - 2 // 'a'也可以使用自增、自减等。
var ch = 'A' ch += 10 println(ch) // 'K' println(++ch) // 'L' println(++ch) // 'M' println(--ch) // 'L'注意:不能将字符乘以数字。
有一些特殊字符以反斜杠为起点,称为转义或控制序列。它们中的大多数没有相应的符号,并且在键盘上找不到它们。为了表示这些字符,我们使用一对常规符号。在程序中,此对被视为具有相应代码的一个字符。\
‘\n’ 是新线(换行)字符;‘\t’ 是制表符;‘\r’ 是回车字符;‘\\’ 是反斜杠字符本身;‘\’’ 是单引号;‘\"’ 是双引号。 下面是几个示例: print('\t') // makes a tab print('a') // prints 'a' print('\n') // goes to a new line print('c') // prints 'c'此代码打印:
a c注意:还有一个字符表示单个空格。它只是一个常规字符,而不是一个转义序列。' '
您可以使用关系操作 (, 、 、、 、 、 、 、 、 、 、 、 、 、 、=<><=>=!=
println('a' < 'c') // true println('x' >= 'z') // false println('D' == 'D') // true println('Q' != 'q') // true, because capital and small letters are not the same println('A' < 'a') // true, because capital Latin letters are placed before small ones使用关系操作和代码,我们可以检查字符是否为数字。所有十位数字都有从 到 的代码。’\u0030’’\u0039’
下面是一个程序,它:
import java.util.* fun main(args: Array<String>) { val scanner = Scanner(System.`in`) val ch = scanner.next().first() val isDigit = ch in '\u0030'..'\u0039' println(isDigit) }请注意,没有读取字符的函数。相反,我们读取字符串并读取其第一个字符。scanner 如果输入是数字 , , ,…,(不带引号),程序将打印 。否则,它会打印 。‘0’‘1’‘2’'9’truefalse
每个字符都有一组有用的函数。您可以使用这些函数而不是使用代码。
isDigit()如果给定字符表示数字 (、 等),则返回;否则true’1’‘2’false; isLetter()如果给定字符表示字母 (、、等),则返回;否则true’a’‘B’‘m’false; isLetterOrDigit()如果给定字符表示字母或数字,则返回;否则truefalse; isWhitespace()如果给定字符表示空格 (或 ) 或 , 则返回 。否则true’ ‘’\t’’\n’false; isUpperCase()如果给定字符是大写字符,则返回;否则truefalse; isLowerCase()如果给定字符是小写字符,则返回;否则truefalse; toUpperCase()返回给定字符的大写形式; toLowerCase()返回给定字符的小写形式。 让我们看一下上面列出的函数的一些示例:
val one = '1' val isDigit = one.isDigit() // true val isLetter = one.isLetter() // false val capital = 'A' val small = 'e' val isLetterOrDigit = capital.isLetterOrDigit() // true val isUpperCase = capital.isUpperCase() // true val isLowerCase = capital.isLowerCase() // false val capitalE = small.toUpperCase() // 'E'来自:https://hyperskill.org/learn/step/4680