java中,比较两个数的大小 返回给主方法

java中,比较两个数的大小 返回给主方法,第1张

代码如下:

package test;

import javautilScanner;

public class Test {

/

  比较两个数的大小并返回较大的值

  既然没说整型还是浮点型,那就用浮点型了,浮点型范围大

 /

public static void getBig(double a,double b){

if(a>b){

Systemoutprintln(a);

}else if(b>a){

Systemoutprintln(b);

}else{

Systemoutprintln("a和b一样大!");

Systemoutprintln(a);

}

}

public static void main(String[] args) {

Systemoutprintln("请输入两个数:");

//创建Scanner对象,并用a和b保存输入的两个数,注意导入相应的包

Scanner input = new Scanner(Systemin);

double a = inputnextDouble();

double b = inputnextDouble();

//调用比较大小的方法

//这里我把方法用static修饰方便直接调用,而不用再去创建类的对象了

getBig(a,b);

//注意关闭输入流

inputclose();

}

}

首先你要知道 read()这个api返回的是撒:

从此输入流中读取下一个数据字节。返回一个 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有字节可用,则返回 -1。在输入数据可用、检测到流末尾或抛出异常之前,此方法将一直阻塞。

多看看api

一、超类:

字节流: InputStream(读入流) OutputStream(写出流)

字符流:    Reader(字符 读入流)    Writer (字符写出流)

二、文件 *** 作流

字节流: FileInputStream  ,FileOutputStream

字符流: FileReader, FileWriter(用法与字节流基本相同,不写)

//1指定要读 的文件目录及名称

File file =new File("文件路径");

//2创建文件读入流对象

FileInputStream fis =new FileInputStream(file);

//3定义结束标志,可用字节数组读取

int i =0 ;

while((i = fisread())!=-1){

//i 就是从文件中读取的字节,读完后返回-1

}

//4关闭流

fisclose();

//5处理异常

//1指定要写到的文件目录及名称

File file =new File("文件路径");

//2创建文件读入流对象

FileOutputStream fos =new FileOutputStream(file);

//3定义结束标志

foswrite(要写出的字节或者字节数组);

//4刷新和关闭流

fosflush();

fosclose();

//5处理异常

三、缓冲流:

字节缓冲流: BufferedInputStream,BufferedOutputStream

字符缓冲流:BufferedReader ,BufferedWriter

缓冲流是对流的 *** 作的功能的加强,提高了数据的读写效率。既然缓冲流是对流的功能和读写效率的加强和提高,所以在创建缓冲流的对象时应该要传入要加强的流对象。

//1指定要读 的文件目录及名称

File file =new File("文件路径");

//2创建文件读入流对象

FileInputStream fis =new FileInputStream(file);

//3创建缓冲流对象加强fis功能

BufferedInputStream bis =new BufferedInputStream(fis);

//4定义结束标志,可用字节数组读取

int i =0 ;

while((i = bisread())!=-1){

//i 就是从文件中读取的字节,读完后返回-1

}

//5关闭流

bisclose();

//6处理异常

//1指定要写到的文件目录及名称

File file =new File("文件路径");

//2创建文件读入流对象

FileOutputStream fos =new FileOutputStream(file);

//3创建缓冲流对象加强fos功能

BufferedOutputStream bos=new BufferedOutputStream(fos);

//4向流中写入数据

boswrite(要写出的字节或者字节数组);

//5刷新和关闭流

bosflush();

bosclose();

//6处理异常

四、对象流

ObjectInputStream ,ObjectOutputStream

不同于以上两种类型的流这里只能用字节对对象进行 *** 作原因可以看上篇的编码表比照原理

ObjectOutputStream对象的序列化:

将java程序中的对象写到本地磁盘里用ObjectOutputStream

eg:将Person类的对象序列化到磁盘

创建Person类

注1:此类要实现Serializable接口,此接口为标志性接口

注2:此类要有无参的构造函数

注3:一旦序列化此类不能再修改

class Person implements Serializable{

public Person(){}

}

2创建对象流对象

注:要增强功能可以将传入文件缓冲流

ObjectOutputStream oos =new ObjectOutputStream(

new FileOutputStream(new File("文件路径")));

3写入对象 ,一般会将对象用集合存储起来然后直接将集合写入文件

List<Person> list =new ArrayList<>();

listadd(new Person());

(可以添加多个)

ooswriteObject(list);

4关闭流,处理异常

oosflush();

oosclose();

五、转换流:

这类流是用于将字符转换为字节输入输出,用于 *** 作字符文件,属于字符流的子类,所以后缀为reader,writer;前缀inputstream,outputstream;

注 :要传入字节流作为参赛

InputStreamReader: 字符转换输出流

OutputStreamWriter:字符转换输入流

//1获取键盘输入的字节流对象

inInputStream in =Streamin;

/2用转换流将字节流对象转换为字符流对象,方便调用字符缓冲流的readeLine()方法/

InputStreamReader isr =new InputStreamReader(in);

/5创建字符转换输出流对象osw,方便把输入的字符流转换为字节输出到本地文件。/

OutputStreamWriter osw =new OutputStreamWriter(new

FileOutputStream(new File("文件名")));

/3现在isr是字符流,可以作为参数传入字符缓冲流中/

BufferedReader br =new BufferedReader(isr);

/4可以调用字符缓冲流br的readLine()方法度一行输入文本/

String line =null;

while((line =brreadLine()){

oswwrite(line);//osw是字符流对象,可以直接 *** 作字符串

}

注:InputStreamReader isr =new InputStreamReader(new "各种类型的字节输入流都行即是:后缀为InputStream就行");

OutputStreamWriter osw =new OutputStreamWriter(new

"后缀为OutputStream就行");

六、区别记忆

1对象流是可以读写几乎所有类型的只要是对象就行,而字节字符流,只能读写单个字节字符或者字节字符数组,以上没有读写字节字符数组的;注意对象流只有字节流!

2字符和字节循环读入的结束条件int i=0; (i =fisread())!=-1

用字符数组复制文件(fr 读入流 ,fw写出流),字节流也是相同的用法

int i = 0;  char[] c = new char[1024];

while((i = frreade()) !=-1)){

fwwrite(c,0,i);

}

123456

3对象流里面套缓冲流的情景:

new ObjectInputStream(new BufferedInputStream(new FileInputStream(new File(“文件路径”))));

4记忆流及其功能的方法:

前缀表示功能,后缀表示流的类型;

比如说FileInputStream  前缀:File,表示 *** 作的磁盘,后缀:intputstream,表示是字节输入流。

同理 FileReader:表示 *** 作文件的字符流

ObjectInputStream : *** 作对象的字节输入流

5拓展:获取键盘输入的字符的缓冲流的写法:

new BufferedReader(new InputStreamReader(Systemin)));

将字节以字符形式输出到控制台的字符缓冲流的写法:

new BufferedWriter( new OutputStreamWriter(Systemout))

使用java poi

package webservice;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioFileOutputStream;

import javaioIOException;

import orgapachepoihssfusermodelHSSFCell;

import orgapachepoihssfusermodelHSSFRow;

import orgapachepoihssfusermodelHSSFSheet;

import orgapachepoihssfusermodelHSSFWorkbook;

public class ExcelController {

@SuppressWarnings("deprecation")

public void excel() throws FileNotFoundException, IOException{

String filename = "d:\\excelxls";

HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filename));

//按名引用excel工作表

// HSSFSheet sheet = workbookgetSheet("JSP");

//也可以用以下方式来获取excel的工作表,采用工作表的索引值

HSSFSheet sheet = workbookgetSheetAt(0);

HSSFRow row ;

HSSFCell cell1;

int rows=sheetgetLastRowNum();

for(int icount=0;icount<rows;icount++){

row = sheetgetRow(icount);

int line=rowgetPhysicalNumberOfCells();

for(int j=0;j<line;j++){

cell1= rowgetCell(j);

Systemoutprintln(cell1+"--"+icount+"---"+j);

}

}

//打印读取值

// Systemoutprintln(cellgetStringCellValue());

//新建一输出流

FileOutputStream fout = new FileOutputStream(filename); //PS:filename 是你另存为的路径,不处理直接写入模版文件

//存盘

workbookwrite(fout);

foutflush();

//结束关闭

foutclose();

}

public HSSFCell getCell(HSSFRow row, int index) {

// 取得分发日期单元格

HSSFCell cell = rowgetCell(index);

// 如果单元格不存在

if (cell == null) {

// 创建单元格

cell = rowcreateCell(index);

}

// 返回单元格

return cell;

}

public static void main(String[] args) {

ExcelController ec = new ExcelController();

try {

ecexcel();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

outputwrite(buffer, 0, temp);表示读了多少个字节就写多少个字节。最多字节数和buffer长度一样

outputwrite(buffer,0,bufferlength);表示写buffer数组长度那么多个字节。

以上就是关于java中,比较两个数的大小 返回给主方法全部的内容,包括:java中,比较两个数的大小 返回给主方法、java流的问题,从文件中读取一个字节,为什么要用int变量来表示,为什么不用别的、java的几种IO流读取文件方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9512880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存