Java的数据类型(三)

一、概念

Java是一种强类型的语言,针对内中数据都定义了明确的数据类型

二、分类
  A、基本数据类型
  B、引用数据类型(类,接口,数值)
三、基本数据类型
  数据类型            占用字节数
  A、整型 
        byte            1
        short           2           
        int             4
        long            8
  B、浮点型
        double          4
        float           8
  C、字符
        char            2
  D、布尔
        boolean         1
四、注意事项
  1、整数默认是int类型
  2、浮点数默认是double类型
  3、长整型后缀用L或者l标记,建议使用L
  4、单精度浮点数用F或者f标记,建议使用F
  5、Boolean类型不能转换为其他的数据类型
五、默认转换(从小到大的转换)
  1、byte,short,char-int-long-float-double
  2、byte,short,char相互之间不能转换,他们参与运算首先转换为int类型
六、强制转换

1、概念:从大的数据类型到小的数据类型

2、格式:目标数据类型 变量=(目标数据类型)(被转换的数据);

3、注意:不要随意去使用强制转换,因为它隐含了精度损失问题

  byte a=3;
  int b=4;
  byte c=(byte)(a+b)
七、练习

1、思考题1:请问下面是否有问题

  double d=12.345;
  float f=d;

2、思考题2:看看两个定义有没有区别

  float f1=(float)12.345;//通过一个double类型转换过来的
  float f2=12.345;//f2本身就是一个float类型

3、面试题:哪句是编译失败的,为什么?

  byte b1=3,b2=4,b;
  b=b1+b2;//因为变量相加,会先看类型问题,最终把结果赋值的也会考虑类型问题,这个是类型提升,所以有问题
  b=3+4;//常量相加,先把结果计算出来,然后看是否在byte的范围内,如果在就不报错

4、看程序写结果

  通过字符和一个整数相加,我们给出一张表:ASCII码表,通过这表,需要记住三个值:
        'a'      97
        'A'      65
        '0'      48      
  System.out.println('a') ;//a
  System.out.println('a'+1);//98

5、看程序写结果2
字符串数据和其他数据做+,结果是字符串类型,这里的+不是加法运算,而是字符串连接符

  System.out.println("hello"+'a'+1);//helloa1
  System.out.println('a'+1+"hello");//98hello
  System.out.println("5+5="+5+5);//5+5=55
  System.out.println(5+5+"=5+5");//10=5+5
posted @ 2020-12-14 04:06  我是一个大土豆  阅读(13)  评论(0编辑  收藏  举报