整型、浮点型、字符型、布尔类型小细节

int a0=15;//十进制
int a1=015;//以0开头,是八进制
int a2=0x15;//以0x开头,是十六进制
int a3=0b1101;//以0b开头,是二进制
long a4=100L;

char d='\u0067';//'\0067'表示字符,运行结果为a。不常用,一般还是直接写
char b = 'a';
System.out.println((int) b);//转换为整型//97
System.out.println(b);//a
System.out.println(0 + b);//加上数字自动转换为整型97

boolean a1 = true;
boolean a2 = false;
System.out.println(a1 & a2);//与
System.out.println(a1 | a2);//或
System.out.println(a1 ^ a2);//非

float a5=3.00000000F;//float类型的数值有一个后缀F或f,没有后缀则默认为double类型
double a6=1.0/10;//不能写成1!
double a7=314E2;//等于314*10^2,E也可以写成e
double a8=314E-2;//等于314*10^(-2)

浮点数是不精确的,不能用于比较,如果需要比较,请使BigDecimal,方法如下:
import java.math.*;//先导入包
BigDecimal bd1=BigDecimal.valueOf(0.1);
BigDecimal bd2=BigDecimal.valueOf(1.0/10);
System.out.println(bd2==bd3);//false

BigDecimal bd1=BigDecimal.valueOf(0.1);
BigDecimal bd2=BigDecimal.valueOf(1.0/10);
System.out.println(bd1.equals(bd2));//true

BigDecimal bd=BigDecimal.valueOf(1.0);	
bd=bd.subtract(BigDecimal.valueOf(0.1));
bd=bd.subtract(BigDecimal.valueOf(0.1));
bd=bd.subtract(BigDecimal.valueOf(0.1));
bd=bd.subtract(BigDecimal.valueOf(0.1));
bd=bd.subtract(BigDecimal.valueOf(0.1));
		
System.out.println(bd);//0.5
System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);//0.5000000000000001

打住!打住!其境过清,不可久居!

import java.math.*;
public class TTest {
    public static void main(String[] args){
        float a=0.1F;
        float b=1.0F;
        float c=0.1F;
        float d=0.2F;
        float f=0.3F;
        System.out.println(1.0-0.1);
        System.out.println(1.0-0.1-0.1);
        System.out.println(1.0-0.1-0.1-0.1);
        System.out.println(b-a);
        System.out.println(b-a-a);
        System.out.println(b-2*a);
        System.out.println(b-a-c);
        System.out.println(b-a-d);
        System.out.println(b-a-d-f);
    }
}
运行结果
0.9
0.8
0.7000000000000001
0.9
0.79999995
0.8
0.79999995
0.7
0.39999998

千万不要硬记!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值