Java教程

java知识点复习

本文主要是介绍java知识点复习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JDK JRE JVM

JDK:
Java标准开发包,它提供了编译、运⾏Java程序所需的各种⼯具和资源,包括Java编译器、Java运⾏时环境,以及常⽤的Java类库等。

JRE:
Java运⾏环境,⽤于解释执⾏Java的字节码⽂件。

JVM
Java虚拟机,是JRE的⼀部分。负责解释执⾏字节码⽂件,是可运⾏java字节码⽂件的虚拟计算机

区别联系:(问答题会考可能)
JDk包含JRE,JDK 和 JRE 中都包含 JVM。JDK出了包含jre还包含⼀些常⽤开发⼯具和基础类库
JDK ⽤于开发,JRE ⽤于运⾏java程序
JVM 是 java 编程语⾔的核⼼并且具有平台独⽴性

javac: 编译 java源⽂件->class字节码⽂件(0,1)
java: 解释

基本语法

在这里插入图片描述
不能以数字开头。
不能是Java中的关键字。

关键字

在这里插入图片描述
在这里插入图片描述

变量分类

按声明位置
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量

在类体内定义的变量称为成员变量,它的作⽤域是整个类
在⼀个⽅法或⽅法内代码块中定义的变量称为局部变量

注意:
类外面(与类对应的大括号外面)不能有变量的声明

方法体内部声明的变量(包括形参)称为局部变量:方法体内部是指与方法对应的大括号内部

在方法体外,类体内声明的变量称为成员变量

按所属类型
基本数据类型变量(8种)
引用数据类型变量

在这里插入图片描述
在这里插入图片描述

数据类型

在这里插入图片描述

基本类型转换:

boolean类型不可以转换为其他的数据类型

整型、字符型、浮点型的数据在混合运算中相互转换,转换规则:
容量小的类型自动转换为容量大的数据类型,数据类型按照容量大小排序为:
byte,short,char->int,->long->float->double
byte,short,char之间不会互相转换,三者在计算时首先转换为int型

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出

有多种类型的数据混合运算时,系统首先自动将所有数据类型转换为容量最大的那一种数据类型,然后在进行计算

实数常量默认为double,整数常量默认为int

数组

数组初始化
在这里插入图片描述
Java语言中声明数组时不能指定其长度

类与对象

三⼤特征:封装、继承、多态
对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体

在这里插入图片描述必须使用new关键字创建对象
使用对象(引用).成员变量或来引用对象的成员变量
使用对象(引用).方法(参数列表)来调用对象的方法
同一类的每个对象有不同的成员变量存储空间
同一类的每个对象共享该类的方法

构造方法

使用new+构造方法创建一个新的对象
构造函数是定义在Java类中的一个用来初始化对象的函数
构造函数与类同名且没有返回值

重载

方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。
调用时,系统会根据不同的参数表选择对应的方法

在这里插入图片描述
在这里插入图片描述

关键字

static 关键字
被static修饰的变量属于类变量,可以通过类名.变量名直接引⽤,⽽不需要new出⼀个类来

被static修饰的⽅法属于类⽅法,可以通过类名.⽅法名直接引⽤,⽽不需要new出⼀个类来

多态

实现继承
方法重写
父类引用指向子类对象
在这里插入图片描述

集合

多线程

线程和进程的区别
每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销
线程可以看成是轻量级的进程,同一类线程共享代码和数据空间,每个线程都有独立的运行栈和程序计数器(PC),线程切换开销小

多进程:在操作系统中能同时运行多个任务(程序)
多线程:在同一应用程序中有多个顺序流同时执行

问答题

  • 面向对象的特征有哪些方面 ?
    答:主要有以下四方面:
    1.抽象:
    抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
    2.继承:
    继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
    3.封装:
    封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
  1. 多态性:
    多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

  • String是最基本的数据类型吗?
    答:基本数据类型包括byte、int、char、long、float、double、boolean和short。(8个)
    java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

  • int 和 Integer 有什么区别?
    答:Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

  • 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
    答:可以。必须只有一个类名与文件名相同
这篇关于java知识点复习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!