Java学习-数据类型

java数据类型

public class Hello {
    public static void main(String[] args){
        //8大基本属性
        int num=10;//最常用
        byte num2=20; //最大127
        short num3=30;
        long num4=40L; //long要加上L表示
        //带小数:浮点数
        float num5 = 50.1F; //加F判断是float
        double num6 = 3.1415926;
        //字符类型
        char name='A'; //必须使用单引号
        String namea="中国你好";//注意,String首字符是大写
        //布尔值
        boolean flag=true; //只占一个位
    }
}

进制与浮点数拓展

public class Demo3 {
    public static void main(String[] args) {
        //2进制,8进制,10进制,16进制的具体表示方法
        int i=10; //10进制
        int i2=010; //8进制前面加0
        int i3=0x10;//16进制 0~9 A~F

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("=============================================");
        //===========================
        //浮点数拓展
        //float,double不一样
        //float 是有限的,是离散的,又舍入误差的,不能在银行使用,只能接近,但不等于
        //double 
        //最好完全使用浮点数进行比较
        //BigDecimal 数学工具类 进行银行计算的,不存在误差
        float f=0.1f;
        double d=1.0/10;
        System.out.println(f==d); //这里的结果就是false,很奇怪吧

        //
        float d1=234234234234234f;
        float d2=d1+1;
        System.out.println(d1==d2); //这里输出的结果就是true,原因就是上面所说的浮点数存在误差

        //字符拓展

        char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int)c1); //强制换行
        System.out.println((int)c2);//强制换行
        //本质上所有的字符都是数字 小写的a是97,大写的A是65,中是20013 ,这是Unicode表规定的
        char c3='\u0061'; //这里就是Unicode的标准输出,结果就是a

        //转义字符 \t :制表符 \n:换行
        System.out.println("hello \tworld!\n");

        //布尔值拓展
        boolean flag=true;
        if (flag){} //这里也可以flag=true
        //注意:代码要精简易读

    }
}