首页 > 编程语言 >java期末细节知识整理(二)

java期末细节知识整理(二)

时间:2024-06-10 14:04:01浏览次数:28  
标签:java String 对象 StringBuffer 数据类型 细节 期末 StringBuilder 字符串

1.int这种叫基本数据类型,Integer这种叫包装类,把基本数据类型变为包装类类型的过程叫做装箱,把包装类类型变为基本数据类型的过程叫做拆箱,而其中又分为自动装箱/拆箱显示装箱/拆箱

2.next()方法一定要读取到有效字符后才可以结束输入,会自动去掉输入有效字符之前遇到的空格键,Tab键或Enter键等空白符,nextLine()方法的结束符只是Enter键,它会返回Enter键之前的所有字符

3.如果两个操作数都是整数,那么除数不能为0,但是如果两个操作数至少有一个是浮点数,那么此时允许除数为0或0.0,此时会得到Infinity(正无穷大)或-Infinity(负无穷大),而任何数对0或0.0取余得到的结果是非数NaN(Not a Number)

4.自加1或自减1运算符不能用于表达式,只能用于简单变量,例如++(x+1)就有语法错误

5.&逻辑与(非简洁运算符)和&&简介与之间的区别:&即便左边式子为false但仍然会计算右边的式子,&&只要左边式子为false就不会再计算右边的式子

6.C语言中,二维数组定义时必须有列,可以无行,而Java中,必须有行,可以无列

7.比较非对象时,==比较的是两个的地址,equals比较的是两个的内容,如果比较的是对象,那么==和equals都是比较两个对象的地址

8.<<左移右边补零,>>右移补符号位,>>>为无符号右移,左边补零,不存在<<<

9.float,double,long,boolean这四种数据类型不能作为switch类型的参数

10.foreach格式——for(type element:array){……},如果是二维数组的遍历,那么最外层foreach循环中type为一维数组

11.String s1="abc",s2="abc",这两个字符串都指向同一个地址(相当于C语言中的常量字符串,即如果原来存在一个字符串,后面又有一个字符串等于该字符串的内容,那么就不会再申请空间创建新的字符串,而是会直接指向原来存在的字符串),而String s3=new String("abc")和String s4=new String("abc"),则是两个不同的地址,因为new关键字就是创建一个新的对象、

12.String是具有不可变性的,也就是说我们String类里面的一系列修改字符串的方法的本质都是通过new创建了一个新的字符串,改变这个新对象,然后返回这个新的字符串的地址

13.String不可变的根本原因是因为其底层代码中,用于存储的字符数组被final修饰了,即该数组中的值不能被修改

14.final修饰类表示该类不能被继承,final修饰引用对象表明该引用变量不能被修改,但是引用对象指向的地址可以被改变

15.String设计成不可变的好处是:1.方便实现字符串对象池,如果String可变,那么对象池就需要考虑写时拷贝的问题了。2.不可变对象的线程是安全的。3.不可变对象更方便缓存hash code,作为key时可以更高效的保存到HashMap中

16.对String直接+=字符串这种修改方式效率非常底下,因为中间创建了好多临时对象,所以我们建议使用StringBuffer和StringBuilder

17.String,StringBuffer,StringBuilder的区别:1.String的内容不可修改,StringBuffer和StringBuilder的内容可以修改。2.StringBuffer和StringBuilder大部分功能是相似。3.StringBuffer采用同步处理,属于线程安全操作;StringBuilder未采用同步处理,属于线程不安全操作

18.静态方法不可以直接访问类中的任何成员,只能访问static成员变量或调用static成员方法

19.静态方法中不能使用this或super,因为this是代表调用该方法的对象,但静态方法不需要对象来调用,是属于整个类的。

20.无论是自定义的类,还是java内置的类,所有类均继承自Object类

标签:java,String,对象,StringBuffer,数据类型,细节,期末,StringBuilder,字符串
From: https://blog.csdn.net/2301_80369371/article/details/139400081

相关文章

  • 基于Java的银行排号系统的设计与实现参考论文
    【免费】基于Java的银行排号系统的设计与实现.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89402471基于Java的银行排号系统的设计与实现内容提要 银行排号系统是为解决一些服务业营业大厅排队问题而设计的,它能够有效地提高工作人员的工作效率,也能够使顾......
  • 离散数学-万字课堂笔记-期末考试-考研复习-北航离散数学1
    第一章逻辑语言1.1逻辑运算1.2命题逻辑合式公式1.3谓词逻辑合式公式1.4自然语言命题第二章命题逻辑语义2.1命题合式公式语义2.2推论式与等价式的语义2.3变换合式公式的语义2.4命题公式范式2.5等式演算2.6完全集第三章谓词逻辑语义3.1谓词合式公式语义3.2推论关系......
  • JavaScript prototype(原型对象)
     所有的JavaScript对象都会从一个prototype(原型对象)中继承属性和方法。在前面的章节中我们学会了如何使用对象的构造器(constructor):实例functionPerson(first,last,age,eyecolor){this.firstName=first;this.lastName=last;this.age=age;this.eye......
  • JavaScript Number 对象
     JavaScript只有一种数字类型。可以使用也可以不使用小数点来书写数字。JavaScript数字JavaScript数字可以使用也可以不使用小数点来书写:实例varpi=3.14;//使用小数点varx=34;//不使用小数点极大或极小的数字可通过科学(指数)计数法来写:实例vary=1......
  • Java 数据类型 -- Java 语言的 8 种基本数据类型、字符串与数组
    大家好,我是栗筝i,这篇文章是我的“栗筝i的Java技术栈”专栏的第004篇文章,在“栗筝i的Java技术栈”这个专栏中我会持续为大家更新Java技术相关全套技术栈内容。专栏的主要目标是已经有一定Java开发经验,并希望进一步完善自己对整个Java技术体系来充实自己的......
  • Java 程序结构 -- Java 语言的变量、方法、运算符与注释
    大家好,我是栗筝i,这篇文章是我的“栗筝i的Java技术栈”专栏的第003篇文章,在“栗筝i的Java技术栈”这个专栏中我会持续为大家更新Java技术相关全套技术栈内容。专栏的主要目标是已经有一定Java开发经验,并希望进一步完善自己对整个Java技术体系来充实自己的......
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 机场航班调度程序(100分) - 三语言A
    ......
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 最富裕的小家庭(100分) - 三语言AC
    ......
  • Java-14_网络编程
    文章目录1.网络编程概述1.1软件架构1.2网络基础2.网络通信要素2.1如何实现网络中的主机互相通信2.2通信要素一:IP地址和域名2.2.1IP地址2.2.2域名2.3通信要素二:端口号2.4通信要素三:网络通信协议2.TCP与UDP协议2.1TCP协议与UDP协议2.2三次握手2.3四次挥手......
  • Java-15_反射
    文章目录1.反射(Reflection)概念1.1反射的出现背景1.2反射概述1.3Java反射机制研究及应用1.4反射相关的主要API1.5反射的优缺点2.理解Class类并获取Class实例2.1Class2.2获取Class类的实例(四种方法)2.3哪些类型可以有Class对象2.4Class类的常用方法3.类的......