【Java】java不可不知的22个知识点

1.java默认浮点型为double型,所以需加"f或F"或强制转型

float num=3.14159f

2.float浮点型基本类型计算不精确

3-2.6==0.4->false
3-2.6=0.399999....
可用高精度数字计算类BigDecimal解决

3.位运算是乘以2的倍数最快的计算方法

int value=2<<4 
//2乘以2的4次方

4.&与&&的区别

'&':位与运算符 对数进行运算
"&&":逻辑与运算符 对表达式进行运算

5.整数默认为int型,浮点数默认为double型
不同类型数值进行运算,结果为精度最高的类型

double num=3+3.14;//可以
int num=3+3.14//需强制转型

6.形参实参问题

基本数据类型在传参时是值传递
引用类型在传参时是引用传递(对象,数组...)
String有点特殊,可以当作值传递理解

7.java采用Unicode编码,2字节表示一个字符

'a'的ASCII编码的二进制数据形式为01100001
Unicode字符编码的数据形式为00000000 01100001
'd'==100;//true
"d"==100;//false

8.java类都继承Object类

Object.equals通常比较两个引用是否指向内存中的同一个对象
所以String重写equals比较两者内容是否相等

9.如何创建Class对象?
Class也是一种类,各种name.class其实是它的实例化对象


 - Class c=Class.forName("java.lang.String");//通过类的完整路径获取Class对象
 
 - Class c=String.class;//通过类的class属性得到Class对象

 - Student stu=new Student();//通过类的实例调用getClass方法得到
 Class c=stu.getClass();

10.分割字符串

String[] split=text.split("");//将每个字符分离出来成为字符串数组
text.charAt[];//索引字符

11.java为什么要出现包装类?

面向对象特点 :使基本数据类型赋予类和对象的特性,方便增加修改其中方法.

12.String类型不能继承,定义为final的类不能被继承
13.线程安全与非线程安全的区别:

线程安全:多个线程访问资源时,会将资源锁住,等待线程结束,其他线程才能访问.
ps:非线程安全比线程安全效率高,估计是省了上锁时间.

14.replace(charsequence oldChar,charsequence newChar)与replaceAll(String regex ,String replacement)区别.
前者为匹配字符或字符串
后者为匹配正则表达式

String s="Hello.wolrd";
print (s.replace(".","/"));//=>"Hello/world"
print (s.replaceAll(".","/"));//=>"//"变成全是'/'

15.ArrayList和LinkedList的区别?

ArrayList  相当于数构中的线性表,底层使用数组来储存元素。适合快速取得指定位置的元素,但删除元素时,后面元素必须全部向前移动一位。
LinkedList  相当于数构中的链表,底层使用对象来保存元素,适合增加和删除,获取指定元素时,需从头开始遍历。

16.TreeSet是Set接口中唯一实现排序的实现类。

17.Map类似于数学中的函数,Set类似集合

18.Collections工具类是为Collection接口及其实现类提供附加操作。

19.方法内部有throws Exception ,就需要在调用此方法时使用try…catch捕捉异常

20.释放资源时应该遵循先打开后释放的原则

例:先打开输入流,再打开输出流,就需要先关闭输出流,后关闭输入流

21.字符流和字节流的区别?

字符流多用于文本文件(按字符字节数大小读取)
字节流多用于二进制文件(按数据类型字节数大小读取)

22.泛型不支持协变

List<Object> a=new List<Integer> ;//编译不通过
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 八股文知识点Java 学习过程中比较基础和重要的知识点,也是在面试过程中常会被问到的问题。 1. Java 基础语法 Java 基础语法包括数据类型、变量、运算符、流程控制、方法等。学习 Java 编程的第一步就是要掌握这些基础语法知识。 2. 面向对象编程 Java 是一种面向对象的编程语言,因此掌握面向对象编程的基本概念和技术是非常重要的。比如类、对象、封装、继承、多态等。 3. 异常处理 在 Java 编程中,异常处理是必不可少的。学习 Java 八股文之前,需要掌握异常的基本概念和处理机制。 4. 集合类 Java 提供了大量的集合类库,包括 List、Set、Map 等。这些集合类能够方便快捷地存储和操作数据。Java 八股文中通常会对集合类的使用和操作技巧进行考察。 5. IO 流 Java 中的 IO 流提供了对输入和输出的支持。掌握 IO 流的使用方法是 Java 编程的必备技能。 6. 多线程 多线程编程是 Java 开发中的一个重要部分。Java 八股文中经常会出现多线程相关的考题,需要掌握线程的创建、同步、协作等技术。 7. JDBC 数据库操作 Java 提供了 JDBC API 来操作数据库。学习 JDBC 数据库操作是掌握 Java 后端开发的必备技能。 总体来看,Java 八股文通常会涉及到 Java 基础语法、面向对象编程、异常处理、集合类、IO 流、多线程和 JDBC 数据库操作等方面的知识。掌握这些知识有助于我们更好地理解和应用 Java 编程语言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值