当前位置:文档之家› java 第七章面向对象编程

java 第七章面向对象编程

java 第七章面向对象编程
java 第七章面向对象编程

第七章面向对象编程

【教学目的】:

1、类的概念

2、类的定义

3、对象的定义

教学内容:

学生类的定义,与对象是使用。

一、类的概念

Object Oriented翻译而来的,简称为OO。

Java语言与其他面向对象语言一样,引入了类和对象的概念,类是用来创建对象的模板,它包含被创建对象的属性和方法的定义。对象就是类的一个实例

人(类)

{姓名

性别

年龄

地址

吃饭()

睡觉()

上班()

学习()

}

二、类的定义

修饰符class 类名

{ 成员变量

成员方法

}

类的修饰符:

public:公共的:

final:最终的,不能被继承

abstract:抽象的,不能被实例化。

1、成员变量

变量分局部变量和成员变量

区别:

成员变量如果是基本类型系统会自动初始化,这个初始化的值,我们称默认值。

bytes、long、int默认值:0;long的默认值0L

floate默认值:0F

double默认值:0D,

char默认值:’\U0000’;

Boolean默认值:flase

其它:unll

但是局部变量,程序必须初始化,系统不会为局部变量进行初始化工作。

class temp

{

public static void main(String[] args)

{ int a; //局部变量\\(int a;-声明,a=8;-初始化)System.out.println(a);

}

}

这个时候程序就会成问题,因为局部变量没有初始化。

下面我们定义学生类

Public class student

{private String name; //定义学生姓名

private String ID; //定义学生学号

private String sex=""; //定义学生性别

private String speci=""; //定义学生专业

}

2、成员方法

类中的方法是用来执行执行某种行为的。

以下我们定义print成员方法。

public void print()

{ String information="学生学号:"+ID+"\n学生姓名:"+name+"\n";

if(!sex.equals(""))

information+="性别="+sex+"\n";

if(!speci.equals(""))

information+="专业="+speci+"\n";

information+="\n";

information+="---------------------";

System.out.println(information);

}

3、构造方法

还有有一个非常特殊的方法,叫做构造方法,构造方法就是跟类同名的一个特殊的方法,构造方法的特殊之处:

(1)构造方法与类名相同。

(2)一个类可以多个构造方法。

(3)一个构造方法可以有0、1个或者多个参数。

(4)构造方法没有返回值,但是可以不用写void。

(5)构造方法总是跟new一起被调用。

public student(String name,String ID)

{ https://www.doczj.com/doc/5910526787.html,=name;

this.ID=ID;

}

public student(String name,String ID,String sex,String speic)

{ https://www.doczj.com/doc/5910526787.html,=name;

this.ID=ID;

this.sex=sex;

this.speci=speic;

}这两个构造方法同名,但是他们的参数不一样。

4、get方法(访问器)

得到对象的某种状态,其特点是:

(1)方法部分有返回值类型。

(2)方法声明没有参数。

(3)方法体内有返回值语句。

public String getname()

{ return name;

}

public String getID()

{ return ID;

}

public String getsex()

{ return sex;

}

public String getspeci()

{ return speci;

}

以上的程序可以得到学生的姓名,学号,性别,专业。

5、set方法(设置器)

作用:修改对象的某种状态的方法。

(1)方法返回值总为void,也就是说没有返回值。

(2)方法声明至少有一个参数。

(3)方法体内肯定有赋值语句。

但是又一些保护性的字段,或者不想让使用者操纵的字段,只有访问器而没有设置器。

public void setsex(String sex)

{ this.sex=sex;

}

public void setspeci(String speci)

{ this.speci=speci;

}

对于学生的学号,和姓名,只有get方法,而没有set方法,因为对于学生而言,学生的学号和姓名只能查看,不能修改。这种方式,就实现开了数据的封装,使数据的访问和修改处于可以控制的范围内。

6、成员变量和成员方法访问控制符

public 公开的

private 私有的

protected 受保护的

通过以上的实例,我们知道所有的成员变量最好都设置成私有的,方法最好使用public。学生类,代码如下:

class student

{ private String name; //定义学生姓名

private String ID; //定义学生学号

private String sex=""; //定义学生性别

private String speci=""; //定义学生专业

//构造方法

public student(String name,String ID)

{ https://www.doczj.com/doc/5910526787.html,=name;

this.ID=ID;

}

public student(String name,String ID,String sex,String speic)

{ https://www.doczj.com/doc/5910526787.html,=name;

this.ID=ID;

this.sex=sex;

this.speci=speic;

}

//访问器

public String getName()

{ return name;

}

public String getID()

{ return ID;

}

public String getSex()

{ return sex;

}

public String getSpeci()

{ return speci;

}

//设置器

public void setSex(String sex)

{ this.sex=sex;

}

public void setSpeci(String speci)

{ this.speci=speci;

}

//打印方法

public void print()

{ String information="学生学号:"+ID+"\n学生姓名:"+name+"\n";

if(!sex.equals(""))

information+="性别="+sex+"\n";

if(!speci.equals(""))

information+="专业="+speci+"\n";

information+="\n";

information+="---------------------";

System.out.println(information);

}

public static void main(String[] args)

{

student Tom=new student("Tom","2009001");

Tom.print();

student LI=new student("李四","2009001","女","软件技术");

LI.print();

System.out.println(LI.getSex());

LI.setSpeci("应用日语");

LI.print();

}

}

7、静态成员变量和方法

(1)静态成员变量static

静态成员变量,用static修饰,它是被所有类的对象所共享。比如学生的学校都是同一个学校,就可以定义一个静态成员变量。

成员变量:static String school="开放职业学院"; //定义学生的学校

主方法:student Tom=new student("Tom","2009001");

System.out.println(Tom.school);

静态成员变量,可以说是类成员变量,可以直接用类来调用。

(2)静态方法

在方法前加static,就变成静态方法。一个静态方法只能访问类中的静态成员变量。class StaticMethod

{ int a=15;

int b=2;

public static void main(String[] args)

{ System.out.println(a+b);

}

}

实验9 Java输入输出流

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期2013-12-4 成绩指导教师批改日期实验名称实验9 Java的输入输出流 ●实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写、二进制文件读写 ●实验内容 1. 分别使用FileWriter 和BufferedWriter 往文件中写入1万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差; 使用:FileWriter 程序源代码 package a; import java.io.*; public class Filewriter { public Filewriter(String string){ } public static void main(String[] args)throws IOException { long time =System.currentTimeMillis(); Filewriter filewriter=new Filewriter("text"); int num; for(int i=0;i<=10000;i++){ num=(int)Math.random()*10000; filewriter.write(num+" "); } filewriter.close(); time=System.currentTimeMillis()-time; System.out.println("使用Filewriter所用时间:"+time+"um"); } private void write(String string){ } private void close(){ } }

Java 输入输出流及文件读写详解

I/O类体系 在JDK API中,基础的IO类都位于java.io包,而新实现的IO类则位于一系列以java.nio开头的包名中,这里首先介绍java.io包中类的体系结构。 按照前面的说明,流是有方向的,则整个流的结构按照流的方向可以划分为两类: 1、输入流: 该类流将外部数据源的数据转换为流,程序通过读取该类流中的数据,完成对于外部数据源中数据的读入。 2、输出流: 该类流完成将流中的数据转换到对应的数据源中,程序通过向该类流中写入数据,完成将数据写入到对应的外部数据源中。 而在实际实现时,由于JDK API历史的原因,在java.io包中又实现了两类流:字节流(byte stream)和字符流(char stream)。这两种流实现的是流中数据序列的单位,在字节流中,数据序列以byte为单位,也就是流中的数据按照一个byte一个byte的顺序实现成流,对于该类流操作的基本单位是一个byte,而对于字节流,数据序列以char为单位,也就是流中的数据按照一个char一个插入的顺序实现成流,对于该类流操作的基本单位是一个char。 另外字节流是从JDK1.0开始加入到API中的,而字符流则是从JDK1.1开始才加入到API中的,对于现在使用的JDK版本来说,这两类流都包含在API的内部。在实际使用时,字符流的效率要比字节流高一些。 在实际使用时,字符流中的类基本上和字节流中的类对应,所以在开始学习IO类时,可以从最基础的字节流开始学习。 在SUN设计JDK的IO类时,按照以上的分类,为每个系列的类设计了一个父类,而实现具体操作的类都作为该系列类的子类,则IO类设计时的四个体系中每个体系中对应的父类分别是: 字节输入流InputStream 该类是IO编程中所有字节输入流的父类,熟悉该类的使用将对使用字节输入流产生很大的帮助,下面做一下详细的介绍。 按照前面介绍的流的概念,字节输入流完成的是按照字节形式构造读取数据的输入流的结构,每个该类的对象就是一个实际的输入流,在构造时由API完成将外部数据源转换为流对象的操作,这种转换对程序员来说是透明的。在程序使用时,程序员只需要读取该流对象,就可以完成对于外部数据的读取了。

Java输入、输出流

第八章输入输出流 【课前思考】 1.字节流和字符流的基类各是什么? 2.什么是对象的串行化?对象串行化的作用是什么? 【学习目标】 本讲主要讲述了java语言中的输入/输出的处理,通过本讲的学习,同学们可以编写更为完善的java 程序。 【学习指南】 仔细阅读本章各知识点的内容, 深刻理解 java 语言中输入/输出流的处理方法,掌握处理问题的方法,多练习,多上机。 【难重点】 ●遇到实际问题时,要根据需要正确使用各种输入/输出流,特别是对中文使用适当的字符输入流。 ●正确使用对象串行化的方法。 ●处理字符流时,其构造方法的参数是一个字节流。 ●对象串行化的概念。 【知识点】 ●I/O 流概述 ●文件处理 ●过滤流 ●字符流的处理 ●对象的串行化 ●其它常用的流 【内容】 第一节数据流的基本概念 理解数据流 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。 Java的标准数据流 标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种: 标准输入studin,对象是键盘。 标准输出stdout,对象是屏幕。 标准错误输出stderr,对象也是屏幕。 例 8.1 从键盘输入字符。 本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,count保存实际读入的字节个数,再以整数和字符两种方式输出buffer中的值。Read方法在java.io包中,而且要抛出IOException异常。程序如下: import java.io.*; public class Input1 { public static void main(String args[]) throws IOException { System.out.println("Input: ");

java第九章输入输出文件练习

第9章I/O系统 一、选择题 1、下列数据流中,属于输入流的是(b ) A. 从内存流向硬盘的数据流 B. 从键盘流向内存的数据流 C. 从键盘流向显示器的数据流 D. 从网络流向显示器的数据流 2、Java语言中提供输入输出流的包是(d ) A. java.sql B. java.util C. java.math D. java.io 3、下列流中哪一个使用了缓冲区技术?( a ) A. BufferedOutputStream B. FileInputStream C. DataOutputStream D. FileReader 4、下列说法,错误的是( a ) A. FileReader是用文件字节流的读操作 B. PipedInputStream 用于字节流管道流的读操作 C. Java的I/O流包括字符流和字节流 D. DataInputStream被称为数据输入流 5、下列程序建立一个myFile.dat文件,并且允许按照不同的数据类型向里面写入数据,选择正确的一项填入程序的横线处( c )。 Import java.io.* Public class Test1{ Public static void main(String[] args){ Try{ FileOutputStream fos=new FileOutputStream(“myFile.dat”); }catch(Exception e){ e.printStackTrace( ); } } } A.OutputStream os=new OutputStream(fos); B.DataOutputStream dos=new DataOutputStream( ); C.DataOutputStream dos=new DataOutputStream(fos ); D.FileOutputStream fos=new FileOutputStream(fos); 6、下列说法错误的是(b ) A. java的标准输入对象为System.in B. 打开一个文件时不可能产生IOException C. 使用File对象乐意判断一个文件是否存在 D. 使用File对象可以判断一个目录是否存在 二、填空题 1、按照流的处理数据的基本单位,I/O流包括输入输入流和输出流。 2、java中,将用于向java程序输入数据的数据源构造成输入流,java通过输出流向目的地输出数据。 3、java中,所有的输入流类都是Inputstream 类或者Reader 类的子类,它们 都继承了read() 方法用于读取数据。所有输出流类都是Outputstream 类或

实验9 Java输入输出流

▇▆大学计算机与信息技术学院 实验报告 姓名□□□学号▅▅▅▅专业班级▅▅ 课程名称 Java实验实验日期???? 成绩指导教师▇▇██批改日期实验名称实验9 Java的输入输出流 ●实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写、二进制文件读写 ●实验内容 1. 分别使用FileWriter 和BufferedWriter 往文件中写入1万个随机数,比较用时的多少?(用时采用方法System.currentTimeMillis())求时间差; 使用:FileWriter 程序源代码 import java.io.*; public class TestFileWriter { public static void main(String []args) throws IOException{ File f = new File("C:/java/tem.txt"); if (f.exists()){ System.out.printf("文件\"C:/java/tem.txt\"已存在"); System.exit(0); } FileWriter fileWriter = new FileWriter(f); long time = System.currentTimeMillis(); for(int i=0;i<10000;i++) fileWriter.write((int)(Math.random()*101)); fileWriter.close(); time = System.currentTimeMillis() - time; System.out.printf("使用FileWriter耗时:"+time+"毫秒"); } } 程序运行结果贴图 使用:BufferedWriter 程序源代码 import java.io.*; public class TestBufferedWriter { public static void main(String []args) throws IOException{ File f = new File("C:/java/tem2.txt");

java输入输出流总结

一、数据流的基本概念 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。 java的标准数据流:标准输入输出指在字符方式下(如DOS),程序与系统进行交互的方式,分为三种: 标准输入studin,对象是键盘。 标准输出stdout,对象是屏幕。 标准错误输出stderr,对象也是屏幕。 二、java.io包中的数据流和文件类 字节流:从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。 InputStream、OutputStream FileInputStream、FileOutputStream PipedInputStream、PipedOutputStream ByteArrayInputStream、ByteArrayOutputStream FilterInputStream、FilterOutputStream DataInputStream、DataOutputStream BufferedInputStream、BufferedOutputStream 字符流:从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。 Reader、Writer InputStreamReader、OutputStreamWriter FileReader、FileWriter CharArrayReader、CharArrayWriter PipedReader、PipedWriter FilterReader、FilterWriter BufferedReader、BufferedWriter StringReader、StringWriter 三、字节流方法 InputStream 和OutputStream read():从流中读入数据 skip():跳过流中若干字节数 available():返回流中可用字节数 mark():在流中标记一个位置 reset():返回标记过得位置 markSupport():是否支持标记和复位操作 close():关闭流 int read() :从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。 int read(byte b[]) :读多个字节到数组中。 int read(byte b[], int off, int len):从输入流中读取长度为len的数据,写入数组b中从索引of f开始的位置,并返回读取得字节数。 write(int b) :将一个整数输出到流中(只输出低位字节,抽象) write(byte b[]) :将字节数组中的数据输出到流中 write(byte b[], int off, int len) :将数组b中从off指定的位置开始,长度为len的数据输出到流

JAVA输入输出和基本算法技巧

在有多行数据输入的情况下,一般这样处理, plaincopy 1.static Scanner in=new Scanner(System.in); 2.while(in.hasNextInt()) 3.或者是 4.while(in.hasNext()) 5.有关System.nanoTime()函数的使用,该函数用来返回最准确的可用系统计时器的当前值,以毫微秒为单位。 plaincopy 1.long startTime=System.nanoTime(); 2.//...the code being measured... 3.long estimatedTime=System.nanoTime()-startTime; 二、Java之输入输出处理 由于ACM竞赛题目的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。这也是困扰初学者的一大问题。1.输入: 格式1:Scanner sc=new Scanner(new BufferedInputStream(System.in)); 格式2:Scanner sc=new Scanner(System.in); 在读入数据量大的情况下,格式1的速度会快些。 读一个整数:int n=sc.nextInt();相当于scanf("%d",&n);或cin>>n; 读一个字符串:String s=sc.next();相当于scanf("%s",s);或cin>>s; 读一个浮点数:double t=sc.nextDouble();相当于scanf("%lf",&t);或cin>>t; 读一整行:String s=sc.nextLine();相当于gets(s);或cin.getline(...); 判断是否有下一个输入可以用sc.hasNext()或sc.hasNextInt()或sc.hasNextDouble()或 sc.hasNextLine()

Java 输入输出 的 基本原理及示例

来自: 亿淘城_减肥榜的个人笔记 xx你的支持(*^__^*)嘻嘻…… Java I/O原理 →基本概念: I/O(Input/Output) 数据源(Data Source) 数据xx(Data Sink) →Java中把不同的数据源与程序间的数据传输都抽象表述为“流”(Stream),java.io包中定义了多种I/O流类型实现数据I/O功能。 →I/O流分类: 输入流(Input Stream)和输出流(Output Stream) 节点流(Node Stream)和处理流(Processing Stream) 字符流(Character Stream)和字节流(Byte Stream) #输入流(Input Stream)和输出流(Output Stream) 1.输入流只能从中读取数据,而不能向其写数据; 2.输出流则只能向其写出数据,而不能从中读取数据; 3.特例: java.io.RandomAccessFile类。 #节点流(Node Stream)和处理流(Processing Stream) 1.节点流直接连接到数据源

2.处理流是对一个已存在的流的连接和封装,通过所封装的刘的功能 调用实现增强的数据读写功能,处理流并不直接连到数据源#字符流(Character Stream)和字节流(Byte Stream) 1.字节流以字节为单位进行数据传输,每次传送一个或多个字节。 2.字符流以字符为单位进行数据传输,每次传送一个或多个字符。 ※Java命名惯例: 凡是以InputStream 或OutputStream结尾的类型均为字节流,凡是以Reader或Writer 结尾的均为字符流。 InputStream 抽象类java.io.InputStream 是所有字节输入流类型的父类,该类中定义了以字节为单位读取数据的基本方法,并在其子类中进行了分化和实现。 ◆三个基本的read方法: Int read() Int read(byte[] buffer) Int read(byte[] buffer,int offset,int length) ◆其它方法: Void close() Int available() Skip(long n) Boolean markSupported() Void mark(int readlimit) Void reset()

java输入输出类

输入输出流 1、流的概念 Java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备链接。尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式。这样,相同的输入/输出类和方法适用于所有类型的外部设备。这意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台,磁盘文件或相连的网络。流是处理输入/输出的一个洁净的方法,例如它不需要代码理解键盘和网络的不同。Java中流的实现是在java.io包定义的类层次结构内部的。 2、输入输出流概念 2.1 输入/输出时,数据在通信通道中流动。所谓“数据流(stream)”指的是所有数据通信通道之中,数据的起点和终点。信息的通道就是一个数据流。只要是数据从一个地方“流”到另外一个地方,这种数据流动的通道都可以称为数据流。2.2 输入/输出是相对于程序来说的。程序在使用数据时所扮演的角色有两个:一个是源,一个是目的。若程序是数据流的源,即数据的提供者,这个数据流对程序来说就是一个“输出数据流”(数据从程序流出)。若程序是数据流的终点,这个数据流对程序而言就是一个“输入数据流”( 数据从程序外流向程序)。3、输入输出流 在java.io包中提供了60多个类(流)。 3.1 从功能上分为两大类:输入流和输出流。 3.2从流结构上可分为字节流(以字节为处理单位或称面向字节)和字符流(以字符为处理单位或称面向字符)。 3.3字节流的输入流和输出流基础是InputStream 和OutputStream 这两个抽象类,字节流的输入输出操作由这两个类的子类实现。字符流是Java 1.1版后新增加的以字符为单位进行输入输出处理的流,字符流输入输出的基础是抽象类Reader 和Writer 4、字节流和字符流 Java 2 定义了两种类型的流:字节流和字符流。字节流(byte stream)为处理字节的输入和输出提供了方便的方法。例如使用字节流读取或写入二进制数据。字符流(character stream)为字符的输入和输出处理提供了方便。它们采用了

java输入输出语句

System.out.print ——标准输出流 Java的流类,主要是:输入流类InputStream 输出流类OutputStream Java系统预先定义好3个流对象,静态属性 System.out 标准输出设备:显示器 System.in 标准输入设备:键盘 System.err 标准错误设备:屏幕 System.out PrintStream类对象,输出字节数据流 System.in InputStream类对象,输入字节数据流 System.err printStream类对象,输出系统错误信息 输入:命令行——Eclipase“运行设置”中的参数 直接从键盘输入——Like C Language ——专业术语:控制台窗口输入,即程序直接读取键盘输入的数据 public class Root { //求解方程ax+b=0的根x public static void main(String args[]) { float a, b, x; a=Float.parseFloat (args[0]); //命令行输入第一个数 b=Float.parseFloat (args[1]); //命令行输入第二个数 x=-b/a; // 求根 x System.out.println("x="+x); } } 将命令行第i个输入转换为以下类型的数据: 整型数 a=Integer.parseInt(args[i]); 短整型 a=Short.parseShort(args[i]); 单精度浮点: a=Float.parseFloat(args[i]); 双精度浮点: a=Double.parseDouble(args[i]); a=Long.parseLong (args[i]); a=Byte.parseByte (args[i]); Java 控制台输入 System.in.read() import java.io.*; // 声明导入IO包需要处理异常 throws IOException 要导入 java.io.* public class StandardIn1 { public static void main(String[] args) throws IOException{ System.out.println(" 输入一个字符"); //System.in.read(); //利用read()语句暂缓程序运行只过滤一个字符 char cc; cc=(char)System.in.read(); //从键盘输入 read 得到一个字符,是 int 型 System.out.print( cc); int c=System.in.read(); //从键盘输入

JAVA数据的输入和输出

JA VA数据的输入和输出 一、数据的输出 1、使用System.out.println(输出项)方法 System.out.println(输出项); 输出结果后换行。输出项可以是变量名、常量、表达式。 例: public class ex1 { public static main(String args[]) { System.out.println("欢迎学习JA V A"); //输出: 欢迎学习JA V A System.out.println(10*2+4); //输出: 24 System.out.println("a="+20); //输出: a=20 } } 2、使用System.out.print()方法 System.out.print(输出项); 在当前位置输出结果。 如: public class ex2 { public static void main(String args[]) { System.out.print("欢迎学习JA V A"); //输出: 欢迎学习JA V A System.out.print(10*2+4); //输出: 24 System.out.println("a="+20); //输出: a=20 System.out.println("b="+30); } }

3、使用javax.swing.JOptionPane包的showMessageDialog()方法 import javax.swing.JOptionPane; public class ex3 { public static void main(String[] args) { JOptionPane.showMessageDialog(null,"我学习JA V A,我快乐"); System.exit(0); } } 程序解释 (1)语句import javax.swing.JOptionPane;是导入语句,为编译器找到程序中要使用的类。(2)main()方法中的语句: JOptionPane.showMessageDialog(null,"我学习JA V A,我快乐"); 从类库加载的JOptionPane类中调用showMessageDialog()方法,这是一个显示对话框的方法。该方法有两个参数,第1个参数为null,第2参数是要显示的字符串,参数间用逗号分开。(3)System.exit(0)语句使用System类的exit()方法结束程序的运行。 二、数据的输入 1、使用命令行参数 main(String args[])方法的参数数组args接收命令行的参数,args[0]存放第一个参数字符串,args[1]存放第二个参数字符串,依此类推。 各个参数数组元素args[i]的值都是字符串,必须在main()方法中用相关的转换方法把字符串转换为对应的数据类型。(P142表10-1) 【例】从键盘上输入圆的半径,求圆的周长和面积。

实验04 Java输入输出流

实验四 Java 输入输出流 1.实验目的 (1) 掌握输入输出流的总体结构; (2) 掌握流的概念; (3) 了解各种流(包括文件流、过滤流、对象的序列化、随机访问)的使用。 2.实验内容 实验题1 编写一个Java Application程序,打印命令行输入的所有参数。 [基本要求] 编写完整程序。 右击建好的类,选择 Run as 来进行进行命令行的输入在选择OPEN RUN DIALOG 在argument里传入系统数据 package https://www.doczj.com/doc/5910526787.html,; public class TestArgs { /**java TestArgs how do you do. */

public static void main(String[] args) { for(String arg:args) System.out.println(arg); } } 实验题2 通过键盘输入路径,搜索指定路径下的全部内容。

package https://www.doczj.com/doc/5910526787.html,; import java.io.BufferedReader; import java.io.File; import javax.swing.JOptionPane; public class Input { //键盘输入的是字节流; public static void main(String[] args) { String path=null; StringBuilder sb = new StringBuilder(); System.out.print("请输入路径:"); //BufferedReader in= new BufferedReader(new FileReader()); path=JOptionPane.showInputDialog("请输入路径:");//返回的是字符串 File file=new File(path); File[] allfile=file.listFiles(); for(File f:allfile){ sb.append(f.getName()).append("\n"); } JOptionPane.showMessageDialog(null,sb.toString()); } } 实验题3设计一个类FileRWTest,实现从input.txt文件中读入数据到字符数组cBuffer中,然后再写入到文件“output.txt”中。 package https://www.doczj.com/doc/5910526787.html,; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.File; import java.io.IOException; public class FileRWTest { public static void main(String[] args) throws IOException { int b=0; File f1=new File("D:\\input.txt");

相关主题
文本预览
相关文档 最新文档