您的位置:首页 > 编程语言 > Java开发

JAVA基础知识部分笔记

2017-05-11 11:52 295 查看


JAVA基础知识部分笔记

数组:
1.数组的概述:数组就是具有相同数据类型的一组数据,数据也是一个变量
变量:其值会发生的量,变量是如何存储在计算机中的呢?
声明变量:就是在内存中申请一块合适的空间
数组:就是在内存中申请一串连续的空间
数组的基本要素:
(1)标识符:数组的名称,用于区分不同的数组
(2)数组元素:向数组中存放的每一个数据
(3)元素下标:对数组员进行编号,从0开始,数组中的元素都可以通过下标来访问
(4)元素类型:数组中的数据类型
主意:数组的长度是固定不变的,需要避免数组越界
 
2.一维数组的创建和使用
(1)创建数组
语法:
a.数据类型[] 数组的名称 = new 数据类型[长度];
b.数据类型[] 数组的名称 = {数据列表,用逗号隔开,数据类型必须和数组的数据类型一致};
注意:在创建时数组的长度已经确定,以后都不会改变,要避免数组越界
(2)使用数组
a.无数据的 先赋值,通过下标给数组赋值  数组名称[下标]=99;
2016.9.29 星期四 授课内容
1.数组的创建和使用
步骤:
(1)声明数组:告诉计算机数据类型是什么
     int[] scores;
     int scores[];
     String[] names;
(2)分配空间:告诉计算机分配及个连续的空间
     scores =new int[7];
     names = new String[30];
     第一步和第二步可以合并,声明数组的同时分配空间
     数据类型[] 数组名 = new  数据类型[大小];
(3)赋值:向分配的空间存放数据
     scores[0] = 80;
     scores[1] = 90;
     scores[2] = 40;
     scores[3] = 70;.......
     第一步和第三步合并,边声明边赋值,由赋值的个数决定数组的大小
     int[] nums = {100,200,300,400};
     int[] nums = new int[]{100,200,300,400};
注意:数组的大小是固定不变的,避免数组越界
(4
173ec
)处理数据:计算5名学生的平均分
     int[] scores = {60,77,89,72,88}
     double avg = (scores[0] + scores[1] + scores[2] + scores[3] + scores[4]) / 5;
无论是读取数组元素的数据还是给数组元素赋值,格式都是一样的 数组名[下标]
2. 数组的操作
(1)遍历数组:使用循环获取数组中的每一个元素
     数组的长度(大小) 语法:数组名.lengh   返回的是一个整数
(2) 填充数组元素:
语法:Arrays.fill(要填充替换的数组名,要替换的值)
(3)对数组进行排序
语法:Arrays.sort(数组名)默认是以升序进行排序
逆序:int[] a=new int[]{1,2,3,4,5};
        for(int i=a.length-1;i>=0;i--);{
        System.out.println(a[i]);}
(4)对数组进行复制
语法:Arrays.copyOf(复制的数组名,复制后新数组的长度)  返回一个新的数组
(2) Arrays.copyOfRange(要复制的数组名,复制的开始位置,复制的结束位置) 返回一
个新数组  开始位置从0开始  结束位置从1开始
 
3. 求最大值:在一组数据中求出其中的最大值
打擂台:先设置一个擂主
先把数组中的第一个元素设置为最大值,然后将这个值和其他数组进行比较,如果它依
然大,那么保持不变,否则由比它大的另外一个元素成为最大值
int[] nums = {98,76,54,33,34,32}
int max = nums[0];
if(nums[1]>max){
     max = nums[1];
}
if(nums[2] > max){
     max = nums[2];
}
if(nums[3] > max){
   max = nums[3];
}
..........
 
4. 二维数组
 
 
2016.10.08 星期六 授课内容
1.foreach:for的简化版,java5之后的新特征之一,但是并不能完全替代for循环,foreach
只在循环数组、集合方面更简洁。
优点:使用foreach循环遍历数组和集合时,无需获得数组和集合的长度,无需根据,下标
来访问数组元素和集合元素,不要用怕数组越界。
语法:for(元素数据类型  元素名 : 遍历对象名){}
注意:foreach中的元素名代表遍历数组中的每一个元素
 
2.二重循环:又称之为嵌套循环,外面的循环称之为外层循环,里面的循环称之为内层循环,
一个循环体中又包含了另外一个完整的循环结构
执行过程:外层循环循环一次,内层循环要全部循环完毕
 
 
2016.10.09 星期日  授课内容
1.在二重循环中使用continue,只会对它所在循环结构起作用,其他循环不会影响
  在二重循环中使用break,只会对它所在循环结构起作用,其他循环不会影响
Continue在循环中执行后只会跳出当次循环,不执行continue后面的代码
break在循环中执行后会跳出整个循环体,执行循环以外的代码
 
 
2016.10.11  星期二    授课内容
1.对象:对象是事物存在的实体,万物皆对象,世界就是由对象组成的
分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地进行分类
对象具有的特点:
对象的特征(比如说:身高、体重、年龄、性别、职业等等),统称位属性
对象的行为(比如说:买菜、洗衣服、购物、投影、学习等等)统称位方法
杨浩
特征:身高、体重、年龄、性别、职业、外号、姓名
行为:学习
电风扇
特征:颜色、材质、品牌
行为:出风
电灯
特征:颜色、材质、品牌、长短
行为:发光发热
法拉利
特征:品牌、颜色、价格、速度、型号
行为:载人、发动、停止、加速
 
2.类就是将对象的共同特点(特征和行为)抽取出来形成了类,类是模子,定义对象将会拥
有的特征和行为
总统类:对象->奥巴马、小布什、普京
类是由对象抽象而来的,类将现实世界中的概念模拟到计算机程序中
 
3.所有java程序都是以类class为组织单元
 
4.定义类
步骤:
   (1)定义类名
   (2)编写类的属性
   (3)编写类的方法
 
5.如何创建和使用对象
(1)创建对象
语法:类名 对象名 = new 类名();
(2)使用对象:引用对象的成员,使用“.”来引用
引用类的属性:对象名.属性名
引用类的方法:对象名.方法名()
类可以创建多个对象,通过对象名来区分不同的对象
类是对象的类型,对象是类的实例。类和对象的关系就是抽象和具体的关系
 
2016.10.12  星期三  授课内容
1.方法:对象的行为,动态,具体的功能模块,定义了类的某种功能
方法的执行相当于是把方法中的代码从上到下执行了一遍
 
2.方法的定义:分为三个部分
  (1)方法的名称
  (2)方法返回值的数据类型
  (3)方法的主体
   定义的步骤
  (1)定义方法名以及返回值类型(方法头)
  (2)编写方法体
 
3.方法的返回值:两种情况
  (1)有返回值,那么在修师符的后面写返回值的数据类型,方法体里一定存在return来返
回该值,返回值类型为该返回值的数据类型
注意:return后面的值的数据类型必须和方法头中定义的返回值类型一致
  (2)无返回值,在修饰符后面写void,方法体中没有return
int len = 字符串.length()     有返回值  
Arrays.sort(数组名);   无返回值
 
4.方法调用
方法是一个“黑匣子”,完成某个特定的应用程序功能,并返回结果,方法调用就是执行方法
中包含的语句
调用方式:同一个类中调用可以直接调用,不同类里面的调用通过对象调用
 
2016.10.13  星期四  授课内容
1.方法调用
方法是一个“黑匣子”,完成某个特定的应用程序功能,并返回结果,方法调用就是执行方法
中包含的语句
调用方式:同一个类中调用可以直接调用,不同类里面的调用通过对象调用
(1)同一个类中的方法,直接使用“方法名()”调用
(2)不同类的方法,首先创建对象,再使用“对象名.方法名()”来调用
优点:提高重用率,不需要重复去写方法中的代码,只需要调用方法名就可以执行
 
2.main方法本身是不属于任何一个类的,但是由于java是以class作为基本组织单元,所
以必须把main方法放在类中
 
3.带参数的方法
榨汁机:你给我苹果,我给你苹果汁  你给我梨,我给你梨汁 你给我西瓜,我给你西瓜汁
定义带参数的方法
语法:修饰符 返回值类型 方法名(参数1,参数2,参数.......){//形式参数
         //方法体
}
调用带参数的方法
语法:对象名.方法名(参数1,参数2,参数........)//实际参数
调用过程就是将实参的数据传递给了形参,形参接收数据并在方法体里使用
注意:形参和实参必须保持一致,从数量和数据类型上来一一对应
方法中的某种功能依赖于我们所提供的数据,而数据本身是变化
 
2016.10.18 星期二 授课内容
1.对于有返回值的方法一定要处理返回值
 
2.构造方法
与普通方法的区别:
(1)系统会默认产生与类名一样并且无参无内容的构造方法
(2)构造方法的特征:如果不想要系统提供的这个构造方法,可以自己创建构造方法
     通过构造方法给属性赋值
语法:
修饰符 构造方法名(参数列表){
       //方法体
}
注意:(1)构造方法没有返回值类型
(2)构造方法的方法名和类名相同
(3)一旦自定义构造方法,那么系统将不再提供那个无参无内容的构造方法
使用构造方法给属性赋值,参数的名字一般与属性名保持一致,为便于区分,属性用
this来引用,this表示当前对象
在创建对象时会调用相应的构造方法,执行了构造方法中的代码
 
3.方法的重载:方法名相同,但是参数列表不同(数据类型和数量、顺序)与参数名没有
关系,构造方法和普通方法都可以实现方法的重载
 
substring(开始位置)
substring(开始位置,结束位置)
 
4.成员变量的初始值String:null int:0 double:0.0
普通变量如果没有被赋值是不能拿来使用,成员变量可以不用赋值也不会报错
 
成员变量的默认值,在定义属性时给它赋值
执行过程,如果在使用对象时属性没有被赋值,首先使用的是定义属性时的默认值,如果没有赋值
那么则使用初始值
 
5.成员变量和局部变量的区别
(1)作用域:成员变量的作用范围可以在整个类都使用,局部变量的作用范围只限于它所定
义的方法中
(2)初始值:成员变量是有初始值的,局部变量没有
 
6.static:静态,可以不用创建对象直接使用,static可以修饰变量和方法
在静态的方法中只能使用静态的变量和方法
一般来说static和final结合使用表示固定常量
final表示的是最终版,终极版
 
7.面向对象的三大特征:封装、继承、多态
 
 
2016.10.19  星期三  授课内容
1.封装:将类的某些信息隐藏在类的内部,不允许外部直接访问,而是通过该类提供的
方法来实现对隐藏信息的操作和访问
好处:隐藏类的实现细节、方便加入控制语句、方便修改实现、只能通过规定方法访问数据
 
2.封装的步骤:
(1)修改属性的可见性,设为private(私有)
(2)创建公有的getter/setter方法,用于属性的读写
(3)在getter/setter方法中加入属性控制语句,对属性值的合法性进行判断
 
2016.10.21 星期五  授课内容
1.包装类:将基本数据类型进行包装,变为一个类的形式
整数型
byte      Byte
short     Short
long      Long
int       Integer
非整数型
float     Float
double    Double
字符型
char      Character
布尔型
boolean   Boolean
 
2.Character和Boolean属于Objectde的直接子类,而Byte、Short、
 
3.
 
4.装箱和拆箱
将基本数据类型变为包装类成为装箱
 
JDK1.5以后对程序的包装类功能进行了改变,增加自动装箱和自动拆箱的功能,而且也可以
使用包装类直接进行数字运算。
 
5.应用:将字符串转换成指定的数据类型,调用包装类相应的parseXXXX()方法来进行转换
 
6.
将包装类的类型变为基本数据类型成为拆箱
 
7.数字格式化:DecimalFormat
 
 
2016.11.1  星期二   授课内容
1.数学运算Math类
2.Math类的常用属性
语法:Math.PI
 
3.Math类的常用方法(大部分都是静态的,可以使用类名直接调用)
(1)求平方根
语法:Math.sqrt(要求的值)
(2)求次方
语法:Math.pow(要求的值,几次方)
(3)求最大值、最小值(两数之间,可以是整数也可以是小数)
语法:Math.max(数1,数2)
      Math.min(数1,数2)
 
4.随机数
(1)Math类的random()
(2)Random类
    a.nextInt()
    语法:如果是无参的nextInt,那么将产生随机的整数
    如果是有参的nextInt,那么将产生0~参数的随机整数
 
5.大数字的运算
(1)大整数的运算:BigInteger
语法:
加法:对象1.add(对象2)
减法:对象1.subtract(对象2)
乘法:对象1.multiply(对象2)
除法:对象1.divide(对象2)
(2)大小数的运算:BigDecimal
语法:
加法:对象1.add(对象2)
减法:对象1.subtract(对象2)
乘法:对象1.multiply(对象2)
除法:对象1.divide(对象2)
 
6.继承:将类中的重复代码提取到父类,减少代码量,方便修改代码
继承关系就是子类和父类的关系,就是is-a关系
使用继承的步骤:
(1)编写父类
(2)编写子类,继承父类  关键字:extends
     Java中的继承是单继承,一个类只能继承一个父类,一个父类可以有多个子类
 
7.super:用于子类对父类的调用
(1)调用父类的构造方法
语法:super(无参)或super(有参)  必须在构造方法第一行
(2)调用父类的属性:前提是属性为非私有
语法:super.属性名
(3)调用父类的方法
语法:super.方法名()
 
8.四种访问修饰符
(1)private:私有,只有本类的可以访问
(2)默认:只要是同一个包的就可以访问
(3)protected:只要是有继承关系的就可以访问
(4)public:公有,都可以访问
 
9.继承关系的初始化顺序
执行顺序:如果子类的构造方法中没有通过super显示调用父类的有参构造方法
默认先调用父类的无参构造方法。如果子类的构造方法中通过super显示父类的有参构造方
法,那将执行父类相应的构造方法,而不执行父类的无参构造方法
 
10.方法的重写:子类重写父类的方法
(1)方法名相同
(2)参数列表相同
(3)返回值类型也相同或其子类
(4)访问权限不能严于父类
 
2016.11.8  星期二  授课内容
上次授课内容
1.多态:一般用于有继承的类中,表示用父类的类型来创建子类的对象
实现多态的两种要素:
(1)子类必须重写父类的方法
(2)在创建对象时使用的父类的类型
 
本次授课内容
1.抽象类:当一个类不需要进行实例化,我们可以用抽象来修饰这个类,强制要求它不能
实例化,使用abstract修饰
 
2.抽象方法:也使用abstract所修饰
抽象类:不能被实例化,不能new
特征:
(1)抽象方法没有方法体
(2)抽象方法必须在抽象类中
(3)抽象方法必须在子类中被重写,除非子类也是抽象类
 
3.接口:特殊的类,用interface修饰,接口中的方法全都是抽象方法,所有的属性全都是
静态常量,接口中本身并不实现任何功能,只是提供规则,由实现类根据规则来实现具体的
功能,实现使用implements关键字
特征
(1)接口不可以被实例化
(2)接口中方法全都是抽象方法
(3)接口中属性都是静态常量
(4)实现类必须实现接口的所有方法
(5)实现类可以实现多个接口
 
 
2016.11.11 星期五 授课内容
多态:
继承的多态:父类的类型,子类的对象
接口的多态:接口的类型,实现类的对象
 
接口中的方法只能被默认和public所修饰
接口中的属性都是静态常量,必须赋值
 
 
2016.11.15  星期二  授课内容
1.异常:是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。
 
2.Java编程语言使用一场处理机制为程序提供了错误处理的能力。
执行过程:
 (1)程序中预先设置好对付异常的处理办法
 (2)如果程序运行时碰到异常,对异常进行处理
 (3)处理完毕,程序继续运行
 
3.捕获异常:try catch finally
  语法:
  try{
      //执行可能产生异常的代码
  }catch(异常类型 e){//如果匹配
      //对异常进行处理的代码段
  }finally{
      //无论是否发生异常,代码一定会执行
  }
 
4.异常类型:Exception 来自于java.lang包,它是所有异常类型的父类
在catch块中处理异常的常见方法:
(1)void printStackTrace():输出异常的堆栈信息
(2)String getMessage():返回异常信息描述的字符串,是printStackTrace()输出信息
     的一部分
(3)加入自定义处理信息
 
5.finally:只有一种情况finally块代码不执行,catch中有System.exit(1)
 
6.异常的分类
(1)checked异常:程序必须处理该异常
(2)运行时异常:不要求程序必须处理
 
7.抛出异常:当方法本身对异常不想进行处理,希望调用者进行处理,如何调用调用者处理
异常?
语法:方法名()throws 异常类型
处理方法:
(1)调用者捕获异常,对异常进行处理
(2)调用者继续抛出异常,交给下一个调用者
 
8.throw:程序员自行抛出异常,对于自行抛出的异常,代码中必须对异常进行捕获,或者抛出

语法:throw new 异常类型(异常信息);
 
 
2016.11.16  星期三   授课内容
 
Collection接口存储一组不唯一,无序的对象
List接口存储一组不唯一,有序(插入顺序)的对象
Set接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
 
 
1.集合:都是存储数据
分类:
(1)Collection、List、Set,每个元素就是一个数据  
     a.Collection存储的是一组不唯一且无序的数据
     b.List存储的是一组不唯一且有序的数据
     c.Set存储的是一组唯一且无序的数据
(2)Map,每个元素存储了一对数据,一对数据又分为key(键)和value(值)
 
2.List:在集合中不要求存储同一数据类型的数据,但是为了方便处理,还是建议存储同一
数据类型的数据
常用方法:
(1)add:添加数据到集合中
    语法:
    a.集合的对象名.add(要添加的数据)
    b.集合的对象名.add(指定的位置,要添加的数据);位置从0开始
(2)size:集合元素的个数
     语法:集合对象名.size()返回值是一个整数
(3)get:获取每个集合元素
     语法:集合对象名.get(索引)返回值是Object类型的元素的值  索引从0开始
 
2016.11.17 星期四  授课内容
(4)remove:删除集合中的元素
     语法:
     a.集合名.remove(指定位置)
     b.集合名.remove(指定名字)
(5)contains:判断集合中是否包含某数据
     语法:集合名.contains(要查找的数据)  返回值是一个布尔类型的数据
 
3.Map:存储一对数据,这对数据分为key(键)和value(值),最常用的实现类是HashMap
常用方法:
(1) put:添加数据到Map集合中,key不能重复
      语法:集合对象名.put(键,值)
(2)get:通过key得到对应的value
     语法:集合对象名.get(key)
(3)size:获取集合中元素的个数
     语法:集合对象名.size()返回值是一个整数
(4)remove:根据key删除元素
     语法:集合对象名.remove(key)
(5)containsKey:判断是否包含这个key的元素
     语法:集合对象名.containsKey(key)  返回值是一个布尔类型的数据
(6)keySet:获取Map中key的集合
     语法:集合对象名.keySet() 返回一个Set类型的集合
 
3.Iterator:迭代器,为集合而生,专门实现集合的遍历,它隐藏了各种集合实现类的内部细
节,提供了遍历集合的同一编程接口,使用集合的iterator()方法集合中的所有数据放在
迭代器中
常用方法:
(1)hasNext:判断是否存在下一个可访问的元素
     语法:集合对象名.hasNext() 返回一个布尔数据
(2)next:获取每一个可访问的元素
     语法:集合对象名.next()  返回的是Object类型  需要强制型转换
 
4.泛型:集合的泛型是在创建时就确定集合数据的数据类型,强制的保证元素中的数据类型是
同一数据类型
  语法:集合<数据类> 对象名 =new 集合实现类<数据类>();
Map<数据类,数据类> 对象名 =new Map 集合实现类<数据类,数据类>();
 
 
2016.11.24 星期四  授课内容
1.JDBC:Java数据库连接技术的简称,是由一组Java编写的类和接口组成的,可以为多种
关系数据库提供统一访问
组成部分:
(1)JDBC驱动:由各个数据库厂商提供
(2)JDBC API:Java提供DriverManager类、Connection接口、Statement接口、ResultSet
接口将Java应用程序与各种不同数据库进行交互
 
2.JDBC API主要功能:与数据连接、执行SQL语句、处理结果
(1)DriverManager:负责管理各个数据库的驱动
(2)Connection:负责连接数据库并担任数据传送的任务
(3)Statement:由Connection产生,负责执行SQL语句
(4)ResultSet:负责保存和处理Statement执行后所产生的查询结果
 
3.JDBC工作流程:
(1)下载驱动,将驱动引用到项目中
(2)创建类,加载驱动
(3)与数据库建立连接
(4)发送SQL语句,并得到返回结果
(5)处理返回结果
(6)释放资源(关闭数据库连接,关闭SQL语句的执行,关闭查询结果的处理)
 
4.DriverManager类:Class.forName(驱动)执行的结果就是将驱动加载到了DriverManager中
方法:getConnection:连接数据库
语法:DriverManager.getConnection(URL,用户名,密码);返回一个连接对象Connection
      URL:连接地址,用来标识数据库
 
5.Statement接口:由Connection产生的 conn.createStatement()
常用方法:
(1) execute:可以执行任意SQL语句
      语法:Statement对象名.execute(SQL 语句);返回一个布尔类型的数据,表示是否
      返回ResultSet
(2)executeUpdate:可以执行插入、删除、更新等操作
     语法:Statement对象名.executeUpdate(SQL 语句) 返回一个值,表示执行这条SQL 所
     影响的行数
(3)executeQuery:执行SQL查询并获得ResultSet对象
     语法:Statement对象名.executeQuery(SQL 语句) 返回的是一个ResultSet对象
 
6.ResultSet接口:保存并处理Statement执行后的查询结果
常用方法:
(1)next:判断是否存在下一条数据
     语法:Resultset对象名.next(); 返回一个布尔类型的数据
(2)getXXX:以各种数据类型来获得
     语法:以整型为例
     a.Resultset对象名.getInt(字段的编号int) 返回的是具体的字段值
     b.Resultset对象名.getInt(字段名String)  返回的是具体的字段值
 
7.关闭方法:close,无论是Connection、Statement、ResultSet只要创建对象,就必须关

 
 
2016.11.25  星期五  授课内容
< >< >PreparedStatement对象:在创建对象的同时或之前设置SQL语句,SQL语句具有一个或多个输入参数,这些输入参数的值在SQL语句创建时未被指定,而是为每个输入参数保留一个问号作为占位符。< >setXXX方法来完成,其中XXX是与该参数相应的数据类< >SQL语句:PreparedStatement对象的方法来执行< > 
 

< >常用方法:
 

< >     语法:File对象名.exists()    返回一个布尔类型的数据
 

< >     语法:File.对象名.isFile()    返回一个布尔类型的数据
 

< >     语法:File对象名.isDirectory()   返回一个布尔类型的数据
 

< >     语法:File对象名.createNewFile()   返回一个布尔类型的数据
 

< >     语法:File对象名.delete()    返回一个布尔类型的数据
 

< >     语法:File对象名.lenght()   返回一个长整型的数据
 

< >     语法:File对象名.getName()  返回一个字符串
 

< >     语法:File对象名.getPath()   返回一个字符串
 

< >     语法:File对象名.getAbslutePath()   返回一个字符串
 
 

< > 
 
 
 
2016.12.1   星期四   授课内容

< >2.FileInputStream:输入字节流
 
常用方法:

< >     语法:
 

< >< >< >< >     语法:FileInputStream对象名.close();
 
 

< >常用方法:
 

< >     语法:
 
      a.  FileOutputStream对象名.write(字节数组);根据数组长度将字节数组的数据写入
      文件中
      b.  FileOutputStream对象名.write(字节数组,开始值,长度);  根据长度将字节数
      组的数据写入到文件中
      c.  FileOutputStream对象名.write(int数据字节); 将字节写入到文件中(int可以转
      化成byte)

< >     语法:FileOutputStream对象名.close();
 
   
 
2016.12.02  星期五  授课内容
1.FileReader:字符输入流,用于对文件的读取,父类是Reader
常用方法:

< >     语法:
 
     a. FileReader对象名.read();  表示读取一个字符
     b. FileReader对象名.read(字符数组); 表示将字符读取到字符数组中
     c. FileReader对象名.read(字符数组,开始值,指定长度); 表示的是根据指定长度
     读取字符到数组中
(2)close:关闭流
     语法:FileReader对象名.close();
 

< >常用方法:
 

< >语法:BufferedReader对象名.readLine();
 
(2)close:关闭流
     语法:BufferedReader对象名.close();

< >常用方法:
 

< >     语法:
 
     a. FileWriter对象名.write(String字符串);表示将一个字符串写入文件
     b. FileWriter对象名.write(字符串,开始值,指定长度);表示根据指定长度写入
     字符串到文件中
(2)close:关闭流
     语法:FileWriter对象名.close();
 

< >常用方法:
 

< >     语法:BufferedWriter对象名.newLine();
 
(2)close:关闭流
     语法:BufferedWriter对象名.close();

< >     语法:BufferedWriter对象名.flush();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: