java类型自动转换
程序员文章站
2024-03-18 18:20:04
...
package com.kevin.basic;
/*
* java类型自动转换方面的知识点
* int类型 double类型 默认类型
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/* int类型是整数的默认类型。
* (1)第一种:正确运行,结果为10.
* 3是int类型,7是int类型,3+7=10也是int类型,当把常量10赋值给byte类型b时,java编译器
* 会进行范围检查,发现10没有超越byte类型的取值范围-128~127,所以可以正常将int类型转换为byte类型
byte b = 4;
b = 3+7;
System.out.println(b);
*/
/*(2)第二种:出现错误,提示可能会损失精度。
* 因为b1,b2都是变量,java编译器在进行判断时无法判断b1+b2的取值范围,是否会超过-128~127这个范围
* 所以会给出可能损失精度的错误提示。
byte b1 = 3;
byte b2 = 7;
b = b1+b2;
System.out.println(b);
*/
/* 2147483647 整型最大值
-2147483648 整型最小值
-2147483647
*
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
int x = max + 2;
System.out.println(max);
System.out.println(min);
System.out.println(x);
*/
/*
* 正常运行:+=是赋值运算符,java在进行运算时会进行自动类型转换。
* += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
short x = 2;
x += 3;
System.out.println(x);// x = 5;
*/
/* x+3运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型x时,编译器将报告需要强制转换类型的错误。
* :因为 x+3 的取值范围不确定,有可能会超过短整型所能表示的数值。
short x = 2;
x = x+3;
System.out.println(x);
*/
}
}
上一篇: 将时间转换成几分钟前,几天前,几年前格式
下一篇: json转换为对象
推荐阅读
-
java类型自动转换
-
java对各进制的转换
-
Java中如何将double类型的值保留小数点后两位或者多位 javaDouble
-
java各进制转换
-
java 各进制之间的转换
-
unity开发之知识记录篇(color和string类型的相互转换)
-
JavaScript强制类型转换函数 博客分类: Javascript Javascript类型
-
无符号字节类型,unsigned byte 转换 博客分类: Java byte字节类型无符号十进制
-
java中的数据类型和默认值 博客分类: java语言 java数据类型数据类型默认值
-
JAVA快速精准获取图片类型及实现源码分析 博客分类: JAVA 快速精准获取图片信息类型ImageInputStreamReaderSpi