邯郸网站建设项目,赣州网站维护,php手机网站如何制作,如何做线上销售目录
一、字符型简单介绍
二、代码演示说明 一、字符型简单介绍 字符型char在Java语言中占用 2 个字节#xff0c;char类型的字面量必须使用半角的单引号括起来#xff0c;取值范围为[ 0 - 65535 ]#xff0c;char 和 short 都占用 2 个字节#xff0c;但是 char 可以取到…
目录
一、字符型简单介绍
二、代码演示说明 一、字符型简单介绍 字符型char在Java语言中占用 2 个字节char类型的字面量必须使用半角的单引号括起来取值范围为[ 0 - 65535 ]char 和 short 都占用 2 个字节但是 char 可以取到更大的正整数因为 char 类型没有负数。 Java语言中的char类型变量可以容纳一个汉字。请看以下程序
public class CharTest01 {public static void main(String[] args) {char c 中;System.out.println(c);}
}
我们对以上的程序编译并运行请看下图结果 我们可以看到 Java 中的 char 类型确实可以储存一个汉字。我们再来看以下程序假设字符我们采用双引号括起来会怎么样
public class CharTest01 {public static void main(String[] args) {char c 中;System.out.println(c);}
} 我们对以上的程序进行编译请看下图编译结果 我们看到编译器报错了并且提示的错误信息是 “不兼容的类型” 这是因为双引号括起来的不是 char 类型而是 String 类型
其实 String 类型就是 Java 中的字符串类型但大家要知道字符串不属于基本数据类型而是引用数据类型所以类型不兼容。
接下来我们来测试一下两个或多个字符是否可以使用单引号括起来请看以下代码
public class CharTest01 {public static void main(String[] args) {char c ab;System.out.println(c);}
}
我们对以上的程序进行编译请看下图编译结果 我们可以看出编译器报错了错误信息是“未结束的字符文字”这是因为 Java 中有规定字符型只能是单个字符
当编译器检测到 ab 的时候左边以单引号开始继续检测到 a字符然后编译器会继续检查下一个字符是否为另一半单引号
结果不是而是 b所以编译器报错了。这也说明了 Java 中的字符只能是单个字符不能是多个字符。 二、代码演示说明 package t08_字符型_char;
import java.util.Random;
/*** 字符类型char* 1字符类型是一个占2字节16位无符号整数数值是字符的Unicode编码* 2范围0~65535 * 3char运算* 用单引号标识只能放单个字符* char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。* 在JAVA中对char类型字符进行运算直接当做ASCII表对应的整数来对待* * 字符是一个数 * 记住字符是一个数* * author luminal*/
public class TestChar {public static void main(String[] args) {// testChar();//演示字符类型说明
// testSpecialCharacters();//特殊字符的编码换行、回车、tab、斜杆等
// testCapital();//大写字母的编码
// testLowercase();//小写字母的编码
// testNum();//数字的编码testOhter();//char运算-随机大写字母}/*** char运算-随机大写字母* */private static void testOhter() {char c 20013;System.out.println(c);//中c 中;System.out.println(c);//中c 中1;System.out.println(c);//丮c中国; System.out.println(c);//ꔪ//char m中国;//编译错误String无法转换为char。//字符类型是一个占2字节16位无符号整数数值是字符的Unicode编码//java中字符采用的表示方式是 Unicode编码它是一种字符编码格式。//Unicode编码一个英文等于两个字节一个中文含繁体等于两个字节。//c中国;//编译错误。 c 65;System.out.println(c);//Ac A 1;System.out.println(c);//Bc A 2;System.out.println(c);//C/*** 随机大写字母*/Random random new Random();int n random.nextInt(26);//[0,26) c (char)(A n);//计算生成 A~Z 的随机字符System.out.println(c);}/*** 数字的编码*/private static void testNum() {//0~9 : 4857System.out.println(0);//0System.out.println(0);//0System.out.println((int)0);//48System.out.println((int)1);System.out.println((int)2);//......System.out.println((int)7);System.out.println((int)8);System.out.println((int)9);}/***小写字母的编码*/private static void testLowercase() {//a~z:97~122System.out.println((int)a);System.out.println((int)b);System.out.println((int)c);//......System.out.println((int)x);System.out.println((int)y);System.out.println((int)z);}/***大写字母的编码*/private static void testCapital() {//A~Z:65~90System.out.println((int)A);System.out.println((int)B);System.out.println((int)C);//......System.out.println((int)X);System.out.println((int)Y);System.out.println((int)Z);}/*** 特殊字符的编码换行、回车、tab、斜杆等*/private static void testSpecialCharacters() {char c;c \n;//表示换行字符new Line是特殊控制字符c \r;//表示回车字符 returnc \t;//表示tabc \\; //表示一个\System.out.println(c);c \; //表示c \; //表示 c \u4e2d;//表示16进制Unicode 编码System.out.println(c);System.out.println((int)帅);//24069System.out.println((int)气);//27668System.out.println((int)华);//21326System.out.println((int),);//44System.out.print((char)24069);//帅System.out.print((char)27668);//气System.out.print((char)21326);//华System.out.print((char)44);//,}/*** 演示字符类型说明*/private static void testChar() {//char类型在java当中占2个字节16位无符号字节类型//它的范围是0~65535//在java当中为了能够表示各种字符//所以它将这个字符定义为2个字节//而C语言中字符类型是一个字节的它只能最多表示255种字符//算上0就是256种字符。//而在java当中的字符类型char它可以表示0~65535种字符,//java中字符采用的表示方式是 Unicode编码它是一种字符编码格式。char ch;ch a;System.out.println(ch);//a//我们还可以对这个字符类型采用整数来赋值ch 97;System.out.println(ch);//a//对于一个字符来说当我们在存储的时候//它会有相应的ASCII码也就是以整数的形式来存储的。//常用的字符如键盘上的26个字母、数值0-9//即字符的表示在我们的内存当中都是采用整数来表示的//所以我们可以采用整数来对一个字符变量来进行赋值//赋值char变量后它输出的是字符编码表中对应的字符。// c 是 char 变量20013 是int类型的字面量char c 20013;System.out.println(c);//中即20013表示中// 不能进行超范围赋值“int字面量”在“不超过char范围”情况下// 可以给char变量赋值// 字面量相加java按照一个整除处理//c -1;//编译错误超范围c 65535;//c 65536;//编译错误超范围c 65;System.out.println(c);//A ,即65表示A//c A 65535;//编译错误超范围c A 65000;//字面量相加结果如果不超范围没有问题System.out.println(c);//︩int bbb 65;//定义变量a//c bbb; //编译错误“int类型变量” 不能赋值给char变量c (char) bbb;System.out.println(c);//Ac A1;//相当于 651 System.out.println(c);//Bc 66;System.out.println(c);//B即66表示B}}