public class Day_03_03 {
/*
* 2022年5月26日15:16:32
* java零基础-数据类型-类型转换
* */
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17/* * 关于基本数据类型之间的转换:转换规则(以下六条规则需要背会) * 1、八种基本数据类型之间,除boolean类型之外,剩下的七种数据类型之间可以相互转换 * 2、小容量向大容量转换,成为自动类型转换;容量从小到大排序: * byte < short < int < long < float < double < boolean < char * 注意;char和short可表示的种类数量相同,但是char可以取更大的正整数 * 3、[大容量转换为小容量],称为强制类型转换,需要在加强制类型转换符,程序才能编译通过,但是在运行阶段会损失精度 * 4、如果整数型字面值没有超过byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量 * 例如 char c = 97; //控制台输出a * 在ASCII码中,48对应的是‘0’,97对应的是 ‘a',65对应的是’A‘ * 5、byte,short,char做混合运算的时候,各自先转换成int类型再做运算 * 6、多种数据类型混合运算,[先转换成容量"最大"的类型再做运算],运行是运行,编译是编译 * * * */ public static void main(String []args){
// char c = 97; //控制台输出a
// System.out.println©;
// int i = 10;
// byte b = i /3;
// 编译报错: -编译器只检查语法,不进行运算
复制代码
1
2
3
4
5
6
7/* 1、short s1 = 1; s1 = s1 + 1;有什么错? 2、char 类型变量能不能储存一个中文的汉字,为什么? 3、float f = 1.0 有什么错? 4、long a = 2147483648 有什么错? 5、int i = 0xffff 有问题吗? 6、char c = 65536 有问题吗,为什么?
/
/
* 1、s1是short类型,占用2个字节,多种数据类型混合运算,先转换成容量最大的数据类型再运算,所以 s1 +1是int类型
* 大容量转换成小容量要加强制类型转换符
* 2、char类型在Java中占用两个字节,而一个中文汉字也是占用两个字节,所以char类型可以存储一个中文汉字
* 3、在Java中浮点数字面值会被默认当作double类型,变量f是float类型,可以将程序这样修改:
* 第一种方法:加强制类型转换符,这样可能会损失精度([大容量转换为小容量])
* 第二种方法:在1.0后面添加F/f,将1.0F当作float类型来处理
* 6、char类型的取值范围是0-65535,65536超出了char类型的取值范围
* */
}
}
最后
以上就是儒雅鸵鸟最近收集整理的关于java零基础-数据类型-类型转换的全部内容,更多相关java零基础-数据类型-类型转换内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复