java基础:类型转换

java基础:类型转换,第1张

java基础:类型转换

强类型语言:要求变量使用严格符合规定,所有变量都必须先定义后在使用

弱类型语言:不要求变量使用严格符合规定

java的数据类型分为2类

1.基础类型

整数类型:byte,short,int,long

小数类型(也叫浮点型):float,double

字符类型:char

布尔类型:boolean

2.引用类型

类、接口、数组

基础类型的使用方法如下

public class Demo2 {
    public static void main(String[] args) {
        String a="hello";
        int num=10;
        System.out.println(a);
        System.out.println(num);
        //八大数据类型

        //整数
        int num1=10;
        byte num2=20;
        short num3=300;
        long num4=3444L;

        //浮点数,小数
        float num5=20.1F;
        double num6=3.1415926;

        //字符类型
        char name='a';
        //String不是关键字,类
        //String name="tianxia"

        //布尔值
        boolean flag=true;
        //boolean flag=false;


    }
}

数据类型扩展

public class Demo3 {
    public static void main(String[] args) {
        //整数拓展 进制 二进制  八进制0b  十进制  十六进制0x

        int i=10;
        int i2=010;
        int i3=0x10;
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("==================");
        //===================================
        //浮点数扩展?  银行业务怎么表示? 钱
        //BigDecimal 数学工具类
        //===================================
        //float   有限 离散 有限  舍入误差  大约  接近但不等于
        //double

        //最好完全使用浮点数进行比较

        float f=0.1f; //0.1
        double d=1.0/10; //0.1
        System.out.println(f==d);//false

        float d1=98878886878890f;
        float d2=d1+1;

        System.out.println(d1==d2);//true

        //===================================
        //字符扩展?
        //===================================
        char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);

        //所有字符的本质都是字符
        //编码 Unicode 表:

        //U0000-UFFFF
        char c3='u0061';
        System.out.println(c3);//a

        //转义字符
        // t  制表符
        // n 换行
        // 以及更多的转义字符

        //
        //String sa= new String ("hello world");
        //String sb= new String ("hello world");
        //System.out.println(sa==sb);

        System.out.println();

        java.lang.String sc="hello world";
        java.lang.String sd="hello world";
        System.out.println(sc==sd);

        //对象 从内存分析

        //布尔值扩展
        boolean flag=true;
        if(flag=true){}  //新手
        if(flag){}  //老手
        //Less and More! 代码要精简易读

    }
}
public class Demo4 {
    public static void main(String[] args) {
        int i=128;
        double b=i;//内存溢出

        //强制转换  (类型)变量名
        //自动转换   低--高

        System.out.println(i);
        System.out.println(b);
        

        System.out.println("=============");
        System.out.println((int)23.7);//结果23
        System.out.println((int)-45.89f);//结果-45

        System.out.println("=============");
        char c='a';
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
    }
}
public class Demo5 {
    public static void main(String[] args) {
        // *** 作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下滑线区分
        int money=10_0000_0000;
        int years=20;
        int total=money*years;//-1474836480,  计算的时候溢出了
        long total2=money*years;//默认是int类型,转换之前已经进行计算了
        long total3=money*((long)years);

        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);

    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存