char类型的数据转换成int类型的数字。

本能反应是这么写的。

public static void main(String[] args) {char c = '1';// 本能反应是这么写的。int i = c;
//        或者这么写int i1 = (int)c;System.out.println("c======="+c);System.out.println("i======="+i);System.out.println("i1======="+i1);}

最后输出

c=======1

i=======49

i1=======49

发现两种转换都不对。这直接是输出1的ASCII码。

那么实际上应该怎么转换?

public static void main(String[] args) {char c = '1';// 先把c装成string类型String stringc = String.valueOf(c);System.out.println("stringc========="+stringc);// string转成intint intc = Integer.parseInt(stringc);System.out.println("intc========="+intc);
}

stringc=========1

intc=========1

Q:为什么需要这么操作?

A:因为char是JAVA中的保留字,与别的语言不同,char在JAVA中是16位(bit)(JAVA用的是unicode,2个字节(byte))。不过八位的ASCII码包含在unicode中(0~127)。

所以char初始化可以是单个字符,汉字,整数赋值,字符的编码来初始化。

在JAVA中,因为对char类型字符运行时,直接当做ASCII表中对应的整数来对待。所以char可以直接转成int,得到的就是ASCII中对应的数字。所以不能直接转成int;所可以直接将char转成String,再转成int。JAVA中,char是一个基本类型(基本类型只能由基本类型强制转换),String是一个引用类型。推荐使用valueOf这个方法进行转换。

// String.valueOf()有可能出现字符串"null"的原因
public static String valueOf(Object obj) {return (obj == null) ? "null" : obj.toString();
}public static String valueOf(char c) {char data[] = {c};return new String(data, true);
}

扩展:int也不能直接强制转成char

char ca = (char) 1;
System.out.println("ca======="+ca);

输出:ca=======

显示不出ca,因为1在char里面存的是'\u0001'。

char c2 = (char)20013;
System.out.println(c2);

输出:中

也是直接显示ASCII码对应的字符,可以用String.valueOf,转成string,再转成char[]

char[] chars = String.valueOf(20013).toCharArray();
for (int i = 0; i < chars.length; i++) {System.out.print(chars[i]);
}

补充:

char的本质:

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

char: The char data type is a single 16-bit Unicode character. It has a minimum value of '\u0000' (or 0) and a maximum value of '\uffff' (or 65,535 inclusive).

char这种简单的java数据类型特点如下:

1:是java语言中8种基本数据类型中的一种

2:它占两个字节十六位

3:最小值是0,最大值是65535

4:它可以通过单引号包装起来表示,比如:‘1’、‘A’、‘中’,也可以使用0~65535十进制(其他进制的数也可以)的整数表示,也可以使用‘\u0000’~'\uffff'表示

5:它的默认值是'\u0000'(或者0)

6:只能是单个字符,多了,没有都不行(空格也是一种字符)

JAVA char转int相关推荐

  1. java char与int互相转换

    java char与int互相转换 (1)int转char,将数字加一个'0',并强制类型转换为char. (2)char转int,将字符减一个'0'即可. public static void ma ...

  2. java char和int的区别_int类型和char类型的区别

    下面三个定义式的区别: int i = 1;char i = 1;char i = '1'; int用来定义整型变量,char用来定义字符型变量,要清楚的知道三个定义式的区别,可以比较它们在内存中的存 ...

  3. Java char转成int的方法

    定义 我们可以使用各种方式在 Java 中将 char 转换为 int.如果我们直接将 char 变量赋值给 int,它将返回给定字符的 ASCII 值. Java char 到 int 示例:获取 ...

  4. java中String,int,Integer,char、double类型转换

    java中String,int,Integer,char.double类型转换----https://www.cnblogs.com/kangyu222/p/5866025.html 转载于:http ...

  5. java赋值运算的类型转换出新的问题_Java中byte、short、char、int、long运算时自动类型转化问题...

    -------------------------------------------------------------------------------------------------- ★ ...

  6. Java 类型转换: char转int

    Java类型转换: char转int 源码 package com.onlydemo.javalang;/*** 类型转换: char转int* * 1.char-'0' 将char转int* 2.C ...

  7. java char类型数值转int,以及获取ASCII码

    char转int数值 这是大家经常会遇到的问题,下面列出三种常见方法: (下面方法假设已经存在变量 char c = '1') 1.(int)(c - '0'); 这种方法是最快捷简单的方法,巧妙利用 ...

  8. Java中char和int相互转换

    char转int的方法 方法一(直接转) 使用Character.getNumericValue(char)方法 public static void main(String[] args) {cha ...

  9. java digit_我被一个初学者考傻了,关于java.lang.Character.digit(char ch, int radix)方法...

    评论 # re: 我被一个初学者考傻了,关于java.lang.Character.digit(char ch, int radix)方法 2008-09-26 14:07 Meatball 把rad ...

最新文章

  1. day21 登录cookie
  2. mybaits十三:使用collection分布查询
  3. GIT的 .gitignore 配置
  4. java_eclipse_maven_svn_主题彩色插件_全屏插件
  5. 267. Palindrome Permutation II --back tracking 以及palindrome 的优化方法ing
  6. 每日学习小记 11/02
  7. numpy广播机制小结
  8. [python高德]行政区查询、调用wbe服务api获取省、市、区经纬度信息
  9. 使用express 代理图片下载
  10. 杭州市直职称计算机考点地址,杭州中级会计考试地点在哪里
  11. 企业财务报表分析【1】
  12. VBA解压压缩文件。
  13. 金蝶K3安装环境检测缺少microsoft vm for java组件解决办法
  14. shader篇-漫反射
  15. 关于 Kubernetes中NetworkPolicy(网络策略)方面的一些笔记
  16. MyEclipse 10 注册码 破解 到期限制
  17. 西安电子科技大学计算机类专业学费,西安电子科技大学学费多少
  18. 论文解读: Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
  19. 【数据结构】非递归遍历二叉树
  20. 计算机英语读书笔记,大学英文读书笔记范文英语读书笔记十篇带翻译.doc

热门文章

  1. 领取价值100美元的XTC代币构建一个Dfinity Dapp
  2. sql 取两条相邻数据之间的时间差
  3. (week 1)第一周总结
  4. 超详细 ELK 日志分析系统
  5. 移动端---微信公众号开发
  6. Webpack的HMR原理解析
  7. Web缓存的工作原理
  8. 周末抽空买了个房子。
  9. QSPI寄存器学习总结
  10. 机器学习基石1(ML基本概念和VC dimension)