![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java---基础
淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼
水哥很水
淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼淼
展开
-
Java的IO流---IO流的概述
概述IO流用来处理设备之间的数据传输Java程序中,对于数据的输入/输出的操作以“流(Stream)”的方式进行java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据概念理解输入Input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输出Output:将程序(内存)数据输出到磁盘、光盘等存储设备中流的分类按照操作数据单位不同分为:字节流,字符流按数据流的流向不同分为:输入流,输出流按流的角色的不同分为:节点流,处理流原创 2022-02-17 14:13:44 · 149 阅读 · 0 评论 -
Java的IO流---File类的使用
File类的概述java.io.File类凡是与输入、输出相关的类、接口等都定义在java.io包下File是一个类,可以有构造器创建其对象。此对象对应着一个文件或者文件目录File类对象是与平台无关的File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及到文件内容的,File是无能为力的,必须由io流来完成File类的对象常作为io流的具体类的构造器的形参代码实现import java.io.File;public class TestFile { public s原创 2022-02-14 20:38:57 · 942 阅读 · 0 评论 -
Java集合---操作集合的工具类Collections
概述Collections可以用于操作Collection和Map的工具类方法说明reverse(List)功能说明用于反转List中元素的顺序代码实现import java.util.ArrayList;import java.util.Collections;import java.util.List;public class TestCollections { public static void main(String[] args) { List li原创 2022-02-13 17:45:00 · 680 阅读 · 0 评论 -
Java集合---Map接口的常用实现类
概述Map与Collection是并列存在的。用于保存具有映射关系的数据:Key-ValueMap中的key和value都可以是任何引用类型的数据Map中的key是用Set来存放,不允许重复,即同一个Map对象所对应的类,需要重写hashCode()和equals()方法常用String类作为Map的‘键’key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的value...原创 2022-02-12 18:28:16 · 669 阅读 · 0 评论 -
Java集合---Set详解
Set的说明存储无序的,不可重复的元素,Set中常用的方法都是Collection下定义的。这里面的顺序是无序,但不是随机排序的。其中的不可重复性,当向Set中添加进相同的元素的时候,后面的这个不能添加进去。要求添加进Set中元素所在的类,一定要重写equals()和hashCode()方法,进而保证元素添加的不可重复性。Set中元素的存储方式当向Set中添加对象时,首先调用此对象所在类的hashCode()方法计算此对象的哈希值,此哈希值决定了此对象在Set中的存储位置,若此位置之前没有对象存储,则原创 2022-02-11 21:27:01 · 1396 阅读 · 0 评论 -
Java集合---List的主要实现类Arraylist的常用方法
ArrayList:List主要实现类,下面是List中相对于Collection新增加的方法add(int index,Object object)功能说明在指定索引位置index处添加元素object,后面的元素统一后移代码实现import java.util.ArrayList;import java.util.List;public class TestArrayList { public static void main(String[] args) { L原创 2022-02-10 18:43:33 · 576 阅读 · 0 评论 -
Java集合---Collection接口的常用方法
Collection常用方法size()add(Object object)addAll(coll1)isEmpty()clear()上述方法的代码实现import javax.xml.crypto.Data;import java.util.*;public class My { public static void main(String[] args) { Collection coll = new ArrayList(); //size()原创 2022-02-09 22:20:39 · 678 阅读 · 0 评论 -
Java集合---概述
Java集合概述面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象进行操作,就需要对对象进行存储,并且使用Array存储对象有弊端,Java集合就像是一种容器,可以动态的把多个对象的引用放入容器中Java集合类可以用于存储数量不等的多个对象,还可以用于保存具有映射关系的关联数组...原创 2022-02-09 16:32:34 · 314 阅读 · 0 评论 -
Java异常---Error和Exception
异常分类检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。比如打开一个不存在的文件,一个异常就发生,这些异常在编译时不能被简单的忽略。运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略。错误ERROR:错误不是异常,而是脱离程序员控制的问题,错误在代码中通常被忽略,例如:当栈溢出时,一个错误就发生了,它们在编译也检查不到的。异常处理机制抛出异常捕获异常异常处理的五个关键字:try,catch,finally,th原创 2022-02-05 13:16:15 · 632 阅读 · 0 评论 -
Java面向对象---内部类
内部类成员内部类public class Outer { private int id; public void out() { System.out.println("这是外部类的方法"); } //这是内部类 class Inner { public void in() { System.out.println("这是内部类方法"); } //可以获得外部类的私原创 2022-02-04 14:41:18 · 54 阅读 · 0 评论 -
Java面向对象---接口
接口的定义普通类:只有具体的实现抽象类:有具体的实现和规范(抽象方法)接口:只有规范,自己无法写方法,接口就是规范,定义一组规则,约束和实现分离定义接口的关键字:interface一个类可以实现接口,使用implements接口中一旦定义属性,默认都有static和final修饰,都是常量。public interface Service { void run(String name);}接口的作用约束定义一些方法,让不同的人实现接口不能被实例化一个类可以实现多个接原创 2022-02-04 14:26:56 · 89 阅读 · 0 评论 -
Java面向对象---抽象类
抽象类的定义abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法,如果修饰类,那么该类就是抽象类抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类抽象类,不能使用new关键字来创建对象,它是用来让子类继承的抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类抽象类中可以写普通的方法抽象类的代码如下//abstract抽象类public abstr原创 2022-02-04 14:15:25 · 148 阅读 · 0 评论 -
Java面向对象---多态
多态定义同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但是可以指向对象的引用的类型有很多多态存在的条件:有继承关系子类重写父类方法父类引用子类对象多态是方法的多态,属性没有多态性父类引用指向子类对象instanceof与类型转换instanceof:它的作用是用来判断,instanceof 左边对象是否为instanceof 右边类的实例父类引用指向子类对象(这是下面两点前提)把子类转换为父类,向上转型把父类转换为子类,向下转型原创 2022-02-04 13:58:37 · 97 阅读 · 0 评论 -
Java面向对象---继承
继承的定义继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模extends的意思是“扩展”。子类对父类的扩展。Java中类只有单继承,没有多继承继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有“is a”的关系。在Java中,所有的类,都直接或者间接的继承Object类。super解释super是调用父类的构原创 2022-02-04 11:54:59 · 174 阅读 · 0 评论 -
Java面向对象---封装
封装的解释设计程序需要按照高内聚,低耦合的思想,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉。低耦合就是仅暴露少量的方法给外部进行使用。封装(数据的隐藏):通常,应禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这被称为信息隐藏,属性私有,get/set方法进行操作属性封装的作用提高程序的安全性,保护数据隐藏代码的实现细节统一接口系统的可维护性增加public class Person { private String name; priva原创 2022-02-04 11:09:52 · 73 阅读 · 0 评论 -
Java面向对象---类的定义
面向对象和面向过程比较面向过程思想:步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,首先分析需要解决的问题需要哪些分类,将这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题。对于描述复杂的事物,为了从宏观上把握、从整体上分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。什么是面向对象面向对象编程原创 2022-02-04 10:55:13 · 156 阅读 · 0 评论 -
Java数组---数组概述
数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每一个数组元素可以通过一个下标来访问它们。数组的声明和创建首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的方法:dataType[] arrayRefVar; //首选方法dataType arrayRefVar[]; //效果相同,但不是首选代码演示public class HelloWorld { public原创 2022-02-03 17:20:40 · 712 阅读 · 0 评论 -
Java方法---定义,重载,传参,递归
Java方法定义Java方法是语句的集合,这些语句一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或者对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能模块,实现某个功能的语句块的集合,设计方法的时候,保持方法的原子性,一个方法只完成一个功能,有利于后期扩展。public class HelloWorld { public static void main(String[] args) { int a = 3, b = 4;原创 2022-02-03 14:28:54 · 585 阅读 · 0 评论 -
Java流控制---循环和break与continue
while循环public class HelloWorld { public static void main(String[] args) { int i = 0; int sum = 0; while (i < 100) { i++; sum += i; } System.out.println(sum); }}只要while后面的语句为真,循环原创 2022-02-03 00:56:13 · 197 阅读 · 0 评论 -
Java流控制---键盘输入、顺序结构与选择结构
一、Scanner的使用java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入定义Scanner的基本语法Scanner scanner = new Scanner(System.in);scanner.next():一定要读到有效字符之后才会结束输入,对于输入有效字符之前的空白,scanner.next()会将其去掉,只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符,scanner.next()不能得到带有空格的字符串scanner.n原创 2022-02-02 23:59:04 · 115 阅读 · 0 评论 -
Java基础---运算符
运算符的分类算术运算符:+,-,*,/,%,++,–赋值运算符:=关系运算符:>,<,>=,<=,==,!=逻辑运算符:&&,||,!位运算符:&,|,^,~,>>,<<,>>>条件运算符: ? :扩展赋值运算符:+=,-=,*=,/=自增运算符与自减运算符的使用自增运算符中的a++与++a的不同public class HelloWorld { public static void原创 2022-02-02 19:11:02 · 167 阅读 · 0 评论 -
Java基础---变量、常量、作用域
变量变量的定义:就是可以变化的量。Java为强类型语言,每个变量的必须声明类型。Java变量为程序中最基本的存储单元,要素包括:变量名、变量类型和作用域。每个变量都有类型,类型可以为基本类型也可以是引用类型。变量名必须是合法的标识符。变量的声明是一条完整的语句,每一个声明都必须以分号结束。作用域根据作用域的不同,可以将变量分为以下三类:局部变量实例变量类变量以上三种变量在代码中的具体位置如下代码所示:public class HelloWorld { static i原创 2022-02-02 17:56:32 · 73 阅读 · 0 评论 -
Java基础---数据类型
Java数据类型数据类型 变量名 = 变量值基本类型位(bit)是计算机内部数据存储的最小单位,11001100是一个八位二进制数字节(byte)是计算机中数据处理的基本单位,习惯上使用B进行表示1B(byte,字节) = 8bit(位)字符:是指计算机中使用的字母、数字、字和、符号。整数类型byte占一个字节范围short占两个字节范围int占四个字节范围long占八个字节范围浮点类型float占四个字节double占八个字节字符类型char占两个字节bool原创 2022-02-02 14:42:44 · 257 阅读 · 0 评论 -
Java基础---标识符与关键字
一、关键字二、标识符Java中所有的组成成分都需要名字。类名、变量名以及方法名都被称为标识符。标识符的注意点:所有的标识符都应该以字母(A-Z或者a-z)、美元符($)或者下划线(_)开始首字符之后可以是字母(A-Z或者a-z)、美元符($)、下划线(_)或数字的任意字符组合不能使用关键字作为变量名或方法名标识符是大小写敏感的合法的标识符举例:age、#salary、_value、__1_value非法的标识符举例:123abc、-salary、#abc可以使用中文命名,但是不建议这原创 2022-02-02 12:44:54 · 217 阅读 · 0 评论 -
Java基础---注释
一、注释类型单行注释多行注释文档注释二、注释的演示注释不会被运行,只是写给人看的1.单行注释具体注释方式如下:public class HelloWorld { public static void main(String[] args) { //这是单行注释 System.out.println("Hello World!"); }}2.多行注释具体注释方式如下:public class HelloWorld { pub原创 2022-02-02 11:44:32 · 154 阅读 · 0 评论 -
Java---第一个程序HelloWorld
一、编写.Java文件创建一个helloworld.Java文件,并在其中编写以下代码public class helloworld{ public static void main(String[] args){ System.out.print("hello world!"); }}二、运行.Java文件输入以下命令进行helloworld.class文件的生成javac helloworld.java输入以下命令进行helloworld.class文件原创 2022-02-02 10:04:27 · 102 阅读 · 0 评论 -
环境准备---Linux下安装配置Java环境
一、下载JDKJDK下载网址根据自己系统的配置进行相应JDK包的下载,因为我的Linux是64位的,因此这里下载下图中标记的JDK压缩包。二、解压下载的JDK压缩包输入以下命令进行JDK压缩包的解压操作tar -zxvf jdk-8u321-linux-x64.tar.gz可以根据自己的需求,对解压出来的压缩包文件进行重新命名mv jdk1.8.0_321 java8三、环境变量的配置我们通过编辑/etc/profile文件进行环境变量的配置输入以下命令进行环境变量的编辑vim原创 2022-02-02 01:45:46 · 388 阅读 · 0 评论