JAVA基础知识部分笔记

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)处理数据:计算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  星期五  授课内容

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

     

  2. < >常用方法:

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

     

  12. < > 

     

     

     

    2016.12.1   星期四   授课内容

  13. < >2.FileInputStream:输入字节流

     

    常用方法:

  14. < >     语法:

     

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

     

     

  16. < >常用方法:

     

  17. < >     语法:

     

          a.  FileOutputStream对象名.write(字节数组);根据数组长度将字节数组的数据写入

          文件中

          b.  FileOutputStream对象名.write(字节数组,开始值,长度);  根据长度将字节数

          组的数据写入到文件中

          c.  FileOutputStream对象名.write(int数据字节); 将字节写入到文件中(int可以转

          化成byte)

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

     

       

     

    2016.12.02  星期五  授课内容

    1.FileReader:字符输入流,用于对文件的读取,父类是Reader

    常用方法:

  19. < >     语法:

     

         a. FileReader对象名.read();  表示读取一个字符

         b. FileReader对象名.read(字符数组); 表示将字符读取到字符数组中

         c. FileReader对象名.read(字符数组,开始值,指定长度); 表示的是根据指定长度

         读取字符到数组中

    (2)close:关闭流

         语法:FileReader对象名.close();

     

  20. < >常用方法:

     

  21. < >语法:BufferedReader对象名.readLine();

     

    (2)close:关闭流

         语法:BufferedReader对象名.close();

  22. < >常用方法:

     

  23. < >     语法:

     

         a. FileWriter对象名.write(String字符串);表示将一个字符串写入文件

         b. FileWriter对象名.write(字符串,开始值,指定长度);表示根据指定长度写入

         字符串到文件中

    (2)close:关闭流

         语法:FileWriter对象名.close();

     

  24. < >常用方法:

     

  25. < >     语法:BufferedWriter对象名.newLine();

     

    (2)close:关闭流

         语法:BufferedWriter对象名.close();

  26. < >     语法:BufferedWriter对象名.flush();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值