博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
错题笔记【一】
阅读量:4206 次
发布时间:2019-05-26

本文共 3369 字,大约阅读时间需要 11 分钟。

【前言】今天做了几道题,难度是最小的,但是还是错了很多。我认为这是平时自己对基础知识点的疏忽,和不关心所导致的。当然,这也是我自己能力的一部分。对此,我认识到自己的不足,希望现在正迈入编程的你,也能以此为戒,好好学习,认真钻研每一个小的知识点。

【易错题】

1、除8种基本数据类型int  short  long  float  double  char  byte  boolean外,在java中其他均为引用类型(包括数组和枚举)

自动转换:byte-->short-->int-->long-->float-->double  

整数类型(4)

 byte  8 位

-128~127 

short  16 位

-32768 ~ 32767

int 32位

-2^31-1~2^31

long  64位

 

浮点数类型(2)

float  32 位

1 位符号位,8 位指数,23 位有效尾数

double  64 位

1 位符号位,11 位指数,52 位有效尾

   
字符类型(1)

char 16 位

是整数类型

0~2^16-1 

     
布尔类型(1)

boolean

true 真 

false 假

     

 2、问:在不改变元素的显示属性的情况下,元素都是可以设置宽度的,并且能够设置成功,这句话是否正确?

答:链接:来源:牛客网

在CSS中,html中的标签元素大体被分为三种不同的类型: 块状元素、内联元素(又叫行内元素)和内联块状元素。 

常用的块状元素有:

 <div>、<p>、<h1>…<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

 什么是块级元素? 

在html中<div>、<p>、<h1>、<form>、<ul>和<li>就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。 a{display:block;} 

块级元素特点:

 1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行);

 2、元素的高度、宽度、行高以及顶和底边距都可设置。

 3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。 

常用的内联元素有: 

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code> 在html中,<span>、<a>、<label>、<strong> 和<em>就是典型的内联元素(行内元素)(inline)元素。

当然块状元素也可以通过代码display:inline将元素设置为内联元素。如下代码就是将块状元素div转换为内联元素,从而使div 元素具有内联元素特点。

 div{ display:inline; } ...... <div>我要变成内联元素</div> 

内联元素特点: 

1、和其他元素都在一行上; 

2、元素的高度、宽度及顶部和底部边距不可设置; 

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。 

常用的内联块状元素有:

 <img>、<input>

 内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。

inline-block 元素特点: 

1、和其他元素都在一行上; 

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、重写、重载

重载:OverLoad  同名不同参,返回值无关。

1  同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载 

2  参数列表不同指参数的类型,参数的个数,参数的顺序至少一项不同 

3   方法的返回值类型,方法的修饰符可以不同。

4   可以抛出不同的异常 

重写:Override  同名同参 

1.父类中被final修饰的方法不能被重写

2.子类的重写方法不能比父类的被重写方法有更严格的访问级别,但可以更广泛。也就是 子类覆盖方法的访问权限必须大于等于 父类被重写方法的访问权限

3.方法名必须一样

4.参数列表必须一样。

5.返回值类型必须一样

6.重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。 

7.如果一个方法不能被继承,则不能重写它。最典型的例子为,被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

8.如果想调用父类被覆盖的方法,用super关键字调用

4、在java中,已定义两个接口B和C,要定义一个实现这两个接口的类

答:class A implements B,C

5、关于访问权限:public、protected、default、private

答:private 权限限于同一个类中; default 权限限于同一个包中,即包权限=default权限; protected权限限于同一个包中,以及不在同一个包中的子类 public 权限在不同包中都可以(public>protected>default>private)

6、display:none是元素完全看不见,不占据内存空间,跟dom结构有联系,会产生回流和重塑,visibility:hidden是指元素看不见,但确实存在,占据空间,与dom结构无关,故只产生重塑。

7、

Integer s=new Integer(9);

Integer t=new Integer(9);

Long u=new Long(9);

知识点一:Integer a = 9 它的内部就是这样的:   Integer i = Integer.valueOf(9);

而valueOf方法内部会去取缓存(默认范围 [-128, 127]) ,不会创建新对象。

知识点二:

  • int和int之间,用==比较,肯定为true。基本数据类型没有equals方法
  • int和Integer比较,Integer会自动拆箱,== 和 equals都肯定为true
  • int和new Integer比较,Integer会自动拆箱,调用intValue方法, 所以 == 和 equals都肯定为true
  • Integer和Integer比较的时候,由于直接赋值的话会进行自动的装箱。所以当值在[-128,127]中的时候,由于值缓存在IntegerCache中,那么当赋值在这个区间的时候,不会创建新的Integer对象,而是直接从缓存中获取已经创建好的Integer对象。而当大于这个区间的时候,会直接new Integer。 

    当Integer和Integer进行==比较的时候,在[-128,127]区间的时候,为true。不在这个区间,则为false 
    当Integer和Integer进行equals比较的时候,由于Integer的equals方法进行了重写,比较的是内容,所以为true

  • Integer和new Integer : new Integer会创建对象,存储在堆中。而Integer在[-128,127]中,从缓存中取,否则会new Integer. 

    所以 Integer和new Integer 进行==比较的话,肯定为false ; Integer和new Integer 进行equals比较的话,肯定为true

  • new Integer和new Integer进行==比较的时候,肯定为false ; 进行equals比较的时候,肯定为true 

    原因是new的时候,会在堆中创建对象,分配的地址不同,==比较的是内存地址,所以肯定不同

  • 装箱过程是通过调用包装器的valueOf方法实现的 

    拆箱过程是通过调用包装器的xxxValue方法实现的(xxx表示对应的基本数据类型)

  • 总结:Byte、Short、Integer、Long这几个类的valueOf方法实现类似的。所以在[-128,127]区间内,==比较的时候,值总是相等的(指向的是同一对象),在这个区间外是不等的。 

    而Float和Double则不相等, Boolean的值总是相等的

转载地址:http://lrxli.baihongyu.com/

你可能感兴趣的文章
【转载】【C语言】浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t
查看>>
【转载】yum update 自动忽略内核更新
查看>>
【maven】打包jar上传到服务器运行
查看>>
关闭centos wayland
查看>>
【Error】chsh: PAM: Authentication failure
查看>>
【Error】zsh历史记录丢失
查看>>
解析漏洞总结
查看>>
有趣的二进制 读书笔记
查看>>
记一次vmware磁盘扩容part2:真正扩展根目录
查看>>
【Error】zsh: corrupt history file /home/myusername/.zsh_history
查看>>
记一次编译linux 2.6 和4.10内核源码
查看>>
【Error】couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) [duplicate]
查看>>
qemu 文件系统制作:自己制作根目录和应用程序 + busybox
查看>>
关闭CSDN广告必备插件:adblock plus
查看>>
【pwnable.kr】fd
查看>>
【pwnable.kr】 collision
查看>>
【pwnable.kr】bof
查看>>
【pwnable.kr】flag
查看>>
【pwnable.kr】 passcode
查看>>
【pwnable.kr】input
查看>>