首页 > 编程知识 正文

java输出,java输出怎么换行

时间:2024-04-27 11:08:41 阅读:334732 作者:VXEW

本文目录一览:

Java的常用输入输出语句?

常用的输入语句是:

输入字符串:new Scanner(System.in).next();

输入整数:new Scanner(System.in).nextInt();

输入小数:new Scanner(System.in).nextDouble();

常用的输出语句:

换行输出: System.out.println(变量或字符串);

非换行输出: System.out.print(变量或字符串);

换行输出错误提示(默认是红字):System.err.println(变量或字符串);

不换行输出错误提示(默认是红字): System.err.print(变量或字符串));

Java中如何实现文件的输入和输出?

程序如下:x0dx0a x0dx0ax0dx0aFile file1 = new File("/home/a123/a"); x0dx0ax0dx0a if (file1.exists()) { x0dx0a System.out.println("存在文件夹a"); x0dx0a } else { x0dx0a file1.mkdir(); // 文件夹的创建 创建文件夹/home/a123/a x0dx0a } x0dx0a File file2 = new File("/home/a123/a/test"); x0dx0a if (file2.exists()) { x0dx0a System.out.println("存在文件夹或者文件test"); x0dx0a } else { x0dx0a try { x0dx0a file2.createNewFile(); // 文件的创建,注意与文件夹创建的区别 x0dx0a } catch (IOException e) { x0dx0a // TODO Auto-generated catch block x0dx0a e.printStackTrace(); x0dx0a } x0dx0a } x0dx0a x0dx0a /** x0dx0a * 最简单的文件读写方法是使用类FileWriter x0dx0a * (它的父类依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object ); x0dx0a */ x0dx0a x0dx0a // 下面是向文件file2里面写数据 x0dx0a try { x0dx0a FileWriter fileWriter = new FileWriter(file2); x0dx0a String s = new String("This is a test! n" + "aaaa"); x0dx0a fileWriter.write(s); x0dx0a fileWriter.close(); // 关闭数据流 x0dx0ax0dx0a} catch (IOException e) { x0dx0a // TODO Auto-generated catch block x0dx0a e.printStackTrace(); x0dx0a } x0dx0a x0dx0a /* x0dx0a * 这样写数据的话,是完全更新文件test里面的内容,即把以前的东西全部删除,重新输入。 x0dx0a * 如果不想删除以前的数据,而是把新增加的内容增添在文件末尾处。只需要在创建FileWriter对象时候,使用另外一个构造函数即可: x0dx0a * FileWriter fileWriter=new FileWriter(file2,true); x0dx0a */ x0dx0a x0dx0a // 下面是从文件file2读东西 x0dx0a try { x0dx0a FileReader fileReader = new FileReader(file2); x0dx0a String s = null; x0dx0a char ch; x0dx0a try { x0dx0a char[] c = new char[100]; x0dx0a fileReader.read(c,0,2); // 具体想得到文件里面的什么值(单个char?int?还是String?), x0dx0a System.out.println(c); x0dx0a fileReader.close(); x0dx0a x0dx0a } catch (IOException e) { x0dx0a // TODO Auto-generated catch block x0dx0a e.printStackTrace(); x0dx0a } x0dx0a x0dx0a } catch (FileNotFoundException e) { x0dx0a // TODO Auto-generated catch block x0dx0a e.printStackTrace(); x0dx0a } x0dx0a /** x0dx0a * 具体想得到文件里面的什么值(单个char?int?还是String?),需要知道不通read的不同用法: x0dx0a * 1. int read() 读取单个字符。 x0dx0a * 2. int read(char[] cbuf) 将字符读入数组。 可以再将字符型数组转化位字符串 x0dx0a * 3. int read(char[] cbuf,int off,int len) 将字符读入数组的某一部分。 x0dx0a * 这三个方法都返回一个int值,作用是:读取的字符数,如果已到达流的末尾,则返回 -1. x0dx0a */ x0dx0a x0dx0a }

java怎么输出?

java控制台输出由print( ) 和 println( )来完成最为简单。这两种方法由rintStream(System.out引用的对象类型)定义。尽管System.out是一个字节流,用它作为简单程序的输出是可行的。因为PrintStream是从OutputStream派生的输出流,它同样实现低级方法write(),write()可用来向控制台写数据。PrintStream 定义的write( )的最简单的形式如下:

void write(int byteval)

该方法按照byteval指定的数目向文件写字节。尽管byteval 定义成整数,但只有低位的8个字节被写入。下面的短例用 write()向屏幕输出字符“A”,然后是新的行。

// Demonstrate System.out.write().

class WriteDemo {

public static void main(String args[]) {

int b;

b = 'A';

System.out.write(b);

System.out.write('n');

}

}

一般不常用write()来完成向控制台的输出(尽管这样做在某些场合非常有用),因为print()和println() 更容易用。

四、PrintWriter类

尽管Java允许用System.out向控制台写数据,但建议仅用在调试程序时或在例程中。对于实际的程序,Java推荐的向控制台写数据的方法是用PrintWriter流。PrintWriter是基于字符的类。用基于字符类向控制台写数据使程序更为国际化。PrintWriter定义了多个构造函数,这里所用到的一个如下:

PrintWriter(OutputStream outputStream, boolean flushOnNewline)

outputStream是OutputStream类的对象,flushOnNewline控制Java是否在println()方法被调用时刷新输出流。如果flushOnNewline为true,刷新自动发生,若为false,则不发生。

PrintWriter支持所有类型(包括Object)的print( )和println( )方法,这样,就可以像用ystem.out那样用这些方法。如果遇到不同类型的情况,PrintWriter方法调用对象的toString()方法并打印结果。用PrintWriter向外设写数据,指定输出流为System.out并在每一新行后刷新流。例如这行代码创建了与控制台输出相连的PrintWriter类。

PrintWriter pw = new PrintWriter(System.out, true);

下面的应用程序说明了用PrintWriter处理控制台输出的方法:

// Demonstrate PrintWriter

import java.io.*;

public class PrintWriterDemo {

public static void main(String args[]) {

PrintWriter pw = new PrintWriter(System.out, true);

pw.println("This is a string");

int i = -7;

pw.println(i);

double d = 4.5e-7;

pw.println(d);

}

}

该程序的输出如下:

This is a string

-7

4.5E-7

io包支持Java的基本I/O(输入/输出)系统,包括文件的输入/输出。对输入/输出的支持是来源于Java的内核API库,而不是语言关键字。

一、输入/输出基础

很多实际的Java应用程序不是基于文本的控制台程序。尽管基于文本的程序作为教学实例是很出色的,它们无法胜任JAVA在实际中的重要应用。Java对外设输入/输出的支持也是有限的,并且用起来有些笨拙——甚至是在简单的例子程序中。基于文本的控制台输入/输出对于Java程序并不是十分重要。

Java 提供了与文件和网络相关的强大的和灵活的输入/输出支持,Java的输入/输出系统是紧密相连并且是具有一致性的。

1.1 流的概念

Java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备链接。尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式。这样,相同的输入/输出类和方法适用于所有类型的外部设备。这意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台,磁盘文件或相连的网络。流是处理输入/输出的一个洁净的方法,例如它不需要代码理解键盘和网络的不同。Java中流的实现是在java.io包定义的类层次结构内部的。

1.2 字节流和字符流

要使用流类,必须导入Java.io包。Java 2 定义了两种类型的流:字节类和字符类。字节流(byte stream)为处理字节的输入和输出提供了方便的方法。例如使用字节流读取或书写二进制数据。字符流(character stream)为字符的输入和输出处理提供了方便。它们采用了统一的编码标准,因而可以国际化。在某些场合,字符流比字节流更有效。在最底层,所有的输入/输出都是字节形式的。基于字符的流只为处理字符提供方便有效的方法。下面是对字节流和字符流的概述。

1.2.1 字节流类

字节流由两个类层次结构定义。在顶层有两个抽象类:InputStream 和 OutputStream。每个抽象类都有多个具体的子类,这些子类对不同的外设进行处理,例如磁盘文件,网络连接,甚至是内存缓冲区。字节流类显示于表1-1中。

表1-1 字节流类

流类 含义

BufferedInputStream缓冲输入流

BufferedOutputStream缓冲输出流

ByteArrayInputStream从字节数组读取的输入流

ByteArrayOutputStream向字节数组写入的输出流

DataInputStream包含读取Java标准数据类型方法的输入流

DataOutputStream包含编写Java标准数据类型方法的输出流

FileInputStream读取文件的输入流

FileOutputStream写文件的输出流

FilterInputStream实现InputStream

FilterOutputStream实现OutputStream

InputStream描述流输入的抽象类

OutputStream描述流输出的抽象类

PipedInputStream输入管道

PipedOutputStream输出管道

PrintStream包含print()和println()的输出流

PushbackInputStream 支持向输入流返回一个字节的单字节的“unget”的输入流

RandomAccessFile支持随机文件输入/输出

SequenceInputStream两个或两个以上顺序读取的输入流组成的输入流

抽象类InputStream 和 OutputStream定义了实现其他流类的关键方法。最重要的两种方法是read()和write(),它们分别对数据的字节进行读写。两种方法都在InputStream 和OutputStream中被定义为抽象方法。它们被派生的流类重载。

1.2.2 字符流类

字符流类由两个类层次结构定义。顶层有两个抽象类:Reader和Writer。这些抽象类处理统一编码的字符流。Java中这些类含有多个具体的子类。字符流类如表1-2所示。

表1-2 字符流的输入/输出类

抽象类Reader和Writer定义了几个实现其他流类的关键方法。其中两个最重要的是read()和write(),它们分别进行字符数据的读和写。这些方法被派生流类重载。

1.3 预定义流

所有的Java程序自动导入java.lang包。该包定义了一个名为System的类,该类封装了运行时环境的多个方面。System 同时包含三个预定义的流变量,in,out和err。这些成员在System中是被定义成public 和static型的,这意味着它们可以不引用特定的System对象而被用于程序的其他部分。

System.out是标准的输出流。默认情况下,它是一个控制台。System.in是标准输入,默认情况下,它指的是键盘。System.err指的是标准错误流,它默认是控制台。然而,这些流可以重定向到任何兼容的输入/输出设备。System.in 是inputStream的对象;System.out和System.err是PrintStream的对象。它们都是字节流,尽管它们用来读写外设的字符。但可以用基于字符的流来包装它们。

二、读取控制台输入

在Java 1.0中,完成控制台输入的惟一途径是字节流,使用该方法的老代码依然存在。今天,运用字节流读取控制台输入在技术上仍是可行的,但这样做需要用到不被赞成的方法,这种做法不值得推荐。Java 2中读取控制台输入的首选方法是字符流,它使程序容易符合国际标准并且易于维护。

Java没有像标准C的函数scanf()或C++输入操作符那样的统一的控制台输入方法。Java中,控制台输入由从System.in读取数据来完成。为获得属于控制台的字符流,在BufferedReader对象中包装System.in。BufferedReader 支持缓冲输入流查看批注。它最常见的构造函数如下:

BufferedReader(Reader inputReader)

这里,inputReader是链接被创建的BufferedReader实例的流。Reader是一个抽象类。它的一个具体的子类是InputStreamReader,该子类把字节转换成字符查看批注。为获得链接System.in的一个InputStreamReader的对象,用下面的构造函数:

InputStreamReader(InputStream inputStream)

因为System .in引用了InputStream 类型的对象,它可以用于inputStream。综上所述,下面的一行代码创建了与键盘相连的BufferedReader对象。

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

当该语句执行后,br是通过System.in生成的链接控制台的字符流。

2.1 读取字符

从BufferedReader读取字符,用read()。这里所用的read()版本如下:

int read( ) throws IOException

该方法每次执行都从输入流读取一个字符然后以整型返回。当遇到流的末尾时它返回-1。可以看到,它要引发一个IOException异常。下面的例程演示了read()方法,从控制台读取字符直到用户键入“q”:

// Use a BufferedReader to read characters from the console.

import java.io.*;

class BRRead {

public static void main(String args[])

throws IOException

{

char c;

BufferedReader br = new

BufferedReader(new InputStreamReader(System.in));

System.out.println("Enter characters, 'q' to quit.");

// read characters

do {

c = (char) br.read();

System.out.println(c);

} while(c != 'q');

}

}

下面是程序运行:

Enter characters, 'q' to quit.

123abcq

1

2

3

a

b

c

q

2.2 读取字符串

从键盘读取字符串,使用readLine()。它是BufferedReader 类的成员。它的通常形式如下:

String readLine( ) throws IOException

它返回一个String对象。下面的例子阐述了BufferedReader类和readLine()方法;程序读取和显示文本的行直到键入“stop”:

// Read a string from console using a BufferedReader.

import java.io.*;

class BRReadLines {

public static void main(String args[])

throws IOException

{

// create a BufferedReader using System.in

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

String str;

System.out.println("Enter lines of text.");

System.out.println("Enter 'stop' to quit.");

do {

str = br.readLine();

System.out.println(str);

} while(!str.equals("stop"));

}

}

下面的例程生成了一个小文本编辑器。它创建了一个String对象的数组,然后依行读取文本,把文本每一行存入数组。它将读取到100行或直到按“stop”才停止。该例运用一个BufferedReader类来从控制台读取数据。

// A tiny editor.

import java.io.*;

class TinyEdit {

public static void main(String args[])

throws IOException

{

// create a BufferedReader using System.in

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

String str[] = new String[100];

System.out.println("Enter lines of text.");

System.out.println("Enter 'stop' to quit.");

for(int i=0; i100; i++) {

str[i] = br.readLine();

if(str[i].equals("stop")) break;

}

System.out.println("nHere is your file:");

// display the lines

for(int i=0; i100; i++) {

if(str[i].equals("stop")) break;

System.out.println(str[i]);

}

}

}

下面是输出部分:

Enter lines of text.

Enter ‘stop’ to quit.

This is line one.

This is line two.

Java makes working with strings easy.

Just create String objects.

stop

Here is your file:

This is line one.

This is line two.

Java makes working with strings easy.

Just create String objects.

java语言的输出函数怎么写?

Java中常用的输出语句有以下三种

1.System.out.println();

2.System.out.print();

3.System.out.printf()

System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法(1),将返回值输出到控制台

System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。

输入输出体系介绍

什么是输入输出处理(IO)

包括对控制台,内存,文件,图形图像,网络和数据库的读写等。在Java语言中,java.io包就提供了 

很多完成输入输出处理功能。

什么是流?

流是一种有序的字节源或目的,当程序需要读取数据时就要打开一个通向数据源的流;而当程序需要 

写入数据的时候就会打开一个通向目的地的流,数据就好像在管道中流动一样。 

流的分类 

将流按三种方式分类:输入流和输出流,字节流和字符流,以及从一个特定地方读写的结点流和连接已经存在的流的过滤流。这种分类方式是相互重叠的

输入流和输出流

字节流和字符流

从一个特定地方读写的结点流和连接已经存在的流的过滤流

基本流的介绍

基本流一般是指

InputStream

OutputStream

Reader

Writer

1.InputStream

这个类是一个抽象类,为所有字节输入类的父类,其方法都是通过子类对象来调用的,主要方法有 

2.OutputStream

这个类是抽象类,是所有字节输出类的父类,其方法都是通过子类对象来调用 

3.字符输入输出系列(字符IO)

输入输出两大分支,以Reader为父类的字符输入,以Writer为父类的字符输出。它们与各自的子类共同构成了字符输入输出体系

字符输入输出

4.Reader

是一个用于读取字符类的抽象类,为所有字符输入类的父类,其方法都是通过子类对象来调用的。 

5.Writer

是一个用于写入字符流的抽象类,为所有输出字符类的父类,其方法都是通过子类对象来调用的。

扩展:

Java简介:

Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器

1994年将Oak语言更名为Java

1998年JDK1.2时,更名为Java 2 Platform 

分为标准版J2SE,企业版J2EE,微型版J2ME

Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题

Internet使Java成为网上最流行的编程语言

Java对Internet的影响也意义深远

B/S的兴起 C/S的没落

任职于太阳微系统的詹姆斯•高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用替换,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口替换,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。”

Java不同于一般的编译语言或直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。

与传统型态不同,Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。

java语句中输出内容是v.i该怎么输出

java语句中输出内容是v.i该怎么输出

java中输出数据可以使用“System.out.println()”语句,该语句是最常用的输出语句,该语句会把括号里的内容转换成字符串输出到控制台,并且换行。

java中是如何输出变量的值?

java中的输入使用System.out.println()或者System.out.print()。x0dx0a具体代码如下:x0dx0apublicclassDemo{x0dx0apublicstaticvoidmain(String[]args){x0dx0ainti=123;x0dx0aSystem.out.println(i);x0dx0aSystem.out.print(i);x0dx0a}x0dx0a}x0dx0a有几点需要注意:x0dx0a1、输出方法必须写在主方法(也就是main方法)中,否则程序运行不了,即输不出数据;x0dx0a2、System.out.println()与System.out.print()的区别是前者输出后自动换行,后者输出后不换行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。