• java面试题之数据类型


    1.八种基本数据类型及其字节数

    整数型

    byte:1字节

    short:2字节

    int:4字节

    long:8字节

    浮点型

    float:4字节

    double:8字节

    布尔型

    Boolean: 1(位)

    字符型

    char:2字节

    2. i++和++i的异同之处

    共同点:

    1、i++和++i都是变量自增1,都等价于i=i+1

    2、如果i++,++i是一条单独的语句,两者没有任何区别

    3、i++和++i的使用仅仅针对变量。5++和++5会报错,因为5不是变量。

    不同点:

    i++ :先运算后增1

    ++i :先增1后运算

    3. &和&&的区别和联系

    共同点:当运算符两边是boolean类型变量时,&和&&都可以用作逻辑与运算符,表示逻辑与(and),当运算符两边的表达式的结果或操作数都为true时,整个运算结果才为true,否则,只要有一方为false,结果都为false。

    不同点:

    (1)、&称为逻辑与运算符,&&称为短路与运算符,也可叫逻辑与运算符。对于&:无论任何情况,&两边的操作数或表达式都会参与计算。对于&&:当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最终结果都为false

    (2)&还可以用作位运算符

    4.用最有效率的方法算出2乘以8等于多少

    使用位运算来实现效率最高。对于位运算符“<<”, 是将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,位运算cpu直接支持的,效率最高。所以,2乘以8等于几的最效率的方法是2 << 3

    5.基本数据类型的类型转换规则

    基本类型转换分为自动转换和强制转换。自动转换规则:容量小的数据类型可以自动转换成容量大的数据类型,也可以说低级自动向高级转换。这儿的容量指的不是字节数,而是指类型表述的范围。

    ![image-20200909185219714](https://images.cnblogs.com/cnblogs_com/linanana/1616119/o_200909105742image-20200909185219714.png)

    强制转换规则:高级变为低级需要强制转换。

    如何转换:

    (1)赋值运算符“=”右边的转换,先自动转换成表达式中级别最高的数据类型,再进行运算。(2)赋值运算符“=”两侧的转换,若左边级别>右边级别,会自动转换;若左边级别== 右边级别,不用转换;若左边级别< 右边级别,需强制转换。

    (3)可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,前提是不超出其表述范围,否则必须进行强制转换。

    感谢那些夸奖和鼓励,那些不经意的惦记和突如其来的善意,热爱世间浪漫万物,沿途也为晚霞驻足,嘻嘻。
  • 相关阅读:
    C. Tanya and Toys_模拟
    B. Qualifying Contest_排序
    A. Round House_数学问题
    广搜,深搜,单源最短路径,POJ(1130),ZOJ(1085)
    广搜,智能拼图(ZOJ1079)
    类似LIS+贪心(ZOJ1025)
    字符串处理(POJ1782)
    打表格,字符串处理,POJ(2136)
    二进制字符串匹配
    括号匹配问题
  • 原文地址:https://www.cnblogs.com/linanana/p/13640661.html
Copyright © 2020-2023  润新知