1、JAVA中,char占2字节,16位。可在存放汉字

2、char赋值

char a='a'; //任意单个字符,加单引号。

char a='中';//任意单个中文字,加单引号。

char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。

注:只能放单个字符。

3、char运算

char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。

在JAVA中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。

示例1:

char m='a';                               -->a

char m='a'+'b';                          -->?            //char类型相加,提升为int类型,输出对应的字符(a和b分别对应

的数值为97和98,相加等于195,其对应的字符为 ?)。

int m='a'+'b';                             -->195        //195没有超出int范围,直接输出195。

char m=197;                             -->?            //输出字符编码表中对应的字符。

char m='197;                            -->报错       //因为有单引号,表示是字符,只允许放单个字符。

char m='a'+1;                           -->b             //提升为int,计算结果98对应的字符是b。

char m='中'+'国';                      -->42282

char m='中'+'国'+'国'+'国';          -->报错         //int转char有损失。因为结果已经超出char类型的范围。

int m='中'+'国'+'国'+'国';           -->86820

char m='中'+1;                         -->丮            //1是int,结果提升为int,输出对应的字符。

char m='中'+"国";                       -->报错         //String无法转换为char。

System.out.println('中'+"国");  -->中国         //没有变量附值的过程。String与任何字符用“+”相连,转换为String。

示例2:

char a = 97;                                 -->为char类型变量 a 赋值常量值 97。

char b = 'a'+3;                             -->d               // 97+3=100,ASCII对应的字符为 d。

char c = a+3;                               -->报错        //无法从int类型转换为char类型,接下来让我们了解下为什么会不

能这样运算:

首先,我们先知道在jvm内存机制中,char类型数据运算是将字符在ASCII表对应的整数以int类型参与运算(可以认为' a '=97),常量(97)与常量(3)运算得到一个新的常量(100),常量赋值给变量(b),不存在强制转换,只要这个接受变量(b)的类型范围大于这个常量即可。而变量声明时需要定义数据类型(例:char a),内存就为这个变量划分一个char类型大小的空间,其中变量(a)的值是可变的,而常量(3)的值是不变的,两个运算得到的还是一个变量,本例中(a+3)是int类型的变量,而int类型变量(a+3)赋值给char类型变量(c)需要强制转换,因此会报错。

char c=(char)(a+3);                   -->d

总结:

用单引号' '标识,只能放单个字符。

char+char,char+int——类型均提升为int,附值char变量后,输出字符编码表中对应的字符。

java 定义char_JAVA数据类型中的char类型相关推荐

  1. Java如何给Mysql中插入year类型数据

    文章目录 Java如何给Mysql中插入year类型数据 实际问题: 解决方案: 从数据库中读取year类型数据到Java 从Java中往数据库存储year数据 Java如何给Mysql中插入year ...

  2. java中输入char类型_java中如何输入char类型

    java中基本数据类型的输入包括整形的输入:in.nextInt();单精度浮点型:in.nextFloat();双精度浮点型:in.nextDouble();字符串类型:in.next();in.n ...

  3. java中char类型_【考点】JAVA中的char类型

    写在前面: 本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议.热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶 ...

  4. java 设计char类型_JAVA中的char类型

    1.JAVA中,char占2字节,16位.可在存放汉字 2.char赋值 char a='a';  //任意单个字符,加单引号. char a='中';//任意单个中文字,加单引号. char a=1 ...

  5. 浅聊一下Java中的char类型

    什么是Unicode Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,也就是规定了二进制和字符的映射,以实现跨语言.跨平台进行文本转换.处理的要求,但是它并没有 ...

  6. Java的编码方式、单个char类型存储大部分中文字符、getBytes()、new String()的转换流程

    目录 一 编码种类 1.1 ASCII码 1.2 ISO8859-1编码 1.3 GBK编码 1.4 Unicode字符集 1.4.1 UTF-8编码 1.4.2 UTF-16编码 1.4.3 UTF ...

  7. c语言的数据类型可分为4种,C语言数据类型中的基本类型

    变量的数据类型 在应用程序中,由于数据存储时所需要的容量各不相同,因此,为了区分不同的数据,需要将数据划分为不同的数据类型.C语言中的数据类型有很多种,具体分类如下图所示. 从图中可以看出,C语言中的 ...

  8. java定义set_java – “方法流()未定义类型Set”

    我正在尝试运行我在 java基本路径课程中找到的示例 java程序.我想使用eclipse逐步完成它,以便更好地了解正在发生的事情. Person类很好没有错误但是MRTest类最后有一个错误,对于调 ...

  9. java 继承示例_Java中的继承类型以及示例

    java 继承示例 Prerequisite: Inheritance and its implementation in Java 先决条件: 继承及其在Java中的实现 Java中的继承类型 (T ...

  10. Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值

    dll中getColorName对应的定义声明如下: 因为Python中没有char这种数据,所以直接用会有如下的问题: 源码如下: import ctypesif __name__=='__main ...

最新文章

  1. 【转】几点 iOS 开发技巧
  2. 技术深扒丨没点想象力都看不透这个网站的反爬措施!
  3. unbuntu scim安装方法
  4. 云炬随笔20211002
  5. 删除context node后遗留的问题
  6. leetcode题解25-K个一组翻转链表
  7. pytorch optim.SGD
  8. 【Luogu】P2634聪聪可可(树形DP)
  9. sql/plus 常用操作
  10. latex论文模板双栏
  11. PMP认证考试情况整理
  12. 服务器系统还原后如何退回去,如何进行系统还原
  13. python PyEnchant(拼写检查)
  14. linux下安装MySQL5.7及遇到的问题总结
  15. 聊天室登录php,聊天室技术(二)-- 登录_PHP
  16. 均值滤波,中值滤波,最大最小值滤波
  17. 浅谈 SIM-OTA
  18. 在线批量无损压缩图片工具
  19. stm32 + RN8209C单相计量芯片使用心得
  20. LIN总线协议详解3(帧的类型)

热门文章

  1. HDU 2246 考研路茫茫——考试大纲
  2. 2021年7月20日我国暴雨趋势遥感监测与评估
  3. Android常用炫酷风格控件包含项目地址汇总
  4. 福州大学计算机学院奖学金,福州大学最新学院奖学金评定标准
  5. 加密狗加密excel ,方法之 C#开发Excel自定义函数
  6. 完美解决Python 发送邮件126,136,QQ等,都会报•554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件
  7. Footprint Analytics: NEO 主网上线 5 年,现状如何?
  8. 提取频散曲线matlab程序,2.2 PCDISP圆柱杆频散曲线求解
  9. iphone java模拟器_【Mac + Appium + Java1.8学习(三)】之IOS自动化环境安装配置以及简单测试用例编写(模拟器、真机)...
  10. 计算机网络软件系统不包括,1period;计算机软件系统一般分为lpar; A rpar;两大部分...