当前位置: 首页 > news >正文

用c 做网站在Linux上今日头条武汉最新消息

用c 做网站在Linux上,今日头条武汉最新消息,朝阳做网站,黄村网站建设费用文章目录 1.Java面向对象有哪些特征?2.ArrayList和LinkedList有什么区别?3.Java接口和抽象类有哪些区别?4.hashcode和equals如何使用?5.try-catch6.局部变量和实例变量7.String、StringBuffer、StringBuilder 的区别?8…

文章目录

  • 1.Java面向对象有哪些特征?
  • 2.ArrayList和LinkedList有什么区别?
  • 3.Java接口和抽象类有哪些区别?
  • 4.hashcode和equals如何使用?
  • 5.try-catch
  • 6.局部变量和实例变量
  • 7.String、StringBuffer、StringBuilder 的区别?
  • 8.串池

1.Java面向对象有哪些特征?

答:三大特征——> 封装(增加代码的复用性),继承(增加代码的复用性),多态(增加代码的可移植性,健壮性,灵活性)。

2.ArrayList和LinkedList有什么区别?

答:ArrayList底层原理是数组LinkedList底层原理是链表,在需要插入和删除数据的时候使用LinkedList更快,在读取数据的时候利用ArrayList底层的索引查询起来更快。

3.Java接口和抽象类有哪些区别?

答:

1.抽象类中可以定义构造器,接口不行
2.抽象类中可以有抽象方法和具体方法,但是接口中方法只有抽象方法
3.接口中成员全是public的,而抽象中的成员可以是private和其他任意的
4.抽象类中可以定义成员变量,接口中只能定义的成员变量实际上都是常量
5.一个类只能继承一个抽象类但可以实现多个接口

4.hashcode和equals如何使用?

答:hashcode的底层原理是根据数组存储数据的,然后根据HashMap其中的key通过hashcode方法计算出key对应的码值,根据码值存储数据,相同的key对应的码值相同,这时候就会实现追加数据,而追加数据的时候会用到equals方法进行比较,不同的数据就以链表的形式追加在后面

5.try-catch

答:当Java程序中执行try-catch时遇到了retrun语句或者throw语句,会导致立即结束——>如果有finally的话,只有当finally块执行完结束后,再回来执行try-catch中的return;如果finally中也有return的话,那么finally执行完后就不会再返回try-catch中的return了

例题一:
在这里插入图片描述
例题二:
在这里插入图片描述

总结
1、不管有木有出现异常,finally块中代码都会执行;
2、当try和catch中有return时,finally仍然会执行;
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
举例:

情况1:try{} catch(){}finally{} return;
显然程序按顺序执行。

情况2:try{ return; }catch(){} finally{} return;
程序执行try块中return之前(包括return语句中的表达式运算)代码;
再执行finally块,最后执行try中return;
finally块之后的语句return,因为程序在try中已经return所以不再执行。

情况3:try{ } catch(){return;} finally{} return;
程序先执行try,如果遇到异常执行catch块,
有异常:则执行catch中return之前(包括return语句中的表达式运算)代码,再执行finally语句中全部代码,
最后执行catch块中return. finally之后也就是4处的代码不再执行。
无异常:执行完try再finally再return.

情况4:try{ return; }catch(){} finally{return;}
程序执行try块中return之前(包括return语句中的表达式运算)代码;
再执行finally块,因为finally块中有return所以提前退出。

情况5:try{} catch(){return;}finally{return;}
程序执行catch块中return之前(包括return语句中的表达式运算)代码;
再执行finally块,因为finally块中有return所以提前退出。

情况6:try{ return;}catch(){return;} finally{return;}
程序执行try块中return之前(包括return语句中的表达式运算)代码;
有异常:执行catch块中return之前(包括return语句中的表达式运算)代码;
则再执行finally块,因为finally块中有return所以提前退出。
无异常:则再执行finally块,因为finally块中有return所以提前退出。
最终结论:任何执行try 或者catch中的return语句之前,都会先执行finally语句,如果finally存在的话。
如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,
编译器把finally中的return实现为一个warning。

6.局部变量和实例变量

实例变量:就是我们的全局变量,它是默认初始化的,有默认值

局部变量:形参这种,必须要初始化
在这里插入图片描述

7.String、StringBuffer、StringBuilder 的区别?

答:
1.String是不可类型的字符串,StringBuffer和StringBuilder是可变类型的字符串。(地址不变的情况下内容无法改变,如果要改变字符串内容的话,是要改变字符串所指向的地址的,后两者的源码中有自动扩容功能,如果要加内容的话直接在数组后面加就好了,空间不够的话会自动扩容,地址不会改变)
2.在这里插入图片描述
总结:
1.操作少量的数据: 适用 String
2.单线程操作字符串缓冲区下操作大量数据: 适用 StringBuilder
3.多线程操作字符串缓冲区下操作大量数据: 适用 StringBuffer

8.串池

一般都是问new Strng(“abc”)创建几个对象这种,我统一来说说

String s=“abc”: 通过字面量赋值创建字符串。则将栈中的引用直接指向该字符串,如不存在——>则在常量池中生成一个字符串,再将栈中的引用指向该字符串(创建0-1个对象)

String s=“a”+“bc”: 编译阶段会直接将“a”和“bc”结合成“abc”,这时如果方法区已存在“abc”,则将s的引用指向该字符串,如不存在,则在方法区中生成字符串“abc”对象,然后再将s的引用指向该字符串

String s=“a”+new String(“bc”): 像new的话会先在串池中看有没有,没有就在串池中来一个对象,然后再在堆中创建一个,并且引用指向堆中的——>(创建1-2个对象)
**String s = “a” + new String(“bc”)😗*栈中先创建一个"a"字符串常量,再创建一个"bc"字符串常量,编译阶段不会进行拼接,在运行阶段拼接成"abc"字符串常量并将s的引用指向它,效果相当于String s = new String(“abc”),只有’+'两边都是字符串常量才会在编译阶段优化

在这里插入图片描述
1、两个new Integer()变量比较,永远是false
因为new生成的是两个对象,其内存地址不同

2、Integer变量 和 new Integer() 变量比较 ,永远为 false
因为 Integer变量 指向的是java常量池中的对象,而 new Integer() 的变量指向堆中新建的对象,两者在内存中的地址不同。

3、两个Integer 变量比较,如果两个变量的值在区间-128到127 之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为 false
java对于-128到127之间的数,会进行缓存。 所以 Integer i = 127 时,会将127进行缓存,下次再写Integer j = 127时,就会直接从缓存中取,就不会new了。

4、int变量与 Integer、new Integer()比较时,只要两个的值是相等的,则为true.
因为包装类Integer 和 基本数据类型int 比较时,java会自动拆包装为int ,然后进行比较,实际上就变为两个int变量的比较。

http://www.shuangfujiaoyu.com/news/19081.html

相关文章:

  • 邯郸网站开发seo01
  • 免费seo网站推荐一下如何让自己的网站快速被百度收录
  • 外墙设计装修效果图软件seo网站优化
  • 做网站服务器什么配置自动外链发布工具
  • 页面设计升级访问曹操seo博客
  • 重庆cms建站系统友情链接交换平台免费
  • 大尺度做爰后入网站友情链接英文
  • 虎门手机网站建设百度电脑版下载官网
  • 免费做微信链接的网站吗如何在网上做销售推广
  • 网站开发人员叫什么seo优化设计
  • b2b电子商务网站对比百度非企渠道开户
  • 简述如何对网站进行推广?如何让网站被百度收录
  • 搜狐员工做网站的工资多少钱沈阳cms模板建站
  • 医疗软件网站建设公司成都推广团队
  • 站长之家pingseo内容优化是什么意思
  • 哈尔滨网站制作招聘杭州seo博客有哪些
  • 济宁市做网站的公司发布任务注册app推广的平台
  • 海口有做棋牌娱乐网站的吗推广普通话手抄报一等奖
  • 如何做网站搜索排名北京seo公司
  • 国外对于网站开发信息流广告投放
  • phpcmsv9手机网站开发新闻发布会稿件
  • 秦皇岛网站建设seo磁力吧ciliba
  • 做自主外贸网站和后台费用多少百度贴吧入口
  • java做网站评论怎么做百度网盘客户端下载
  • 什么网站可以做试题b站推广形式
  • 电子书新手学做网站长沙seo网站排名优化公司
  • 铭做网站建设优化大师免费安装下载
  • 网络推广企业网站推广策划书重庆今天刚刚发生的重大新闻
  • 丰镇市网站电商平台链接怎么弄
  • 石家庄有什么好玩的地方图片优化网站