【JAVA的输入与输出全解】

简介: 【JAVA的输入与输出全解】

一、概述

Java语言体系中,对数据流的主要操作都封装在java.io包中,通过java.io包中的类可以实现计算机对数据的输入、输出操作。在编写输入、输出操作代码时,需要用import语句将java.io包导入到应用程序所在的类中,才可以使用java.io中的类和接口。

二、输入语句

方法一:.使用Scanner

(1)使用java.util包。 然后引入(或导入) import java.util.*;

(2)构造Scanner类对象,它附属于标准输入流System.in。

Scanner s = new Scanner(System.in);(s自定义方法名)

(3)常用的next()方法系列:

  1. nextInt():输入整数
  2. nextLine():输入字符串
  3. nextDouble():输入双精度数
  4. next():输入字符串(以空格作为分隔符)
import java.util.Scanner;
public static void main(String [] args) { 
        Scanner scan = new Scanner(System.in); 
       System.out.println("请输入你的姓名:"); 
        String name = scan.nextLine(); 
       System.out.println("请输入你的年龄:"); 
        int age = scan.nextInt(); 
       System.out.println("请输入你的工资:"); 
        float salary = scan.nextFloat(); 
       System.out.println("你的信息如下:"); 
       System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary); 
}

代码实例:

计算利率输入本金 a,存款年数 n,利率 r,求利息 s。输出的结果精确到分。利息的计算公式如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬

备注:实型数据在程序中用 double 类型。

输入格式:

输入本金 a,存款年数 n,利率 r;各个数据之间用空格分隔。

输出格式:

输出利息s。

import java.util.*;\\引入Scanner的包 ||import java.util.Scanner;
public class Main
{
  public static void main (String[] args) 
  {
   Scanner scan = new Scanner(System.in);
   double a = scan.nextDouble(),n = scan.nextDouble(), r = scan.nextDouble();scan.nextDouble();
     double s = a*Math.pow((1+r),n)-a;
     System.out.printf("s=%.2f",s);
  }
}  

注意

next()和nextLine的区别:

在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。

方法二:从控制台接收一个字符,然后将其打印出来

import java.io.;
public static void main(String [] args) throws IOException{ 
       System.out.print("Enter a Char:"); 
        char i = (char) System.in.read(); 
       System.out.println("your char is :"+i); 
} 

虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。

方法三:从控制台接收一个字符串,然后将其打印出来。 在这个题目中,我们需要用到BufferedReader类和InputStreamReader类

步骤:

(1)使用java.io包。 import java.io.*;

(2)构造 BufferedReader类对象,它附属于标准输入流System.in。

import java.io.*;
public static void main(String [] args) throws IOException{ 
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
         String str = null; 
         System.out.println("Enter your value:"); 
         str = br.readLine(); 
         System.out.println("your value is :"+str); 
}

这样我们就能获取我们输入的字符串。

注意

1)read方法:读取单个字符。 返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1 ;

(2)readLine方法:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 (’\n’)、回车 (’\r’) 或回车后直接跟着换行。 返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。

三、输出语句

Java中的输出语句有以下四种:

System.out.println(); //换行打印
System.out.print(); //不换行打印
System.out.write(); //字节输出
System.out.printf("%.3f\n", s); //按格式输出

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

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

3.System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。


目录
打赏
0
0
0
0
17
分享
相关文章
【JavaSE】Java基础语法(四十五):TCP UDP 全解
1. TCP发送数据 Java中的TCP通信 Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。 Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
Java 8 - Optional全解
Java 8 - Optional全解
146 1
面霸篇:Java 核心集合容器全解(核心卷二)
面霸篇:Java 核心集合容器全解(核心卷二)
90 0
Java基础——ArrayList方法全解(字典版)
ArrayList 方法字典,可用来日常天天见.不用死记硬背,只需要用到的时候知道有这个东西即可.防止重复造轮子...
390 1
|
2月前
|
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
213 60
【Java并发】【线程池】带你从0-1入门线程池
|
21天前
|
【源码】【Java并发】从InheritableThreadLocal和TTL源码的角度来看父子线程传递
本文涉及InheritableThreadLocal和TTL,从源码的角度,分别分析它们是怎么实现父子线程传递的。建议先了解ThreadLocal。
56 4
【源码】【Java并发】从InheritableThreadLocal和TTL源码的角度来看父子线程传递
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
100 23