关于java数据类型拓展

关于java数据类型拓展

在上一篇文章中,我们介绍了数据类型,变量等内容。

跳转到上一篇:关于java的数据类型及变量

本篇文章向大家拓展一下数据类型常见的问题,讲学习到的知识点,结合实际生活中的项目上问题或者是参加面试的时候,常见的一些问题,都是比较典型值得思考的问题😶‍🌫️

整型拓展

整型中涉及到最常见的问题,就是进制问题。

  • 二进制 0b
  • 八进制 0
  • 十进制
  • 十六进制 0x

下面代码中举例说明,大家也可以自己去敲代码体验一下,尽量不要直接复制走,要多敲多练😀

public class Demo{
    public static void main(String[] args){
        
        int num=10; //声明一个值为10的整型变量
        
        int num1=0b10;//二进制,在10前面加0b
        
        int num2=010;
        
        int num3=0x10;
        
        System.out.println(num1);//输出结果是10
        System.out.println(num1);//输出结果是2
        System.out.println(num2);//输出结果是8
        System.out.println(num3);//输出结果是16
    }
}

浮点型拓展

  • 浮点型分为两种,一种单精度浮点型float,一种双精度浮点型double。
  • 有时候结合生活,面试官可能会问银行的业务用什么去做?因为银行需要算钱,算金额,所以大多数人都会说用float和double去计算,其实就是掉到了陷阱里面🥲下面举例说明一下。
public class Demo{
    public static void main(String[] args){
        
        float num=0.1F;//首先声明一个值为0.1的单精度浮点型变量
        
        double num1=1.0/10;//再声明一个值同样为0.1的双精度浮点型变量
        
        System.out.println(num);//输出结果为0.1
        
        System.out.println(num1);//输出结果为0.1

        //判断一下两个值是否相等,用==,相等输出结果为true,反之为false
    	
        System.out.println(num==num1);//输出结果为false
       
    }
}

虽然看着输出结果,两个都是等于0.1,但是判断相等的时候,程序显示这两个值并不相等!

  • 通过上面例子可以知道,float是有限的,是离散的,比如上面的0.1,只是四舍五入,大约是0.1,无限接近但是不等于。
  • 银行业务,一般都会用BigDecimal,是一个数学工具类(至于类的定义以后的文章中会说到😀)

字符拓展

  • 首先定义两个字符类型的变量
public class Demo{
    public static void main(String[] args){
		
        char c1='A';
       
        char c2='中';
        
        System.out.println(c1);//输出结果是A
        
        System.out.println((int)c1);//输出结果是65(强类型转换,将字符类型强转换为整数类型)
        
        System.out.println(c2);//输出结果是中
        
        System.out.println((int)c2);//输出结果是20013(强类型转换,将字符类型强转换为整数类型)
        
    }
}
  • 可见,所有的字符,本质还是数字。
  • char类型涉及到编码问题。
  • 编码 UniCode 感兴趣的小伙伴可以去搜索一下 “编码UniCode列表” 这里就不一一讲述了。

转义字符拓展

  • 转义符常用于表示,无法直接输入,或者显示的字符,像回车,换行,自动对齐等等。
  • \t 制表符
System.out.println("Hello\tWorld");

//输出的结果是Hello World
  • \n 换行符
System.out.println("Hello\nWorld");

//输出的结果是
Hello 
World
  • \r 回车符
System.out.println("Hello\rWorld");

//输出的结果是
Hello

这里会发现,World消失了,是由于回车字符会顶替掉后边的部分,所以在书写的时候,加一个换行字符\n就可以了。

System.out.println("Hello\r\nWorld");

//输出的结果是
Hello
World

布尔类型拓展

下面给大家展示一下两段代码

用if判断条件是否相等(后续的文章会说明if,else等)

boolean flag=true;

//新手
if(flag==true)
{
    System.out.println("成功");
}

//老手
if(flag)
{
    System.out.println("成功");
}

这两段代码其实是一样的,因为flag=true,直接简化就可以了,新手一般用第一种,老手都是用第二种。

  • **less is More!**代码要精简易读😀
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值