![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础知识
ydxtuu808
FICO Blaze 决策引擎专家
展开
-
hashcode
1、作用原理引用http://blog.csdn.net/seu_calvin/article/details/52094115Java中的集合有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。equals方法可用于保证元素不重复,但如果每增加一个元素就检查一次,若集合中现在已经有1000个元素,那么第1001个元素加入集合时,就要调用1000次equals方法。这显然会大大降低效率。于是,Java采用了哈希表的原理。哈希算法...转载 2021-03-09 17:02:32 · 93 阅读 · 0 评论 -
equals 和“==“的区别
根据比较类型来解释“==” 基本数据类型:比较值是否相等 引用数据类型:比较内存中的地址是否相同。 是否覆盖equals方法来解释 没有覆盖equals方法,比较对象的地址引用是否同一个地址。 覆盖了equals方法,根据具体代码确定,一般都是判断内容是否相等来判断对象是否相等。例如对象为person , 我们覆盖equals方法,规定姓名,性别,年龄相同则为对象相等。 public class Person{ private String name; private原创 2021-03-09 15:09:16 · 117 阅读 · 0 评论 -
switch...case语句
1、switch语句支持的数据类型在switch(expression)语句中,expression的数据类型不能是?A. doubleB. charC. byteD. short答案 A。原因是:switch语句支持的类型为byte、short、char、int、以及它们的包装类型。还有枚举 、string(java7)。总结下来swtich语句支持int类型理由是 byte ,short,char 都可以向上转型为int,且不损失精度。 枚举类型有ordinal方法 返原创 2021-03-09 13:52:03 · 190 阅读 · 0 评论 -
++i 与 i++
释义 ++i 表示先加在计算 i++表示先计算在加 示例 下列程序运行的结果是:101 public class Main { public static void main(String[] args) { int i = 100; while (true) { if(i++ > 100)//先计算 i=100 不满足条件 break; System.out.println原创 2021-03-09 13:48:36 · 409 阅读 · 0 评论 -
a = a+b 与 a+=b 的区别
用一个题目来分析下面程序哪个语句是正确的?A. byte a=0,b=3; byte c =a+b;B. short s =23; s=s+12;C. short s=23; s+=12;D. float f = 23+23.23;答案:c分析:A选项:两个byte相加会自动提升为int类型,原因是精度小于int的类型相加时都会自动提升为int类型。而c 为byte 需要向下强转 正确的写法为byte c =(byte) (a+b);B选项:同A,short 加 .原创 2021-03-08 17:01:53 · 414 阅读 · 0 评论 -
java变量声明
java题目:下列哪个声明是错误的?A. int i=10;B. float f=1.1;C. double d=34.4;D. byte b=127;答案是(B)。原因是:java中规定浮点类型默认为double类型,声明double类型时可以不用加d;声明单精度浮点类型 需要加入f ,即float f =1.1f 。byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。取值范围为[-128,127]...原创 2021-03-08 16:38:37 · 693 阅读 · 0 评论