【慕课学习】JAVA核心技术-初级课程

JAVA已经隶属于Oracle公司

JAVA的优点:
1、将源码编译为字节码
2、依赖各种平台上的虚拟机来解释执行字节码
3、实现了一次编写、到处运行的特性
4、能够接纳、兼容、和运行其他程序语言产生的字节码

JAVA是程序语言
java规范规定了语法和功能
JCP:掌管java规范
JDK:实现Java规范

通过搜索 java achieve下载各种版本的JDK

课程目录:
1、基本语句和结构
2、面向对象思想(重点)
3、继承和多态(重点)
4、异常处理
5、数据结构
6、文件处理

一、JAVA环境搭建

安装JDK

1、搜索Java Archive,下载JDK版本
2、配置JAVA_HOME环境变量
在这里插入图片描述

3、配置Path环境变量
在这里插入图片描述

JAVA编译原理

在这里插入图片描述
在IDE输入程序在JDK上编译为.class文件,然后再JRE通过java.exe在虚拟机JVM上运行
其中:
JDK:主要负责编译
JRE:主要负责运行

二、JAVA类基础知识

JAVA中所有的东西都放在类里面
JAVA的项目是由一个一个class构成

类的构成:变量和方法

运算符:
a<<1左移乘2
a>>1右移除2

类基础:
重载:函数名相同,形参列表必须不同,如果调用则系统会选择合适的方法调用
构造函数就是一种重载

类:
同一个对象不同引用,在内存中有不同的存放地址
定义变量需要给一个初始化的值
基本类型赋值是拷贝赋值、对象赋值是reference赋值

构造函数:
构造函数的作用:在实例化类到时候就开始赋值

面向对象的法则:
1、类的成员属性是私有的
2、类的方法是公共public,通过方法修改成员属性值

this关键词的两个作用:
1、负责指向本类的成员方法
2、代替本类的构造函数

三、继承、接口、抽象类

  1. 继承:
    1、类别内的对象属性和方法都有一定的共同点
    2、子类继承父类的所有属性和方法(不能继承private)
    3、单根继承原则:每个类只能继承一个类
    所有类默认是继承于Object,所以会有一些公用的方法:
    clone、equals、finalize、getClass、hashCode、toString、wait、notify等

  2. 抽象类:
    1、抽象类关键字abstract
    2、一个类继承抽象类就不能继承其他抽象类

  3. 接口:
    1、一个类可以实现多个接口,继承和实现可以同时进行。
    2、接口可以继承多个接口
    3、类实现接口就要实现所有接口的方法

抽象类和接口的相同点:
两者不能被实例化不能被new出

不同点:
1、抽象类abstract、接口interface
2、抽象类有构造函数,接口无
3、抽象类可以有main并运行,接口无
4、抽象类可以有private和protected,接口只有public

  1. 转型、多态、契约设计
    1、类型可以互相转化
    子类可以转化为父类、父类不能转化为子类
    2、子类继承父类的所有方法

四、Static、final和常量设计

static

作用在:类、变量、方法、匿名方法块

static变量
只依赖于类实现,可以用类.变量名
多个对象调用的值只储存在一个共同的栈中
static方法
直接通过类名应用
静态方法中只能使用静态变量
静态方法禁止引用非静态方法

static修饰的内部类使用较少,可忽略

static块
在类被一次加载时调用
static块只执行一次,顺序为static块>匿名块>构造函数

单例模式

  • 限定某一个类在整个运行过程中,只能保留一个实例对象在内存空间。
单例模式:保证一个类只有一个对象
采用static共享对象实例
采用private构造函数,防止外界new

final

final
修饰的类不可继承
修饰的父类方法子类不可改写
修饰的基本类型字段

五、package、import、classpath

package

  • 常用域名当做包名、逆序
  • 类的完整名称为包名+类名

import

import作用:引入其他类

import原则
位置放在package后、类定义前
通过*来引入一个目录下的所有类【不推荐】
Jar文件的导入和导出
jar文件是java特有的一种文件格式,便于程序文件的传播
jar文件是class文件的压缩包
java访问权限

六、JAVA常用类

String类

在这里插入图片描述

StringBuffer和Stringbuilder【不同步】

  • 方法一致,区别在同步上
  • 属于可变对象,对象赋值后共享一个内存空间

时间相关类

java.sql.Date

使用数据库时用

Calender

是抽象类
在这里插入图片描述

注意
获取月,记住默认是0-11,要加上1
获取星期,英语国家是从周日开始算

格式化

在这里插入图片描述
学会查看以上类的API

七、JAVA异常及异常处理

异常:程序不正常的行为或状态
在这里插入图片描述

Throwable
所有错误的祖先
Error
系统内部错误或资源耗尽,不管
Exception
程序有关异常,重点关注
RuntimeException程序自身错误:5/0,空指针,数组越界
非RuntimeException,外界相关错误,打开空文件,加载不存在的类
在这里插入图片描述
异常处理:程序返回安全状态,允许用户保存结果,并以适当方式关闭程序
  • 允许用户及时保存结果
  • 抓住异常,分析异常内容
  • 控制程序返回到安全状态
try-catch-finally
catch:发生异常执行的内容,可以有多个
finally:无论是否有异常都会执行
注意
一般将小的异常写在前面,大的宽泛的写在后面
方法如何可能存在异常,但不处理,通过throws来声明异常
一个方法被覆盖,覆盖它的方法必须有相同的异常
父类的方法抛出多个异常,重写的子类必须抛出父类的那些异常,不能超出父类异常范围

自定义异常

Exception类是所有异常的父类,继承自Throwable,它的兄弟是Error【系统异常暂时不管】

自定义异常条件:
1、继承Exception
2、定义构造函数调用父类Exception的message构造函数
在这里插入图片描述

七、JAVA数据结构

数组

数组是存放多个数据的容器

数组的特点
同一种类型、按线性排列、
通过索引快速访问数据
需明确容器的长度
length为数组大小长度,从0开始【不可越界,否则会报错】

JCF

容器框架

  • 对外的接口
  • 接口的实现
  • 算法

框架提高数据存取效率,避免重复劳动。

在这里插入图片描述

JCF的集合接口为Collection
add、contains、remove、size、iterator
JCF的迭代器接口为Iterator
hasNext、next、remove

在这里插入图片描述

列表

List
有序、允许重复
主要实现ArrayList【非同步】、LinkedList【非同步】、Vector【同步】
ArryList
不支持同步
利用索引快速访问
不适合指定位置插入、删除、主要用于查询
可动态调整容器大小
LinkedList
双向链表,不支持同步
当做堆栈、队列、双端队列
顺序访问高效,随机访问差,中间插入和删除高效
用于经常变化的数据

集合

集合的特点
确定性:任何对象都能判断是否属于一个集合
互异性:集合中每个元素都是不同的
无序性:集合内顺序无关

Java中的集合接口Set

  • HashSet:基于散列函数的集合,无序,不支持同步
    在这里插入图片描述

  • TreeSet:基于树结构的集合,可排序,不支持同步
    在这里插入图片描述
    注意:排序按从小到大排序

  • LinkedHashSet:基于散列函数和双向链表的集合,可排序,不支持同步
    在这里插入图片描述
    注意,LinkedHashSet保持链表的顺序性,和插入顺序一致

HashSet,LinkedHashSet,TreeSet
元素必须是对象,如Integer

元素重复判断原则:
1、HashSet和LinkedHashSet

  • 判断两个元素的hashCode返回值是否相同,不同返回false
  • 相同,判定equals方法,不同返回false
  • hashCode和equals属于公共方法,因为Object类有
    在这里插入图片描述
    在这里插入图片描述

2、TreeSet

  • 需要元素继承自Comparable接口
  • 比较两个元素的compareTo方法在这里插入图片描述
    在这里插入图片描述

映射Map

在这里插入图片描述

工具类

  • 不存储数据,在数据容器中实现高效操作

在这里插入图片描述

八、JAVA文件读写

文件系统是由操作系统管理、文件分隔符Linux/Unix用/ ;windows用\隔开【程序汇总用“/” “\”作为转译】
文件类:java.io.File
常用方法:
在这里插入图片描述
在这里插入图片描述

注意
File类不涉及文件的内容,是用来表示文件的属性
File是访问文件和目录的重要类
在这里插入图片描述

在这里插入图片描述

JAVA的IO包概述

Java读取文件,只能以数据流的形式读写
在这里插入图片描述

文件读写

try-resource方法就是在try后跟括号写流,执行后自动关闭,优秀写法
教程中读写二进制和文本有区别:
读取二进制:字节流→装饰缓存流→转化缓存
读写文件:字节流→转化缓存→装饰缓存流

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《计算机操作系统(慕课版)》是由汤小丹、王红玲、姜华和汤子瀛合著,人民邮电出版社于2021年出版的图书。 本书主要介绍了计算机操作系统的相关知识。计算机操作系统是指控制和管理计算机硬件与软件资源,使计算机系统能够高效地运行和进行任务处理的系统软件。操作系统是计算机的核心组成部分,它负责管理硬件设备、控制程序运行、保护数据信息、提供用户与计算机系统之间的交互界面等。 《计算机操作系统(慕课版)》从基础概念出发,全面讲解了操作系统的基本原理、功能和结构,并深入探讨了常见的操作系统如Windows、UNIX和Linux等。书中还介绍了操作系统的进程管理、内存管理、文件系统、设备管理、网络管理等重要内容,帮助读者全面了解和掌握操作系统的运行机制和管理方法。 该书主要面向计算机专业的本科生和研究生,也适合从事计算机系统工程、软件开发和系统维护的相关人员阅读。作者采用通俗易懂的语言,结合具体实例和案例分析,使得读者能够更好地理解和应用操作系统的知识。 《计算机操作系统(慕课版)》是一本权威、实用的操作系统教材,对于学习计算机操作系统的人员来说是一本必备的参考书。读者通过学习本书,可以深入了解计算机操作系统的基本理论和实践,提高自己的操作系统技能,为今后从事计算机相关工作打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值