Java学习手册:Java基础知识点(不断扩充更新中)

本文档详尽地梳理了Java编程语言的基础知识点,涵盖了Java的特性、命名规则、运算符、数据类型、字符串处理、类与对象、异常处理、内存管理等多个方面,旨在为学习者提供全面的Java基础知识指南,内容不断更新中。
摘要由CSDN通过智能技术生成

1、Java学习手册:Java基础知识点
2、Java学习手册:Java面向对象面试问题
3、Java学习手册:Java集合、泛型面试问题
4、Java学习手册:Java并发与多线程面试问题
5、Java学习手册:Java虚拟机面试问题
6、Java学习手册:Java IO面试问题
7、Java学习手册:Java反射机制面试问题
8、Java学习手册:Java网络编程面试问题
9、Java学习手册:Java异常面试问题
10、Java学习手册:Java设计模式面试问题
11、Java学习手册:Java数据库面试问题


概述:Java与C++的不同点
不同点 Java C++
1 Java为编译型-解释型语言(程序源代码通过Java编译器编译成字节码,然后由JVM解释执行) C++为编译型语言(源代码经过编译和链接后生成可执行的二进制代码)
2 Java执行速度比C++慢,Java能够跨平台执行 C++不能跨平台执行
3 Java为纯面向对象语言,所有代码都必须在类中实现,除基本数据类型外,所有类型都是类 -
4 Java语言中不存在全局变量或全局函数(1、全局变量破坏了引用的透明性;2、全局变量制造了命名空间冲突;) C++兼具面向过程和面向对象编程的特点,可以定义全局变量和全局函数
5 Java没有指针概念,有效防止C++语言操作指针可能引起的系统问题 C++有指针的概念
6 Java语言不支持多重继承,但是Java语言引入了接口的概念,可以同时实现多个接口 C++支持多重继承
7 Java语言提供了垃圾回收器来实现垃圾的自动回收,不需要程序显式的管理内存的分配 C++需要开发人员去管理对内存的分配
8 Java语言没有析构函数,但引入了finalize()方法 C++语言会把释放资源的代码放到析构函数中
9 Java不支持运算符重载 C++语言支持运算符重载
10 Java语言没有预处理器,但提供import机制与C++预处理器功能类似 C++语言支持预处理
11 Java不支持默认函数参数 C++支持默认函数参数
12 Java不支持goto语句(Java中goto是保留关键字) C++支持goto语句
13 Java不支持自动强制类型转换,必须由开发人员显式地强制类型转换 C++支持自动强制类型转换
14 Java不包含结构和联合,所有内容都封装在类里面 C++中,结构和联合的所有成员均为公有,往往会导致安全性问题
15 Java具有平台无关性,即对每种数据类型都分配固定长度 C++中同一个数据类型在不同的平台上会分配不同的字节数
16 Java提供对注释文档的内建支持 -
17 Java提供了一些标准库,用于完成特定任务 C++则依靠一些非标准的、其他厂商提供的库

知识点

1、Java学习手册:日期操作

2、Java学习手册:正则表式

3、Java学习手册:Java中复制数组的方法

4、Java学习手册:String&StringBuffer&StringBuilder&StringTokenizer

5、Java学习手册:实例化String对象

6、Java学习手册:finally块中的代码什么时候被执行?

7、Java学习手册:final&finally&finalize

8、Java学习手册:assert

9、Java学习手册:volatile

10、Java学习手册:instanceof

11、Java学习手册:strictfp

12、Java学习手册:static

13、Java学习手册:this&super

14、Java学习手册:数组的初始化方式

15、Java学习手册:如何获取父类的类名?

16、Java学习手册:length属性&lengh()方法

17、Java学习手册:Java中数组是不是对象

18、Java学习手册:无符号左移&无符号右移&有符号右移

19、Java学习手册:break&continue&return

20、Java学习手册:长路逻辑&短路逻辑

21、Java学习手册:运算符优先级

22、Java学习手册:Java基本类型转换

23、Java学习手册:Java程序初始化的顺序

24、Java学习手册:“==”&equals&hashCode

25、Java学习手册:File类

26、Java学习手册:值传递&引用传递

27、Java学习手册:内存泄漏

28、Java学习手册:Java是否支持多继承?为什么?

29、Java学习手册:ArrayList&LinkedList&Vector

30、Java学习手册:堆内存&栈内存&方法区

31、Java学习手册:Collection&Collections

32、Java学习手册:Java锁的分类和特点

33、Java学习手册:死锁

34、Java学习手册:JVM加载class文件的原理机制

35、Java学习手册:垃圾回收(GC)

36、Java学习手册:HashMap&HashTable&TreeMap&WeakHashMap

37、Java学习手册:RandomAccessFile

38、Java学习手册:Java序列化

39、Java学习手册:TCP与UDP

40、Java学习手册:Java Socket

41、Java学习手册:Java NIO

42、Java学习手册:XML

43、Java学习手册:异常处理的原理

44、Java学习手册:Error(错误类)&Exception(异常类)

45、Java学习手册:运行时异常&检查异常

46、Java学习手册:数据库原理

47、Java学习手册:JDBC中getString()方法与getObject()方法有什么区别?

48、Java学习手册:JDBC中Class.forName的作用是什么?

49、Java学习手册:如何通过JDBC访问数据库?

50、Java学习手册:JDBC中Statement&PreparedStatement&CallableStatement

51、Java学习手册:遍历Map的五种方法

52、Java学习手册:clone方法(浅复制&深复制)

53、Java学习手册:向上造型

54、Java学习手册:不可变类

55、Java学习手册:内部类

56、Java学习手册:抽象类&接口

57、Java学习手册:多态的实现机制(重载和覆盖)

58、Java学习手册:组合&继承

59、Java学习手册:泛型

60、Java学习手册:迭代器(Iterator)

61、Java学习手册:单例模式——写出一个线程安全的单例类

62、未完待续。。。


1、Java语言是编译性-解释性语言,因为其同时具备编译性和解释性两种特性。

(1)编译性语言:只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前编译结果就可以,执行效率较高。代表语言:C、C++、Pascal等。

(2)解释性语言:源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。代表语言:Python、JavaScript、Shell、Ruby、MATLAB等。


2、Java中的程序代码可以分为结构定义语句和功能执行语句。

3、字符串连接

Java程序中一句连续的字符串不能分开在两行书写。如果为了方便阅读,想将一个太长的字符串分在两行书写,可以先将这个字符串分为两个字符串,然后用加号(+)将这两个字符串连起来,在加号(+)处断行

System.out.println("这是第一个"+
		"Java程序");

4、文档注释

文档注释是以/*开头,并在注释内容末尾以/结束。文档注释是一段代码概括性的解释说明,可以使用javadoc命令将文档注释提取出来生成帮助文档。


5、Java命名规则

(1)包名所有字母一律小写。
(2)类名和接口名每个单词的首字母要大写。
(3)常量名所有字母都大写,单词之间用下划线连接。
(4)变量名和方法名的第一个单词首字母小写,从第2个单词开始,每个单词首字母大写。(驼峰命名法)


6、取模运算

在进行取模(%)运算时,运算结果的正负取决于被取模(%左边的数)的符号,与模数(%右边的数)无关。
例:(-5) % 3 = -2, 5 % (-3) = 2


7、Static关键字

Java学习手册:static
(1)由static修饰的变量称为静态变量,也称类变量。
(2)静态变量定义位置在所有方法之外。
(3)静态变量与静态方法都是在类从磁盘加载至内存后被创建,与类同时存在,同时消亡。
(4)静态变量又称类的成员变量,在类中是全局变量,可以被类中的所有方法调用。(注:Java中不存在全局变量)
(5)静态变量的值由JVM自动初始化
整型→0,布尔型→false,浮点型→0.0,字符串型→null,字符型→Unicode编码为0的字符(该字符不可见)

static关键字只能用于修饰成员变量,不能用于修饰局部变量,否则编译会报错。

在一个静态方法中只能访问static修饰的成员,原因在于没有被static修饰的成员需要先创建对象才能访问,而静态方法在调用时可以不创建任何对象。


8、JRE与JDK

JRE(Java运行环境):为Java运行提供运行时环境,包括JVM和Java系统类库。
JDK(Java开发工具包):JDK除了包含JRE之外,还包含开发Java程序所需要的一些命令、工具。
运行一个Java程序所需的最小环境为JRE,开发一个Java程序所需的最小环境为JDK


9、Scanner类中next()与nextLine()的区别
  • 1、next()
    (1)一定要读取到有效字符之后才可以结束输入
    (2)对输入有效字符之前遇到的空白,next()方法会自动将其去掉
    (3)只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
    (4)next()不能得到带有空格的字符串
  • 2、nextLine()
    (1)以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
    (2)可以获得空白

10、String类型的值不可变(字符串内容不可更改)
public class StringDemo{
   
	public static void main(String[] args){
   
		String s1 = "Hello";
		String s2 = s1 + "World!";
		System.out.
  • 12
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值