java数据类型拓展

java数据类型拓展

public class Dema{
    public static void main(String[] args){
        //整数拓展:    进制   二进制0b    十进制   八进制0    十六进制0x
        int a = 10;
        int b = 010;//八进制0
        int c = 0x11;//十六进制0x  0~9   A~F
        
        System.out.println(a);//a=10
        System.out.println(b);/*
        八进制  1 * 8的一次方  + 0 * 8的零次方
               8+0=8  
               b=8*/
        System.out.println(c);/*
        十六进制 1*16的一次方  + 1 * 16的零次方
               16+1=17
               c=17*/
       
       //================================================================================ 
       //浮点数拓展         银行业务怎么表示? 钱
       // 银行业务不能用float表示,银行业务需要用 BigDecimal (数学工具类)大数类型
       //==================================0==============================================
       //float   有限的  离散的  舍入误差  大约  接近单不等于
       //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        
        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1
        
        System.out.println(f==d);//false
      
        float f1 = 2312131313131313fdouble d1 = f1+1System.out.println(f1==d1);//true
        
         //================================================================================ 
         //字符拓展
         //================================================================================ 
        char c1 = 'a';
        char c2 = '中'System.out.println(c1);//输出  a
            
            System.out.println((int)c1);//强制转换  输出:97
            
            System.out.println(c2);//输出  中
            
            System.out.println((int)c2);//强制转换  输出:20013        
        //所有的字符本质还是数字
        
        //编码 Unicode 表:(可以处理各种语言的文字)  (97=a)     2字节 0-65536(2的16次方)   
        
        //U0000   UFFFF
        
        char c3 = '\u0061';//    97十六进制后  =  61
        
        System.out.println(c3);//输出 a
        //================================================================================ 
        //转义字符
        //    \t   制表符
        //    \n   换行
        
        System.out.println("Hello\tWorld");//输出 Hello World
        System.out.println("Hello\nWorld");//输出
        /*
        Hello
        World
        */
        //================================================================================
        
        String sa = new string(original:"hell world")String sb = new string(original:"hell world")System.out.println(sa==sb);//输出 false
        
        String sc = "hello world";
        String sd = "hello world";   
        System.out.println(sc==sd);//输出 true
        // “==”在对比变量是对比值. 对比引用类型是对比地址值. new必定是创建一个新的地址第一个不相同. string是存在常量池中,两个标识符指向的同一个地址所以第二个相同
        //对象 从内存分析
        
        //布尔值拓展
        boolean flag = true;
        if (flag==true){}//if是 如果 的意思
        if (flag){}   
        //if (flag==true){}   if (flag){}   意思相同
        //Less is More! 代码要精简易读
        
        
    }
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值