问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中char类型大小写转换问题52

发布网友 发布时间:2023-10-16 00:45

我来回答

4个回答

热心网友 时间:2024-11-25 16:34

public class CharTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入字母:");
char c = in.next().charAt(0);
if (c >= 'A' && c <= 'Z') {
c += 32;
System.out.println("这里的大写" + (char) (c - 32) + "被转换成了" + c);
System.out.println("这里的大写" + (c - 32) + "被转换成了" + c);
} else if (c >= 'a' && c <= 'z') {
c -= 32;
System.out.println("这里的小写" + (char) (c + 32) + "被转换成了" + c);
System.out.println("这里的小写" + (c + 32) + "被转换成了" + c);
}
/*
* 首先,我加了两句,输出,楼主先运行看一下。然后我再解释。
* 这里涉及到三个知识第
* 1.字母有其对应的A码,
* 2.大小写相差32
* 3.自动数据类型转化。
*
* 上面例子如果不好理解的话,我们换一个,好理解的
* int a=2;
* double b=2.2;
* a+b最后的结果会是什么类型呢???????
* 显示会是double,为什么这样呢?我们说数据的处理,肯定要在同一个类型的时候才能处理,
* 所有不同数据类型处理时要通过自动或者强制转化,否则会报错。
* 这里是自动转化,自动转化有两个要求:
* 1.两种数据类型兼容
* 2.小的向大的转化。
* 所以这里int 转为double,最终结果是double
*
*
* 好了,现在来分析一下
* (char)(c-32)和(c-32)的区别
* 其实也就是c-32。
* 1.这里的首先char 和int 通过A码可以转换,所以兼容
* 2.int 比char 大。
* 所以计算的时候c先转为相应的A码,也就是整数,然后进行计算。计算后的结果必然是整数
* 如果你此时想得到char。就必须通过强制类型转化。所以要(char)
* */
}
}

总结一下: 通过转化后,因为参与 了+或者-32,所以最终的结果是以整数的形式出现的。
当然,如果你这样写的话,就另当别论了

再举例说明清楚
如果是这样的话
c+=32;
System.out.print(c);
输出的是字母
对比
System.out.pirnlnt(c+32);
输出的是数字??
为什么呢
因为c=c+32,c本身的数据类型是char 后面的结果计算后的时候会自动根据对应的A码转为对应的char

所以需要区别的是:
如果是赋值运算。运算后的右边的结果,会自动转型为左边的类型,如果不能转型会报异常。
如果是通过其他运算(比如四则运算),它会先把所有数据类型先转化为较大的数据类型,最终得到的结果也是较大的数据类型。
最后举例
int a=32;
char b='A';
char c='A';
b+=32;//赋值运算
//或者b='A'+32;
//如果是b=b+32;就会报错。因为后面进行了加法运算,结果需要用int来接收
//int d=b+32;这个就对了
System.out.println(b); //a
System.out.println(c+32);//97,其他运算

热心网友 时间:2024-11-25 16:34


++++++++++++++++++++++++++++++++++++++++++++++++++++++

数据类型

基本类型有以下四种:
int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float长度数据类型有:单精度(32bits float)、双精度(64bits double)
boolean类型变量的取值有:ture、false
char数据类型有:unicode字符,16位
对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long

转换原则

从低精度向高精度转换
byte 、short、int、long、float、double、char
注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换

基本类型向类类型转换

正向转换:通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);
反向转换:通过类包装器来转换
int b=a.intValue();

类类型向字符串转换

正向转换:因为每个类都是object类的子类,而所有的object类都有一个toString()函数,所以通过toString()函数来转换即可
反向转换:通过类包装器new出一个新的类类型的变量

热心网友 时间:2024-11-25 16:35

public static char toLowerCase(char ch)
public static char toUpperCase(char ch)
Character类自带的两个方法

热心网友 时间:2024-11-25 16:35

问题不全无法解答
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 哪位高手来解决一下:java中short类型数据如何转换成b...2 求大佬指点,JAVA里面不能从char转换到boolean该... 健康人格心理学怎么上课啊 伏魔英雄传1.52 六道轮回一转回不去了怎么回去? 霹雳MIT的到收视率底好不好呀?~ 有过入赘经历的前辈!女人们,让入赘好不好啊。133 吴中区甪直板块有新楼盘吗?哪个楼盘,价格多少? 甪直那边有什么新楼盘吗? 活蹦乱跳的基围虾买回家准备第二天中午吃应该是放冷鲜室还是放冷冻室... ...完结的,请各位大大们帮帮小弟我,小弟我可是很喜欢小说的 慢性肾盂肾炎的症状有什么?被确诊的糊涂。26 思想道德素质包括哪些方面71 ...我们什么?)请各位兄弟姐妹们帮下小弟,小弟感激不尽呀!! 问道 骗子 ...各位兄弟姐妹调动起来帮忙下小弟啊。鞠躬啦~!!如题 谢谢 《黔之驴》古文的问题 ...圆珠笔是赚钱的好项目这是骗局吗,请指点一下小弟感激不尽..._百度... 您好!我是2004年农历2月11日出生的,请问是属于什么星座...8 我阴历2月19日晚上12点出生的,请问是什么星座? Intel 酷睿 i7 920用什么的散热器好呢!?10 [单选题] 一个桔子重90克,一个苹果比桔子重60克,一个梨子是桔子的3倍... 贵阳那点有心理医生? 脚踝骨折手术康复后僵硬怎么办 贵阳哪里有心理医生。? iphone5s为什么icloud无法登陆?提示验证失败.但ID密码是正确的并能... 示功仪工作原理?2 义乌市金核科技有限公司怎么样? 义乌英明科技有限公司怎么样? 义乌市金迈科技有限公司怎么样? 请教桥牌~ 具体的叫牌问题 谢谢~ 义乌金碧网络科技有限公司怎么样? 昨天晚上重庆到杭州的飞机几点到的? 义乌市纽依科技有限公司怎么样? 5月1号晚上10点后有杭州到重庆的飞机吗? 新买一个手机号,可是发现被人注册过,怎么办,怎么删 魔兽世界大区十区是网通还是电信 思想道德素质主要包括7 奔驰glc300反光镜有个三角灯闪是什么意思? 思想道德品质包括什么内容31 glk300后视镜下面有个灯 不是阅读灯4