JAVA的输入输出

Posted 努力的地球人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA的输入输出相关的知识,希望对你有一定的参考价值。

1.Java的输出

System,out,println(); //输出且换行
System.out.print(); //输出不换行
System.out.printf(); //提供字符格式化

示例

class Output
	public static void main(String args[])
		System.out.println("1.println");
		System.out.println("2.println");
		System.out.print("1.print");
		System.out.print("2.print");
		System.out.print("\\n");
		System.out.println("我喜欢"+"汉堡包");
	

输出

1.println
2.println
1.print2.print
我喜欢汉堡包

在Java中,可以用+运算符来连接两个字符串,如上面的代码 System.out.println(“我喜欢”+“汉堡包”); 输出的是对“我喜欢”和“汉堡包”两个字符串的串联
printf
Java中printf的运用于C/C++中printf的运用类似

Java的输入

Scanner类
为了使用scanner类,我们首先需要导入java.util.Scanner包

import java.util.Scanner;

创建scanner对象,从用户获取输入

//创建scanner对象
Scanner str=new Scanner(System.in);
//接受用户输入
int w=str.nextInt();

在上面的代码中,我们调用了nextInt()来获取用户输入的单词,注意如果输入的单词不是数字型单词,会发生InputMismatchException异常
除了nextInt()函数,还可以使用nextLong(),nextFloat(),nextDouble()和next()方法来分别从用户获取long,float,double和string输入。

方法描述
nextInt()从用户读取int值
nextFloat()从用户读取float值
nextBoolean()从用户读取boolean值
nextLine()从用户读取一行文本
next()从用户那里读取一个单词
nextByte()从用户读取byte值
nextDouble()从用户读取double值
nextShort()从用户读取short值
nextLong()从用户读取long值

注意: 可以使用close()来关闭对象。建议一旦输入,就关闭scanner对象。

示例

import java.util.Scanner;
public class Input 
	public static void main(String args[]) 	
	        Scanner scanner=new Scanner(System.in);
	        //参数System.in表示从键盘输入
	        int n=scanner.nextInt();
	        System.out.println(n);
	        //这里是用int型的n接收scanner过来的数据
	        long b=scanner.nextLong();//其他类型以此类推,你要读入什么类型的数据,就next啥
	        System.out.println(b);
	        //关于读入字符串
	        String str= scanner.nextLine();
	        System.out.println(str);
	         scanner.close();
	    


输入

55
22
	

在输入第二个数据后回车,就不能在输入框输入数据了,这是因为,在输入第二个数据后进行了回程,程序就认为它的任务是接受回车,它接受了,就不会再接受任务了,所以,在编程过程中,建议将字符串的读入放在前面。
输出

55
22

JAVA提供了不同的获取用户输入的方法,在后面的学习中会继续补充。。。

java中输出流不关闭为啥不能写入

java中输出流不关闭是可以写入的,只不过不关闭的话,使用时间长了,会导致严重的内存泄露,导致程序退出。

 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管,将两个容器连接起来。将数据冲外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
  
public class StandardInputOutput   
    public static void main(String args[])   
        String s;  
        // 创建缓冲区阅读器从键盘逐行读入数据  
        InputStreamReader ir = new InputStreamReader(System.in);  
        BufferedReader in = new BufferedReader(ir);  
        System.out.println("Unix系统: ctrl-d 或 ctrl-c 退出"  
                + "\\nWindows系统: ctrl-z 退出");  
        try   
            // 读一行数据,并标准输出至显示器  
            s = in.readLine();  
            // readLine()方法运行时若发生I/O错误,将抛出IOException异常  
            while (s != null)   
                System.out.println("Read: " + s);  
                s = in.readLine();  
              
            // 关闭缓冲阅读器  
            in.close();  
         catch (IOException e)  // Catch any IO exceptions.  
            e.printStackTrace();  
          
      
参考技术A 不是不关闭就不能写入,而是已经在内存缓冲中写入,但并没有写到文档中,所以你看不到
你可以加入调用 flush()方法 刷新该缓冲,那个关闭输出流 和flush()方法一样,都可以刷新缓冲,但close可以节省内存,如果总是调用流,但不关闭,导致内存大量占用,程序崩溃本回答被提问者采纳
参考技术B 调用flush()清除一下缓存就行了

以上是关于JAVA的输入输出的主要内容,如果未能解决你的问题,请参考以下文章

java中处理中文输入,不需要用到的类是

JAVA输入一个数字逆序输出?

输入a ,b 求出和 并且输出(多组输入) java语言

Java倒序输出数字

Java 常用数据类型的输入输出

JAVA语言程序设计题目,求高人解答