zoukankan      html  css  js  c++  java
  • 基本数据类型

     java中数据类型

     整数默认:int    

    小数默认:double

    基本数据类型取值范围

    整型

    byte	Byte	[-2^7~2^7-1]	1个字节		8位35B
    short	Short	[-2^15~2^15-1]	2<span style="font-family: Arial, Helvetica, sans-serif;">个字节			16位35S
    int	Integer	[-2^31~2^31-1]	4个字节		32位35
    long	Long	[-2^63~2^63-1]	8个字节		64位35L
    

    浮点型

    float	Float	[1.401298e-45~3.402823e+38]	4个字节
    double	Double	[4.9000000e-324~1.797693e+308]	8个字节
    

    char占两个字节,boolean占一位:

    默认转换

    byte,short,char——>int——>long——>float——>double;          byte,short,char相互之间不转换,他们参与运算首先转换为int类型 ;

    强制转换 :把大的类型转换成小的类型

    目标类型 变量名=(目标类型)(被转换的数据);

    相关题目

    1、下面的语句是否有问题?

    byte b1 = 3, b2 = 4;
    
    byte b3 = b1 + b2; //语句1
    
    int b4 = b1+b2; //语句2
    
    byte b5 = 3+4; //语句3

    解答:语句1会报错,因为b1和b2作为变量参与运算的时候,会先提升为int类型,然后将int类型的结果赋值给byte,可能会丢失精度,所以报错;

    语句2没有问题,因为是把int结果给int,类型匹配;

    语句3正确,因为3和4是常量,所以编译器编译的时候,会计算出结果,然后判断结果是否在byte的范围内,在的话就不会报错,如果咱们反编译class文件,会发现这一句变成了byte b5=7;

    结论:变量参与运算会先做类型提升,而常量会直接计算后判断类型是否匹配;

    2、下面这两个表示有没有问题,有什么区别?

    解答:

    float f1 = (float)12.345;
    
    float f2 = 12.345F;

    都没有问题,第一种相当于先定义了一个double类型常量,然后截取了后四个字节得到了f1,第二种是直接定义float,建议定义第二种。

    3、byte b = 130 有没有问题?

    解答:有,因为超出了范围;

    如果如下修改:

    byte b = (byte)130;
    
    System.out.println(b);

    结果为:-126,

    分析:

    A: 把130转换成二进制为:10000010,因为是int类型4个字节,所以结果因为是:

    00000000 00000000 00000000 10000010 这个是130的原码,也是反码,也是补码;

    B: 截取成byte类型的,结果为: 10000010,这个是结果的补码,我们需要转换成原码:

    符号位 数值为

    补码: 1 0000010

    反码: 1 0000001 补码上减1

    原码: 1 1111110 把反码各位反过来

    接下来把11111110转换成10进制,结果为-126;

    4、为什么long会自动转换成float?

    解答:float虽然是4个字节,long是8个字节,但是底层存储方式不同,所以float能表示的范围比long大

    5、JAVA中char能够表示一个汉字?

    解答:能,因为JAVA中char是两个字节;

  • 相关阅读:
    2、容器初探
    3、二叉树:先序,中序,后序循环遍历详解
    Hebbian Learning Rule
    论文笔记 Weakly-Supervised Spatial Context Networks
    在Caffe添加Python layer详细步骤
    论文笔记 Learning to Compare Image Patches via Convolutional Neural Networks
    Deconvolution 反卷积理解
    论文笔记 Feature Pyramid Networks for Object Detection
    Caffe2 初识
    论文笔记 Densely Connected Convolutional Networks
  • 原文地址:https://www.cnblogs.com/WPF0414/p/9885621.html
Copyright © 2011-2022 走看看