![](https://img-blog.csdnimg.cn/5dabe9787cf34152a6107337b84fc429.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础教程
文章平均质量分 91
Java基础专栏是一个面向Java初学者的学习专栏,在该专栏中,读者可以学习到Java语言的基本语法、面向对象编程、集合框架、IO流、多线程等基础知识,并通过案例实践加深对知识点的理解。Java基础专栏是一个很好的Java学习资源,适合想要入门Java编程的初学者。
super_zjl
这个作者很懒,什么都没留下…
展开
-
day22_day13_多线程&线程同步&死锁
指两个或多个事件在同一时刻发生(同时发生)。在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。而在多个 CPU 系统中,则这些可以并发执行的程序便可以分配到多个处理器上(CPU),实现多任务并行执行,即利用每个处理器来处理一个可以并发执行的程序,这样多个程序便可以同时执行。原创 2023-07-07 17:41:26 · 53 阅读 · 0 评论 -
day21_缓冲流&转换流&序列化流&打印流&Properties
缓冲流,也叫高效流,是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型分类名称类字节缓冲流字符缓冲流缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。原创 2023-07-05 16:50:26 · 43 阅读 · 0 评论 -
day20_字节流&字符流
生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input和输出output,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。也叫做数据,也叫做作数据。原创 2023-07-03 19:19:32 · 39 阅读 · 0 评论 -
day19_泛型&File
我们在集合中会大量使用到泛型,这里来完整地学习泛型知识。泛型,用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。修饰符 class 类名 { }//没有MVP类型,在这里代表 未知的一种数据类型 未来传递什么就是什么类型return mvp;// 创建一个泛型为String的类// 调用setMVPmy.setMVP("大胡子登登");// 调用getMVP//创建一个泛型为Integer的类。原创 2023-07-01 23:28:25 · 44 阅读 · 0 评论 -
day18_Set&HashMap
是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序不一致)。底层的实现其实是一个支持,由于我们暂时还未学习,先做了解。HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。hashCode与equals方法。//创建集合对象 该集合中存储 Student类型对象//存储Student stu = new Student("于谦", 43);原创 2023-06-29 10:46:05 · 39 阅读 · 0 评论 -
day17_Collection集合
Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口。Iterator接口也是Java集合中的一员,但它与CollectionMap接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。迭代。原创 2023-06-28 17:30:54 · 37 阅读 · 0 评论 -
day16_异常&Log4J
try {可能出现异常的代码;} catch(异常类名 变量名) {异常的处理代码;throws方式处理异常 又被称之为声明异常,将问题标识出来,报告给调用者。如果方法内通过throw抛出了编译时异常,而没有捕获处理(稍后讲解该方式),那么必须通过throws进行声明,让调用者去处理。关键字throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常).原创 2023-06-28 17:22:01 · 59 阅读 · 1 评论 -
day15_Java常用API
类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。方法名说明返回指定数组内容的字符串表示形式。对指定的int型数组按数字升序进行排序。数组拷贝代码演示// 定义int 数组// 打印数组,输出地址值// 数组内容转为字符串// 打印字符串,输出内容// 定义int 数组。原创 2023-06-21 15:48:54 · 58 阅读 · 0 评论 -
day14_API&Object&String
一个可以解析基本类型和字符串的简单文本扫描器。例如,以下代码使用户能够从 System.in 中读取一个数:类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时 候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:// ...根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。方法名说明返回该对象的字符串表示。指示其他某个对象是否与此对象“相等”。String。原创 2023-06-21 14:21:48 · 29 阅读 · 0 评论 -
day13_内部类&权限&final
将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。// 直接访问外部类成员System.out.println("心脏在跳动");}else {System.out.println("心脏不跳了");将一个类定义在一个方法中,该类就称之为是局部内部类学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。原创 2023-06-21 14:10:13 · 32 阅读 · 0 评论 -
day12_接口&多态
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法(功能),包含抽象方法 (JDK7及以前) , 默认方法和静态方法(JDK8)私有方法(JDK9)。总结接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的体现在对行为的抽象!接口用关键字interface修饰public interface 接口名 {}多态是继封装、继承之后,面向对象的第三大特性。原创 2023-06-19 17:32:42 · 29 阅读 · 0 评论 -
day11_继承&抽象
父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。什么是抽象方法只有方法的声明,没有方法体的方法,就是抽象方法什么是抽象类抽象方法所在的类必定是一个抽象类。原创 2023-06-19 16:38:16 · 27 阅读 · 0 评论 -
day10_类和对象
类是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。属性:就是该事物的状态信息。行为:就是该事物能够做什么。举例:小猫属性:名字、体重、年龄、颜色行为:走、跑、叫。对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性和行为现实中,一类事物的一个实例:一只小花猫。举例:一只小猫。属性:tom、5kg、2 years、yellow。行为:溜墙根走、蹦跶的跑、喵喵叫。类的组成是由属性和行为两部分组成。原创 2023-06-08 16:31:57 · 34 阅读 · 0 评论 -
day09_方法
修饰符 返回值类型 方法名(参数列表){//代码省略...return 结果;修饰符: public static固定写法返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者参数列表: 方法在运算过程中的未知数据,调用者调用方法时传递return: 将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束小贴士:return结果;这里的"结果"在开发中,我们正确的叫法成为方法的返回值明确参数列表。原创 2023-06-04 16:13:24 · 433 阅读 · 0 评论 -
day08_数组
数据类型[] 数组名;示例:int[] arr;char[] arr;每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。二维数组其实就是一个元素为一维数组的数组。原创 2023-06-04 16:04:06 · 451 阅读 · 0 评论 -
day06_流程控制语句_if&switch
顺序结构分支结构(if, switch)循环结构(for, while, do…while)原创 2023-05-30 17:50:37 · 826 阅读 · 1 评论 -
day07_循环
在循环中,继续定义循环Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能API后续课程详细讲解,现在可以简单理解为Java已经写好的代码。原创 2023-06-04 09:20:54 · 332 阅读 · 0 评论 -
day05_Java运算符
运算符对常量或者变量进行操作的符号表达式用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。举例说明int a = 10;int b = 20;+:是运算符,并且是算术运算符。a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。原创 2023-05-26 16:50:46 · 1441 阅读 · 1 评论 -
day04_Java基础语法
关键字是指被java语言赋予了特殊含义的单词在程序运行过程中,其值不可以发生改变的量。在程序运行过程中,其值可以在一定范围内发生改变的量,从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化格式一数据类型 变量名 = 初始化值;// 声明变量并赋值格式二// 先声明,后赋值(使用前赋值即可)数据类型 变量名;变量名 = 初始化值;格式三在同一行定义多个同一种数据类型的变量,中间使用逗号隔开数据类型 变量名 = 值,变量名 = 值, ....;原创 2023-05-25 17:45:10 · 798 阅读 · 0 评论 -
day03_HelloWorld案例
在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。开发Java程序,需要三个步骤:编写源程序,编译程序,运行程序。用记事本打开HelloWorld.java文件,输写程序内容。运行命令后的class文件名(类名)不带文件后缀.class。新建文本文档文件,修改名称为HelloWorld.java。编译命令后的java文件名需要带文件后缀.java。范例:javac HelloWorld.java。范例:java HelloWorld。编译:javac 文件名.java。原创 2023-05-24 17:46:04 · 1521 阅读 · 0 评论 -
day02_DOS命令&环境搭建
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。首先右键【此电脑】---> 选择【属性】---> 点击左侧的【高级系统设置】 ---> 点击【环境变量】---> 在下方的【系统变量】中点击【新建】原创 2023-05-24 17:37:55 · 1805 阅读 · 0 评论 -
day01_Java语言概述
通过Java语言编写的应用程序在不同的系统平台上都可以运行因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的可移植性。也称为Java具有良好的跨平台性。原创 2023-05-24 17:34:54 · 1526 阅读 · 0 评论