当前位置:网站首页 > Java基础 > 正文

java基础13



一、Java基础

1、JDK 和 JRE 有什么区别?

JDK是面向开发人员,是java的开发工具包,包含各种类库和工具。提供了Java的开发环境和运行环境。
JRE是面向程序员使用,核心内容就是JVM及核心类库。
参考连接:https://blog.csdn.net/_/article/details/

2、== 和 equals 的区别是什么?

equals()是Object中的方法。== : 是操作符。
equals() 用来检测两个对象是否相等 ;== 用于比较引用和基本数据类型具有不同的功能.
运行角度上,equals() 运行速度比 == 慢,因为 == 只是比较引用。

equals():
自反性:对任意引用值X,x.equals(x)的返回值一定为true
对称性:对于任何引用值x,y,当且仅当y.equals(x)返回值为true时,x.equals(y)的返回值一定为true
传递性:如果x.equals(y)=true, y.equals(z)=true,则x.equals(z)=true
一致性:如果参与比较的对象没任何改变,则对象比较的结果也不应该有任何改变
非空性:任何非空的引用值X,x.equals(null)的返回值一定为false

== :
比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。
比较的是操作符两端的操作数是否是同一个对象。

源码展示:

 
 

3、两个对象的 hashCode()相java基础13同,则 equals()也一定为 true吗?
不一定.
类hashCode(), equals()都可以重写,返回值完全在于自己定义。hashCode()返回该对象的哈希码值;equals()返回两个对象是否相等。
一般规则:
a、两个对象用equals()比较返回true,那么两个对象的hashCode()方法必须返回相同的结果。
b、两个对象用equals()比较返回false,不要求hashCode()方法也一定返回不同的值,但是最好返回不同值,以提高哈希表性能。
c、重写equals()方法,必须重写hashCode()方法,以保证equals方法相等时两个对象hashcode返回相同的值。

4、Math库中方法
System.out.println(Math.round(-11.5)); //-11

 

5、基本数据类型

 

6、a = a + b 与 a += b 的区别

+= 隐式的将加操作的结果类型强制转为持有结果的类型。a + b 操作会将a,b提升为int类型,然后将int类型赋值给a,假如a不是int 类型,可能会出现编译错误。但是 += 操作是没问题的。

 

参考连接:https://blog.csdn.net/doujinlong1/article/details/

7、32 位和 64 位的 JVM,int 类型变量的长度是多数?

8、反码,补码,原码,位符号运算

原码:符号位加上真值的绝对值,即第一位表示符号位,其余位表示值。
反码:正数的反码是其本身。负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
补码:正数的补码是其本身。负数的补码是在其原码的基础上,符号位不变,其余各个位取反,然后加1.

关于浮点型的二进制表示参考连接: https://blog.csdn.net/shuangchen/article/details/

位运算:

 

9、字符型常量和字符串常量的区别

a、形式上:
字符常量是单引号引起的一个字符,字符串常量是双引号引起的若干个字符
b、含义上:
字符常量相当于一个整形值(ASCII值),可以参加表达式运算,字符串常量代表一个地址值(该字符串在内存中存放位置)
c、占内存大小:
字符常量只占一个字节字符串常量占若干个字节(至少一个字符结束标志)

  • 上一篇: java基础专业术语
  • 下一篇: java基础114讲
  • 版权声明


    相关文章:

  • java基础专业术语2025-04-26 11:02:02
  • java基础自学网站2025-04-26 11:02:02
  • java程序设计基础教程 下载2025-04-26 11:02:02
  • java基础学词2025-04-26 11:02:02
  • java 项目基础2025-04-26 11:02:02
  • java基础114讲2025-04-26 11:02:02
  • 黔江java基础2025-04-26 11:02:02
  • leetcode基础题java2025-04-26 11:02:02
  • java应聘基础2025-04-26 11:02:02
  • java核心基础练习2025-04-26 11:02:02