1.特殊基本数据类型
除了这两个,其他的变量都不需要加符号
//定义时需要在变量的值后面加 L或l
long count=300000L;
//定义时需要在变量的值后面加 f或F
float code=10.3f;
2.常量定义
//在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:(通常使用大写字母表示常量)
final double PI = 3.1415927;
//定义一个静态常量
public static final String DEPARTMENT = "开发部";
3.字符型字面值char
char只能使用单引号
//char只能使用单引号
char a='$';
4.类型转换(java中)
取值范围大的类型要转换范围小的类型,只能强制转换;
取值范围小的类型要转换范围大的类型,能自动隐式转换。
(取值范围从小到大排序,从后往前都需要强制转换,逗号之间也需要强制转换:byte,char,short<int<long<float<double)
//int转byte需要强制转换
int num = 127;
//byte bs = num; //wrong
byte bs = (byte)num; //correct
System.out.println(bs);
5.精度丢失
double和float小数点相加都会有精度丢失的问题
//double精度丢失
double dnum1=1.01;
double dnum2=2.01;
double dnum3=dnum1+dnum2;
System.out.println("double计算结果 = " + dnum3); //double计算结果 = 3.0199999999999996
//float精度丢失
float fnum1=1.1f;
float fnum2=2.000001f;
float fnum3=fnum1+fnum2;
System.out.println("float计算结果 = " + fnum3); //float计算结果 = 3.1000009
//BigDecimal保持精度
BigDecimal bnum1 = new BigDecimal(String.valueOf(1.1f)); //必须传字符串类型的参数
BigDecimal bnum2 = new BigDecimal(String.valueOf(2.000001f));
BigDecimal bnum3 = bnum1.add(bnum2);
System.out.println("BigDecimal计算结果 = " + bnum3); //BigDecimal计算结果 = 3.100001
标签:char,Java,BigDecimal,记录,double,float,学习,计算结果,byte
From: https://www.cnblogs.com/cjdypx-DearMyMind-Ljh/p/17449503.html