java基本知识点总结

Java编程语言是面向对象的,处理的最小的完整单元为对象。而现实生活中具有共同特性的对象的抽象就称之为类。以下是java基本知识点总结,欢迎阅读

java基本知识点总结

  是什么?java的运行机制

Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的 编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

关于java名字的由来还有一个小趣闻,java创建之初的一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,这个提议得到了其他人的赞同,于是,Java这个名字就这样传开了。原来看SUN的JAVA标识没去多想,现在看看,这不就是一杯正冒着热气的咖啡吗?

JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。

在JVM这个大类中,我认为需要掌握的知识有:

内存模型和结构

原理,性能调优

3.调优:Thread Dump, 分析内存结构

s 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程

5.方法执行过程

各个大版本更新提供的新特性(需要简单了解)

  2. java变量

在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:

Java语言支持的变量类型有:

类变量:独立于方法之外的变量,用 static 修饰。

实例变量:独立于方法之外的变量,不过没有 static 修饰。

局部变量:类的方法中的变量。

  3. 数据类型

这条没有什么好多说的,无非就是Java中的基本类型和对象类型的掌握。可以再了解一些JDK如何自动转换方面的知识,包括装箱拆箱等,还要注意避免装箱之后的类型相等的判断

主要知识点:

基本类型: int, long, float, double, boolean

对应的对象类型: Integer 等类型到基本类型的转换, 装箱和拆箱

Object类型: equals, hashcode

String 类型的特点

  4. 运算符

Java的运算符,分为四类:

算数运算符、关系运算符、逻辑运算符、位运算符。

算数运算符(9):+ - * / % ++ --

关系运算符(6):== != > >= < <=

逻辑运算符(6):&& || ! ^ & |

位运算符(7):& | ~ ^ >> << >>>

逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。

  5. 数据类型转换

在实际的使用中,经常需要在不同类型的值之间进行操作,这就需要一种新的语法来适应这种需要,这个语法就是数据类型转换。

Java 语言中的数据类型转换有两种:

自动类型转换:编译器自动完成类型转换,不需要在程序中编写代码。

强制类型转换:强制编译器进行类型转换,必须在程序中编写代码。

由于基本数据类型中 boolean 类型不是数字型,所以基本数据类型的转换是出了 boolean 类型以外的其它 7 种类型之间的转换。下面来具体介绍两种类型转换的规则、适用场合以及使用时需要注意的问题。

自动类型转换

自动类型转换,也称为隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换,由于实际开发中这种类型转换很多,所以java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。

转换规则:从存储范围小的类型到存储范围大的类型。

具体规则为:byte→short(char)→int→long→float→double

也就是说 byte 类型的变量可以自动转换为 short 类型,示例代码:

short sh = b;这里在赋值时,JVM 首先将 b 的值转换为 short 类型,然后再赋值给 sh。

在类型转换时可以跳跃。示例代码:

注意问题: 在整数之间进行类型转换时,数值不发生改变,而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。

强制类型转换

强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。

转换规则:从存储范围大的类型到存储范围小的类型。

具体规则为:double→float→long→int→short(char)→byte

语法格式为:(转换到的类型)需要转换的值

示例代码:

  6. 条件结构

(1)单独的 if

顾名思义,if 的中文意思是"如果" 表示判断;即有选择、就会有判断条件,所以由 if 组成的语句块称为条件结构。

执行原理:先判断条件表达式是否为真(即是否成立),表达式为真则执行花括号{ }之间的.语句,否则不执行。

细节注意:不管表达式如何复杂,其结果必须为boolean类型的值,即要么是true、要么是false,而不能是其他值

(2)if---else结构

用于涉及两个分支的选择问题

执行原理:先判断表达式是否为true、为true则执行 if 的语句体,否则就执行else的语句体。

(3)条件结构中的多分支选择语句:switch-----case

执行流程:先计算表达式的值,然后和case后面的常量匹配,如果相同,就执行对应的语句 否则执行default控制的语句

注意事项:

判断条件语句 无论简单还是复杂 结果必须是boolean

  7. 循环结构

(1)do-while循环

执行流程:

1. 执行初始化语句

2. 执行循环体语句

3. 执行控制条件语句

4. 执行判断条件语句

如果是true 就继续循环执行

如果是false 就结束循环

5. 回到2继续

(2). for循环

执行流程:

1. 初始化语句

2. 判断条件语句

true --> 循环体

false -->结束循环

3. 执行循环体

4. 控制条件语句

5. 回到2继续

注意事项:

循环体语句如果是一条语句,花括号可以省略,如果是多条语句,就不可以省略 建议永远不要省略。

当然,最重要的还是避免死循环。

  8. 面向对象编程的概念

这是一个Java的核心概念,对于任何Java开发者都需要熟练掌握。Java中很多特性或者说知识点都是和Java面向对象编程概念相关的。在我的理解,一个好的开发者不仅仅需要了解这些特性(知识点)本身,也更需要知道这些对象在Java的面向对象编程概念中是如何体现出来的,这样更有利于开发者掌握Java这门开发语言,以及其他面向对象编程的语言。在这里只是简单罗列了一下,主要的知识点包括有:

面向对象三大特性:封装,继承,多态; 各自的定义概念,有哪些特性体现出来,各自的使用场景

静态多分派,动态单分派的概念

重载的概念和使用

继承:接口多实现,基类单继承

抽象,抽象类,接口

多态:方法覆盖的概念和使用

接口回调

  9. 接口

接口是java语言中的一个引用类型,和类一样,接口可以包含常量,方法签名,默认方法,静态方法和嵌套类型。含有方法主体的只有其中的默认方法和静态方法。接口不能被实例化,它们只能被类实现或者被其他接口继承。

接口的声明部分包含修饰词,关键词interface,接口名称,extends关键词+由逗号分隔开的继承接口名称(可有可无),和一个接口主体,如下例所示:

以上也只是简单介绍了下我对于这些Java基本知识点和技术点的一些看法和介绍, 这些内容都源自于我这些年来使用Java的一些总结, 希望给刚刚接触Java, 或者打算从Java开发的人一些经验, 希望能够更有效率地学习和使用Java, 避免走了弯路浪费了宝贵的时间。这当中还有些内容不够完善的地方,会通过以后的文章再添加上。由于个人能力有限,当然其中也会有些错误和疏漏,欢迎指正,一起讨论,共同来把这篇文章再完善下,希望它可以真正帮助到有需要的人。