java关于基本类型及转化与进制

java基本数据类型和进制

java8种基本数据类型 byte,short,char,int,long,float,double,boolean

java引用类型 类、接口、数组

public class Demo01 {
    public static void main(String[] args) {
       boolean flag=false;
       short num1=20;
       long num2=20L; //长整型加L或l,但l不易区分,一般用L
       float num3=0.1F; //单精度浮点数加F或f
       double num4=0.2;
       byte k=12;
       char a='A';
      
       String b="abbajxb"; //String不是基本数据类型,也不是关键字,是一个类

       int i = 10; //十进制
       int i2 =010; //八进制以0开头
       int i3 = 0x10; //十六进制以0x开头
       int i4= 0b10; //二进制以0b开头
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);

        long a=10678251552789L;
        int b=20;
        short c=1;
        byte d=10;
        System.out.println(a+b+c+d); //long
        // 若多个操作数中有一个为long,则结果也为long;
        // 若多个操作数中有一个为double,则结果也为double;
        // 其他结果都为int
        System.out.println(c+d); //int
        System.out.println(c/d); //0
        System.out.println(c/(double)d); //0.1
    }
}


java类型转换与舍入

java类型由低到高为 byte,short,char,int,long,float,double

高类型到低类型需要进行强制转换,需要注意溢出问题与精度问题

低类型到高类型是自动转换

public class Demo01 {
    public static void main(String[] args) {
        float f =0.1f;
        double d=1.0/10;
        System.out.println(f==d); //false
        System.out.println(f);
        System.out.println(d);
        System.out.println("===========================================================");


        float f1=12222222222222222222222f;
        float f2=f1+1;
        System.out.println(f1==f2); //true
        System.out.println("===========================================================");


        String sa=new String("helloWorld");
        String sb=new String("helloWorld");
        System.out.println(sa==sb); //false
        String sc="helloWorld";
        String sd="helloWorld";
        System.out.println(sc==sd); //true
        System.out.println("===========================================================");
      
      
        int  i=128;
        byte b=(byte)i; //高类型转化为低类型需要强制转换;
        System.out.println(i); //128
        System.out.println(b); //-128,此处发生溢出
        double c=i;
        System.out.println(c); //低类型转化为高类型是自动转换;
        System.out.println("============================================================");


        int money=10_0000_0000; //数字位数过多时可加入下划线来便于阅读
        int years=20;
        long total=money*years;
        long total2=money*(long)years; //将一个int强制转化为long
        System.out.println(money); //1000000000
        System.out.println(total); //-1474836480,相乘已发生溢出,再转化为long依旧是溢出状态
        System.out.println(total2); //2000000000
        System.out.println("============================================================");
      
      
        System.out.println((int)23.7); //23
        System.out.println((int)-45.7); //-45  
    }
}  
posted @ 2022-01-01 11:20  原语  阅读(54)  评论(0)    收藏  举报