• java语言基础问题


    1.一个java类文件中只能有一个公有类

    java程序是一个从从public类的main函数开始执行的,只能有一个public类是为了给类装载器提供方便。每个编译单元都只能有一个public类。因为每个编译单元都只能有一个公共接口,用public类来表现。该接口可以按照要求包含众多的支持包访问权限的类。如果有一个以上的public类,编译器就会报错,并且public类的名称必须与文件名相同。

    2.把main()方法中的返回值由void改为int,程序不能编译通过,不能运行。

    main函数是不能被调用的,所以没有返回值。void没有返回值,而将void改成int,则必须有返回值,所以有编译错误。

    如图所示,会有错误信息,

    3.java变量遵循“同名变量的屏蔽原则”

    如图所示,调试结果为2.

    每一个变量都有一个“有效”的区域,区域外变量将不再有效.java遵循同名变量的屏蔽原则,类中定义了私有静态变量value=1,在函数中又定义一个value=2,在函数中输出value,结果是2,如果函数中没有定义value,则输出结果是1.

    4.java中的类型转换

    java中的基本数据类型转换分为自动类型转换和强制类型转换。自动数据类型转换是由优先级别低的数据赋值给优先级别高的变量。强制类型转换是由优先级别高的数据赋值给优先级别低的变量。强制类型转换通常都会有存储精度的损失。在整数之间进行类型转换时,数值不发生改变;而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在精度上的损失。

    (1)基本型整型int:4字节32位,数值范围-2147483648至2147483648

    (2)字节型byte:1字节8位,数值范围-128至127

    (3)短整型short:2字节16位,数值范围是-32768至32768

    (4)长整型long:8字节64位,数值范围是-9233372036854477808至9233372036854477808

    (5)字符型char:2字节16位,数值范围是‘u0000-uffff’

    (6)布尔型boolean:1字节8位,数值范围是true/false

    5。关于double类型数值运算的精确性问题

    0.01+0.05=0.06000000000000005;很显然结果是不精确的。

    double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差(除非实际数据恰好是2的n次方)。

     6.动手动脑

    第一个输出语句的+是将X和Y连接起来,计算结果将两数据连接起来;

    第二个输出语句中+是运算符,对X和Y求和。

  • 相关阅读:
    谷歌的 I/O 2019,究竟推出了什么新特性?
    Flutter交互实战-即刻App探索页下拉&拖拽效果
    5G到来,App的未来,是JavaScript,Flutter还是Native ?
    python爬虫-房天下-登录
    python爬虫-有道翻译-js加密破解
    虾米音乐爬虫
    Golang 读写文件
    Golang-使用md5对字符串进行加密
    Golang-使用mysql
    Golang 传递任意类型的切片
  • 原文地址:https://www.cnblogs.com/lijing925/p/7635885.html
Copyright © 2020-2023  润新知