Java面试必考:float与short类型转换详解

📅 发布时间:2026/8/19 11:39:14
Java面试必考:float与short类型转换详解 一: 前言二: 面试题目一: float f 6.6 这个代码是否有问题?存在这样的情况, 在JAVA语言里, 默认的小数是双精度类型, 而float属于单精度类型, 要是使用float去接收双精度的数值, 这就等同于向下转型, 会致使精度出现丢失, 所以需要进行强制类型转换, 也就是float f (float)6.6 , 或者在数值后面指定类型, 即float f 6.6F。追问一: 声明一个短整型变量s1并赋值为1 , 之后让 这个变量 s1加上 1进行赋值 , 如此操作存在毛病吗 , 要是存在 , 那就详细说明 , 声明一个短整型变量s1赋予其值为1 , 让变量s1自身加上1来赋值 , 这般操作存在问题吗?s1加上1的这种情况存在问题, 没办法通过编译, 因为在JAVA语言里1属于int类型, 它占4个字节, 然而short类型在JAVA中占2个字节, 要是用short类型去接收, 那就意味着需要进行强制类型转换, 也就是得写成: 想要编译成功得写成: s1等于shorts1加上1。short类型的s1被赋值为1, 之后s1加上1这种写法不存在错误, 能够正常进行编译, “”属于复合运算符, JAVA编译器会针对它作出特殊处理, 它含有隐式的强制类型转换等同于s1等于(short)s1加上1。二: 和的区别?1、运算符有两种用法(1)按位与, 其具体的含义是, 参与运算的两数, 各对应的二进制位相与 , 只有对应的两个二进位均为1时, 结果位才为1 , 否则为0。(2)逻辑与, 它存在这样的要求, 在左右两边的条件都呈现为true这种状况的时候, 其返回的结果才会是true这个状态, 不然的话就会是false这个情况。2、运算符也叫短路与运算,特点如下:(1)若, 在“ ”左边的那个表达式, 其值呈现为“ false ”的状况下, 右边的那个表达式将会被直接地短路掉, 不会展开运算。唯有当运算符两边的条件均为真的情形时, 才会返回“ true ”。(2)它有着诸多可供运用的场景, 若能合理对其加以使用, 便能够防止空指针情况的出现, 比如说当去判断用户名并非是null并且也不是空字符串的时候, 要运用! null !.(“”) , 这里运算符的条件顺序是不可以进行调换的, 不然的话就会出现空指针的状况。(3)逻辑或运算符|跟短路或运算符||的差别同样类似, 短路或运算符||一旦运算符左边的条件是真的, 那就不执行右边的条件判断, 直接返回true。第一个问题, Math.round(2.5), 其结果是多少? 第二个问题, Math.round(-2.5), 它的结果又是多少?round方法具备的用途是进行四舍五入操作, Math.round(2.5)所得到的返回结果是3, Math.round(-2.5)所获得的返回数值是-2。四舍五入遵循的原理是把0.5添加到参数之上, 随后开展舍入操作向下舍入意思是选取更小的数值。四: ()中,的值可以是哪些类型?1、在Java5以前, 在当中, 能够有的仅仅是byte类型的值, 或者是short类型的值, 又或者是char类型的值, 再或者是int类型的值(这包括它们各自的包装类型)。2、从Java5起, Java里引入了枚举类型, 其能够是值, 这些值属于enum类型。3、从Java7开始, 它是可以为字符串的, 然而长整型, 也就是long, 还有浮点数, 那便是float, 截至目前都是不被支持的。五: 存在两个对象, 分别为x、y, 当它们各自的方法呈现为true的情况时, 它们各自方法所返回的具体数值能够是不一样的, 对于这样一种表述, 它是正确的吗?这话是不对一旦x处于(y)的这般状况下时, 它们所对应的hash code同样是应当一样起来的呀 面对着和方法, Java里头存在着下面这样的规定。1、倘若存在两个对象, 这两个对象是相同的, 而这种相同是通过方法返回true来体现的, 那么这两个对象它们的值必然得是相同的。2、要是两个对象存在相同之处, 然而它们不见得就是相同的, 仅仅能够表明, 在散列存储结构里, 这两个对象会被放置于同一个相同的位置上, 是这样的情况。3、假如违背了上述两点所规定的规范, 那么在运用容器之时, 于Set集合当中有可能出现相同的对象, 增添元素的效率将会大幅降低, 频繁出现的哈希冲突会致使性能大幅降低。追问1: 重写方法应该注意哪些事项若对一个对象的方法进行了重写, 那便一定要对这个对象的方法予以重写, 其目的在于确保方法相同之对象具备相同的, 《Java》书籍当中记载重写要求留意以下事项:。1、自反性: 针对非空的x,使用x.(x)应该返回true2、对称性: 对于x以及y而言, 要是x针对y的某种情况为true, 那么y针对x的同样的那种情况也同样必须是true。3、传递性, 对于存在的x、y、z而言, 当x.(y)为True, 并且y.(z)也为True时, 那么x.(z)同样应该是true。4、一种一致性的情况是, 要是比较的对象没有出现改变的状况, 那么反复去调用方法, 这种反复的调用就应当返回相同的结果, 是这样的一种规范。5、对于任意的非空x,x.(null)应该返回false追问2: 重写方法应该大概包含哪些内容一个好的方法重写应该具有以下的特点:1、使用操作符检查”,判断参数是否为这个对象的引用”2、使用操作符检查”参数是否为正确的类型”3、面对类里头的关键属性, 核查参数传入对象的属性是不是跟它相匹配。4、进行完方法的编写之后, 需要去判定它能不能够符合自反性, 以及对称性, 还有传递性, 并且是一致性。6、重写时总是要重写7、不要把方法参数里的对象换成旁的类型, 重写之际别忘掉注解。小结没有积累一步一步的脚步, 就无法到达千里之远的地方没有汇聚一点点的小水流, 就没办法形成江海。在今天播下努力的种子, 总有那么一天会生长发芽。众人前来关注, 若觉文章对你有益处, 切莫忘却实行一键三连做法, 你的鼎立支持乃是促使我创作出更具品质文段的激励动能, 期望诸位人均能早日获取到心之所仪的录用通知, 要是遭逢任何面试相关难题是可以给我发送私信, 民众投递给我面试题目也是备受欢迎