- 博客(46)
- 收藏
- 关注
原创 使用FileReader、FileWriter 实现简单的文本文件复制
使用FileReader、FileWriter 实现简单的文本文件复制package com.io;import org.junit.Test;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class FileReaderWriter { @Test public void testFileReaderWr
2021-05-30 18:02:12
304
原创 FileWriter 写出数据操作
FileWriter 写出数据操作从内存中写出数据到硬盘的文件里:说明:1.输出操作,对应的File可以不存在,也不会报异常2.File对应的硬盘中文件如果不存在,在输出的过程中会自动创建此文件File对应的硬盘中文件如果存在:如果流使用的构造器是:FileWriter(file,false)/FileWriter(file):对原有文件的覆盖如果流使用的构造器是:FileWriter(file,true):不会对原有文件覆盖,而是在原有文件基础上追加内容package com.io;i
2021-05-29 16:16:27
242
原创 File 类常用方法
File类常用方法方法返回值说明getNmae()String获取文件名称canRead()boolean判断文件是否可读canWrite()boolean判断文件是否可被写入exits()boolean判断文件是否存在length()long获取文件的长度(以字节为单位)getAbsolutePath()String获取文件的绝对路径getParent()String获取文件的父路径isFile()boolea
2021-05-28 16:16:55
271
原创 FileReader 中使用read(char[] cbuf) 读入数据
FileReader 中使用read(char[] cbuf) 读入数据 //对read()操作升级:使用read的重载方法 @Test public void testFileReader1() { FileReader fr = null; try { //1.File类的实例化 File file = new File("hello.txt"); //2.FileRead
2021-05-28 15:40:50
343
原创 FileReader读入数据的基本操作
FileReader读入数据的基本操作首先在当前Module下新建一个hello.txt文件代码如下package com.io;import org.junit.Test;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class FileReaderWriterTest { public
2021-05-27 11:48:01
173
原创 I/O 概述
IO概念java 的 io 是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在java中把不同的输入/输出源(键盘、文件、网络连接等)抽象的表述为“流”(stream)I/O是Input/Output的缩写,I/O技术是非常使用的技术,用于处理设备之间的数据传输Java程序中,对于数据的输入/输出操作以“流”的方式进行java.io包下提供了各种“流”类和接口,用以获取不同类的数据,并通过标准的方法输入或输出数据流的分类按操作数据单位不同分为:字节流(8 bit),字符流(1
2021-05-09 18:25:36
342
原创 集合
集合集合又被称为容器集合与数组的区别:数组的长度是固定的; 用来存放基本类型的数据集合的长度是可变的;用来存放对象的引用常用的集合有:List集合、Set集合、Map集合,其中List 和 Set 继承了 COllection (Collection 接口是层次结构中的根接口,构成 Collection 的单位称为元素)继承关系图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2NGIH5sJ-1618404892769)(C:\Users\347
2021-04-14 20:55:28
99
原创 自定义异常
自定义异常使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常,用户自定义异常类,只需要继承 Exception 类即可在程序中使用自定义异常类,大体可分为以下几个步骤:创建自定义类在方法中通过 throw 关键字抛出异常对象如果在当前抛出异常的方法中处理异常,可以使用 try- catch 语句,捕获异常并处理;否则在方法声明处通过 throws 关键字指明要抛出给方法调用者的异常,继续进行下一步操作在出现异常方法的调用者中捕获并处理异常
2021-04-11 20:18:40
81
原创 异常处理机制
异常的处理机制处理异常的关键字:try、catch、finally、throw、throws捕获异常: 快捷键 ctrl + alt + t例:public class test3 { public static void main(String[] args) { int a = 1; int b = 0; System.out.println(a/b); }} public static void main(Stri
2021-04-09 21:11:00
89
原创 异常
异常 (Exception)简单分类:检查性异常:最具代表的检查性异常时用户错误或问题引起的异常,这是程序员无法预见的。例如,要打开一个不存在的文件时,一个异常就出现了,这些异常在编译时不能被简单的忽略运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在检查时被忽略例如: //递归调用public class Demo01 { public static void main(String[] args) { new Demo01
2021-04-09 16:38:09
90
原创 内部类
内部类内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对于B类就是外部类成员内部类public class Outer { private int id=10; public void out(){//外部类 System.out.println("这是外部类的方法"); } public class Inner{ public void in(){//内部类
2021-04-08 21:19:54
105
原创 接口
接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有只有规范接口就是规范,定义的是一组规则;接口的本质就像是契约接口的精髓就是对 对象的抽象,最能体现这一点的就是接口(声明类的关键字是 class; 声明接口的关键字是 interface)作用:1.约束2.定义一些方法,让不同的人实现, 10–>1(一个接口,十种不同的实现方式)3.接口中定义方法都是: public abstract4.常量: public static final5
2021-04-08 20:39:11
127
原创 抽象类
抽象类abstract 修饰符可以用来修饰方法也可以用来修饰类,如果修饰方法,该方法就是抽象方法:如果修饰类,那么该类就是抽象类例://abstract 抽象类:类 extends 单继承~ (接口可以多继承)public abstract class Action { //约束~有人帮我们实现 //abstract , 抽象方法,只有方法的名字,没有方法的实现 public abstract void doSomething();
2021-04-06 19:38:31
71
原创 static 关键字
static关键字//static :加在方法上时静态方法;加在属性上是静态属性public class Student { private static int age; //静态变量 private double score; //非静态变量 public void run(){ } public static void go(){ } public static void main(String[] args){
2021-03-31 20:47:18
95
原创 instanceof、对象类型的转换
instanceof(类型转换) 引用类型,判断一个对象是什么类型//创建一个父类:public class Person { }//创建一个子类:public class Student extends Person{ }//创建一个子类:public class Teacher extends Person { }//测试类public class Appliaction { public static void main(String
2021-03-31 19:53:56
145
原创 多态
多态动态编译:类型:可扩展性即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定,但可以指向对象的引用类型有很多新建一个Person类和Student类//父类public class Person { public void run(){ System.out.println("run"); }}===========================================================
2021-03-29 20:57:45
69
原创 继承
继承继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模extends 的意思是"拓展"。 子类是父类的拓展JAVA 中类只有单继承,没有多继承 (一个之类只能直接继承一个父类,但是可以间接继承;一个父类可以有多个子类)继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字 extends 来表示例://父类public class Person{
2021-03-28 21:14:19
96
原创 封装
封装简单说就是该露的露,该藏的藏 程序设计要追求"高类聚,低耦合"。 高类聚:就是类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅暴露少量的方法给外部使用封装(数据的隐藏) 通常,因禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏属性私有,get/set例://类public class Student { //private:属性私有 private Stri
2021-03-27 20:16:12
94
原创 构造器
构造器构造器:和类名相同没有返回值作用:new 本质是调用构造方法初始化对象的值注意点:定义了有参构造以后,如果想使用无参构造,显示的定义一个无参构造 //属性:字段 String name; //默认值:null int age; //默认值:0 //方法 public void study(){ System.out.println(this.name+"在学习"); }}/** * public
2021-03-27 20:03:39
91
原创 类与对象,使用new关键字创建对象
类与对象的关系类是一种抽象的数据类型,他是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物例如:动物、植物、手机、电脑…Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为对象是抽象概念的具体实例例如:张三就是人的一个具体实例;张三家的狗旺财就是狗的一个具体实例能够体现出特点,展现出功能的是具体实例,而不是一个抽象的概念创建和初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好
2021-03-25 22:08:49
3196
原创 OOP
面向对象编程Java的的核心思想就是OOP(面向对象编程)面向过程 & 面向对象面向过程思想步骤清晰简单,第一步做什么,第二不做什么面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些问题进行单独思考。最后,才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的问题,适合处理需要多人协作的问题对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体
2021-03-25 21:20:12
45
原创 回顾方法
回顾方法以及加深方法的定义修饰符返回类型/**Demo01 类 * */public class Demo01 { //main方法 public static void main(String[] args){ } /* 修饰符 返回值类型 方法名(...){ //方法体 return 返回值; } */break:跳出switch,结束循环; return:代表结束此方法 //re
2021-03-25 20:50:06
157
原创 稀疏数组
稀疏数组稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方式时:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模例:创建一个规格为11*11的数组为原始数组//1.创建一个二维数组 11*11 int[][] array1 = new int[11][11]; //一个11*11的数组格子 array1[1][2] = 1;
2021-03-24 20:49:24
98
原创 冒泡排序
冒泡排序冒泡排序无疑是最为出名的排序算法之一,总共有八大排序冒泡的代码相对简单,两层循环,外层冒泡轮数,里层依次比较我们看到嵌套循环,因该立马就可以得出这个算法的时间复杂度为O(n2)冒牌排序:比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置每一次比较都会产生出一个最大,或者最小的数字下一轮则可以少一次排序依次循环直到结束例://冒泡排序 /* 1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置 2.每一次比较
2021-03-23 22:07:45
62
原创 Arrays类
Arrays类数组的工具类Java.util.Arrays由于数组对象本身没有什么方法可以提供给我们调用。但是API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作。Arrays类中的方法都是Static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而可以不用使用对象来调用。(注意:是"不用"而不是"不能")一定要注意导入的包没有错具有以下常用功能:给数组赋值:通过 fill 方法例:public static void main(String[
2021-03-23 21:19:27
52
原创 数组(2)
数组(二)数组的使用For-Each 循环普通的For 循环数组作方法入参数组做返回值例:public static void main(String[] args){ int[] arrays = {1,2,3,4,5}; //JDK1.5 没有下标 // for (int array : arrays) { // System.out.println(array); // }
2021-03-18 15:52:16
80
原创 数组(1)
数组数组的定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中每一个数据被称作为数组元素,每个数组元素可以通过一个下标来访问他们(下标是从0开始)数组的声明创建数组必须声明数组变量,才能在程序中使用数组 语法:dataType[] arrayRefVar; //首选方法或dataType arrayRefVar[]; //效果相同,但不推荐例: int[] nums; //1.声明
2021-03-17 20:48:28
135
原创 命令行传参、可变参数、递归
命令行传参有时候希望运行一个程序的时候再传递给他消息,这就要靠传递命令行参数给main()函数实现 public static void main(String[] args){ //args.length 数组长度 for (int i = 0; i < args.length; i++) { System.out.println("args[" + i + "]: " +args[i]); } }点击ja
2021-03-15 16:57:37
203
原创 方法
方法Java方法是语句的集合,他们在一起执行一个功能1. 方法是解决一类问题的步骤和有序组合 2. 方法包含于类或对象中 3. 方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期扩展方法的定义Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段一般情况下,定义一个方法包含以下语法:方法包含一个方法头和一个方法头
2021-03-13 20:10:54
261
原创 练习打印简单三角形
输出一个三角形public static void main(String[] args){ //练习:打印三角形 5行 System.out.println(" * "); System.out.println(" *** "); System.out.println(" ***** "); System.out.println(" ******* "); System.out.pr
2021-03-12 20:39:53
151
原创 break、continue
Breakbreak在任何循环语句的主体部分,均可以用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)例:输出到30后停止循环,break停止当前循环,但是后面的值一样会输出,例如后面的"Hello!"Continuecontinue语句在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断例:continue是终止循环过程,被十整除的数,10、20、30、40、50…到
2021-03-12 20:32:51
79
原创 While、Do...while、For循环结构
循环结构While 循环do…While 循环For 循环在Java5中引入了一种主要用于数组的增强型for循环While 循环while是最基本的循环,它的结构为:while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去例:一直加到布尔表达式为false结束循环大多数情况实惠让循环停止下来的,需要一个让表达式失效的方式来结束循环少部分情况需要让循环一直执行下去,比如服务器的请求响应监听等循环条件一直true
2021-03-11 21:14:19
308
1
原创 顺序结构、If的选择结构、Switch多选择结构
顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一个一个执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按照从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的基本算法结构。选择结构if单选择结构if(布尔表达式){ //如果布尔表达式为true将执行语句}如果输入的是其他字符,就会直接跳过执行endif双选择结构语法:if(布尔表达式){ //如果布尔表达式的值为true}else{
2021-03-10 22:08:28
257
1
原创 Scanner对象,next()、nextLine()
Scanner 对象Java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入。基本语法Scanner s = new Scanner(System.in);通过Scanner类两种方法,next()和nextLine()来获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()来判断是否还有输入的数据。next()方法:使用io流的类,要养成用完就关闭的好习惯nextLine():两种方法的区别就在于输出的结果
2021-03-09 20:58:09
243
原创 包机制、JavaDoc
包机制(包的本质就是一个文件夹)为了更好地组织类,Java提供了包机制,用于区别类名的命名空间包语句的语法格式为定义包 package pkg1[·pkg2[·pkg3...]]一般利用公司域名倒置作为包名 。 例,com.baidu.www为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用"import"语句(import必须在package下面)导入包 import package1[·package2...]·(classname|*)im
2021-03-06 20:53:55
115
2
原创 Java运算符号
运算符Java语言支持如下运算符:算术运算符:+、-、*、/、%(取余,模运算)、++(自增)、 --(自减)赋值运算符:=关系运算符:>、<、>=、<=、==、!=instanceof(不等于)逻辑运算符:&&、||、!位运算符:&、|、^、~、>>、<<、>>>条件运算符:?:拓展赋值运算符:+=、-=、*=、/=算术运算符首先是最简单的加减乘除最后一个输出的a/b结果是0,得出结果
2021-03-05 20:27:21
455
原创 变量
变量变量:可以变化的量Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。type varname [=value] [{,varname[=value]}]//数据类型 变量名 =值:可以使用逗号隔开来声明多个同类型变量(不建议在一行定义多个类型)注意事项:每个变量都有类型,类型可以是基本类型(八大基本类型),也可以是引用类型(string)变量名必须是合法的标识符。变量声明是一条完整的语句,因此每一个
2021-03-03 20:48:49
142
2
原创 类型转换
类型转换由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换低→高(按字节大小)byte、short、char、int、long、float、double(为什么long的字节比float的多还排在前面呢,因为小数的优先级高一些)运算中,不同类型的数据先转换为同一类型,然后在进行计算强制类型转换:高到低 (类型)变量名自动类型转换:低到高例如int i =128;byte b =(byte)i; 这里是将int转换为byte,高转低,强制类型转
2021-03-02 20:43:38
62
原创 数据类型及拓展
数据类型强类型语言:(安全性好)(速度慢)要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。弱类型语言Java的数据类型分为两大类。基本类型(primitive type)数值类型:整数:byte、short、int、long浮点类型(小数):float 结尾加一个F区分、 double字符类型:charboolean(布尔值):只有true和false两个值引用类型(reference type):类、接口、数组如图:变量变量:可以变化的量Jav
2021-03-02 13:41:30
129
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人