< summary>java第一阶段小结复习(思维导图)

一、java基础部分思维导图:
在这里插入图片描述
1、第一章思维导图
在这里插入图片描述
必背知识点
1.1.1
程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合.
1.1.2
java重要特点:
1) Java 语言是面向对象的(oop)
2) Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证 。
3) Java 语言是跨平台性的。[即: 一个编译好的.class 文件可以在多个系统下运行,这种特性称为跨平台]。
4) Java 语言是解释型的。
解释性语言:javascript,PHP, java 编译性语言: c / c++ 区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行, 编译性语言, 编译后的代码, 可 以直接被机器执行, c /c++

1.1.3
Java 虚拟机基本介绍

  1. JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中.
  2. 对于不同的平台,有不同的虚拟机。
  3. Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
    1.1.4
  4. JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)
  5. JRE = JVM + Java SE 标准类库(java 核心类库)
  6. 如果只想运行开发好的 .class 文件 只需要 JRE
    1.1.5
    为什么要配置 path?
    当前执行的程序在当前目录下如果不存在,win10系统会在系统中已有的一个名为path的环境变量指定的目录中查找。
    1.1.6
    配置path的步骤
    1.我的电脑–属性–高级系统设置–环境变量
    2.增加JAVA_HOME环境变量,指向jdk的安装目录d:\program\hspjdk8
    3.编辑path环境变量,增加%JAVA HOME%\bin
    4.打开DOS命令行,任意目录下敲入javac/java。如果出现javac的参数信息,配置成功。

第二章思维导图

在这里插入图片描述
必背知识点
2.1.1
变量相当于内存中一个数据存储空间的表示.

2.1.2
1.变量表示内存中的一个存储区域[不同的变量,类型不同,占用的空间大小不同,比如: int 4个字节,double 就是8个字节,先有基本印象,后面说字节]
2.该区域有自己的名称[变量名]和类型[数据类型]
3.变量必须先声明,后使用,即有顺序
4.该区域的数据/值可以在同一类型范围内不断变化
5.变量在同一个作用域内不能重名
6.变量=变量名+值+数据类型,这一点请大家注意。变量三要素

2.1.3

  1. java 数据类型分为两大类 基本数据类型, 引用类型
  2. 基本数据类型有 8 种 数值型 [byte , short , int , long , float ,double] 字符型char , 布尔型 boolean
  3. 引用类型 [类,接口, 数组]

2.1.4

  1. 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
  2. 尾数部分可能丢失,造成精度损失(小数都是近似值)。

2.1.5
当我们对运算结果是小数的进行相等判断时,要小心 ,应该是以两个数的差值的绝对值,在某个精度范围类判断。(2.7 与 8.1 / 3比较)

2.1.6
char 类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode 码.
2.1.7
数据类型按精度(容量)大小排序为
Ⅰ char -> int -> long -> float -> double
Ⅱ byte -> short -> int -> long -> float -> double

2.1.8
自动类型转换注意和细节
1.有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
2.当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。
3. (byte, short)和char之间不会相互自动转换。
4. byte, short, char他们三者可以计算,在计算时首先转换为int类型
5. boolean不参与转换
6.自动提升原则:表达式结果的类型自动提升为操作数中最大的类型

第三章思维导图

在这里插入图片描述
必背知识点
3.1.1

标识符概念
1.Java 对各种变量、方法和类等命名时使用的字符序列称为标识符
2.凡是自己可以起名字的地方都叫标识符int num1 = 90;
标识符的命名规则(必须遵守)
1.由26个英文字母大小写,0-9,或$组成
2.数字不可以开头。
3.不可以使用关键字和保留字,但能包含关键字和保留字。(不确定时加_)
4.Java中严格区分大小写,长度无限制。标识符不能包含空格。

3.1.2
对于整数,有四种表示方式: 二进制:以 0b 或 0B 开头。 十进制: 八进制: 以数字 0 开头表示。 十六进制: 以 0x 或 0X 开头表示。

3.1.3
原码、反码、补码
对于有符号的而言:
1.二进制的最高位是符号位:0表示正数,1表示负数。
2.正数的原码,反码,补码都一样(三码合一)。
3.负数的反码=它的原码符号位不变,其它位取反。
4、负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1。
5.0的反码,补码都是0。
6. java没有无符号数,换言之,java中的数都是有符号的。

7. 在计算机运算的时候,都是以补码的方式来运算的.
8.当我们看运算结果的时候,要看他的原码(重点)

第四章思维导图

在这里插入图片描述
必背知识点
4.1.1
关于switch
switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)
case子句中的值必须是常量,而不能是变量

第五章思维导图
在这里插入图片描述

必背、必会知识点

5.1.1
数组创建后,如果没有赋值,有默认值 int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
5.1.2
数组在默认情况下是引用传递,赋的值是地址。

第六章思维导图

在这里插入图片描述

必背知识点
6.1.1
从概念或叫法上看: 成员变量 = 属性 = field(字段)
6.1.2
属性如果不赋值,有默认值,规则和数组一致。
6.1.3
方法调用小结
1.当程序执行到方法时,就会开辟一个独立的空间(栈空间)
2.当方法执行完毕,或者执行到return语句时,就会返回,
3.返回到调用方法的地方
4.返回后,继续执行方法后面的代码
5.当main方法(栈)执行完毕,整个程序退出

6.1.4
同一个类中的方法调用:直接调用即可
跨类中的方法 A 类调用 B 类方法:需要通过对象名调用

6.1.5
可变参数使用细节
1)可变参数的实参可以为0个或任意多个。
2)可变参数的实参可以为数组。
3)可变参数的本质就是数组.
4)可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后
5)一个形参列表中只能出现一个可变参数

6.1.6
全局变量(属性)可以不赋值,直接使用,因为有默认值。
局部变量必须赋值后,才能使用,因为没有默认值。

6.1.7
构造器使用细节与注意事项
1.一个类可以定义多个不同的构造器,即构造器重载
2.构造器名和类名要相同
3.构造器没有返回值
4.构造器是完成对象的初始化,并不是创建对象
5.在创建对象时,系统自动的调用该类的构造方法
6.如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也叫默认构造器)
7.一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无
参构造器,除非显式的定义一下。

6.1.8
对象创建的流程分析
Person p=new Person(“小倩”,20);
流程分析(面试题)
1.加载Person类信息(Person.class),只会加载一次
2.在堆中分配空间(地址)
3.完成对象初始化[3.1默认初始化 age=0 name=null 3.2显式初始化age=90,name=null,3.3构造器的初始化 age =20, name=小倩]
4.在对象在堆中的地址,返回给p(p是对象名,也可以理解成是对象的引用)

第七章思维导图

在这里插入图片描述

7.1.1
包的本质实际上就是创建不同的文件夹/目录来保存类文件。

7.1.2
package的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有
一句package

7.1.3
. import指令位置放在package的下面,在类定义前面,可以有多句且没有顺序要求。

7.1.4
访问修饰符
在这里插入图片描述

7.1.5
只有默认的和public才能修饰类。(类只有private或者public来修饰)

7.1.6
继承注意事项与使用细节
1、子类继承了所有的属性和方法,非私有的属性和方法可以在子类直接访问, 但是私有属性和方法不能在子类直接访 问,要通过父类提供公共的方法去访问
2、 子类必须调用父类的构造器, 完成父类的初始化**
3、当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无 参构造器,则必须在子类的构造器中用 super 去指定使用父类的哪个构造器完成对父类的初始化工作,否则编译不会通过
4) 如果希望指定去调用父类的某个构造器,则显式的调用一下 : super(参数列表)
5) super 在使用时,必须放在构造器第一行(super 只能在构造器中使用)
6) super() 和 this() 都只能放在构造器第一行,因此这两个方法不能共存在一个构造器
7) java 所有类都是 Object 类的子类, Object 是所有类的基类.
8) 父类构造器的调用不限于直接父类!将一直往上追溯直到 Object 类(顶级父类)
9) 子类最多只能继承一个父类(指直接继承),即 java 中是单继承机制。

7.1.7
1、两个引用,如果指向的是同一个对象,则哈希值肯定是一样的
2、两个引用,如果指向的是不同对象,则哈希值是不一样的
3、哈希值主要根据地址号来的!,不能完全将哈希值等价于地址。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部