当前位置:   article > 正文

Java输入与输出详解_java的输入和输出

java的输入和输出


前言

推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。
https://www.captainbed.cn/f1

Java输入和输出涉及从各种来源(如键盘、文件等)读取数据以及将数据发送到各种目标(如屏幕、文件等)。Java提供了多种流类(如InputStreamOutputStream)来处理这些操作,允许开发者以灵活和高效的方式处理数据输入输出。


一、Java打印Hello World

新生婴儿会以自己独特的方式向这个崭新的世界打招呼,Java刚出来后,也算是一个新事物,

在这里插入图片描述

那Java是否也应该向这个美好的世界来声问候呢?

我们来看下Java是如何来实现问候的。

public static void main(String[] args) {
    System.out.println("Hello World");
}
  • 1
  • 2
  • 3

在这里插入图片描述

二、输出到控制台

基本语法

System.out.println(msg); // 输出一个字符串, 带换行 
System.out.print(msg);// 输出一个字符串, 不带换行 
System.out.printf(format, msg); // 格式化输出 
  • 1
  • 2
  • 3
  • println 输出的内容自带 \n, print 不带 \n
  • printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

代码示例

public static void main(String[] args) {
    System.out.println("hello world");
    int x = 10;
    System.out.printf("x = %d\n", x);
}
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

格式化字符串

转换符类型举例
d十进制整数 ("%d", 100)100
x十六进制整数 ("%x", 100)64
o八进制整数 ("%o", 100)144
f定点浮点数 ("%f", 100f)100.000000
e指数浮点数 ("%e", 100f)1.000000e+02
g通用浮点数 ("%g", 100f)100.000
a十六进制浮点数 ("%a", 100)0x1.9p6
s字符串 ("%s", 100)100
c字符 ("%c", ‘1’)1
b布尔值 ("%b", 100)true
h散列码 ("%h", 100)64
%百分号 ("%.2f%%", 2/7f)0.29%

三、从键盘输入

读入一个字符

直接使用 System.in.read 可以读入一个字符.

但是需要搭配异常处理

public static void main(String[] args) {
    System.out.print("Enter a Char:");
    char i = (char) System.in.read();
    System.out.println("your char is :"+i);
}
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

正确写法

import java.io.IOException;// 需要导入 IOException 包
public static void main(String[] args) {
    try {
        System.out.print("Enter a Char:");
        char i = (char) System.in.read();
        System.out.println("your char is :"+i);
    } catch (IOException e) {
        System.out.println("exception");
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

使用 Scanner 读取字符串/整数/浮点数

import java.util.Scanner; // 需要导入 util 包
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入你的姓名:");
    String name = sc.nextLine();
    System.out.println("请输入你的年龄:");
    int age = sc.nextInt();
    System.out.println("请输入你的工资:");
    float salary = sc.nextFloat();
    System.out.println("你的信息如下:");
    System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
    sc.close(); // 注意, 要记得调用关闭方法
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述
这段代码是一个简单的Java程序。它使用了Scanner类来从用户输入中获取数据。

首先,我们导入了java.util.Scanner类,这是一个可以从标准输入中读取数据的工具类。

然后,在main方法中,我们创建了一个Scanner对象sc来读取用户的输入。通过调用nextLine()方法,我们可以获取用户输入的姓名并将其保存在name变量中。接下来,通过调用nextInt()方法,我们获取用户输入的年龄并保存在age变量中。最后,通过调用nextFloat()方法,我们获取用户输入的工资并保存在salary变量中。

然后,我们输出了用户输入的信息。通过使用"+"操作符,我们将字符串和变量连接起来输出。

最后,我们调用了sc.close()方法来关闭Scanner对象,这是一个好的习惯,以释放资源并避免内存泄漏。

这样,程序就会等待用户输入,并将输入的姓名、年龄和工资打印出来。

使用 Scanner 循环读取 N 个数字

import java.util.Scanner; // 需要导入 util 包
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    double sum = 0.0;
    int num = 0;
    while (sc.hasNextDouble()) {
        double tmp = sc.nextDouble();
        sum += tmp;
        num++;
    }
    System.out.println("sum = " + sum);
    System.out.println("avg = " + sum / num);
    sc.close();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这段代码是一个简单的Java程序,它使用了Scanner类从用户输入中获取一系列的浮点数,并计算它们的总和和平均值。

首先,我们导入了java.util.Scanner类,这是一个用于从标准输入中读取数据的工具类。

然后,在main方法中,我们创建了一个Scanner对象sc来读取用户的输入。接下来,我们初始化了两个变量sumnum,用于保存浮点数的总和和数量。

然后,我们使用一个while循环来判断用户是否还输入了一个浮点数。通过调用sc.hasNextDouble()方法,我们可以判断下一个输入是否是一个浮点数。只要用户输入的还是浮点数,循环就会继续执行。

在循环体内,我们调用sc.nextDouble()方法来获取用户输入的浮点数,并将其保存在临时变量tmp中。然后我们将tmp的值累加到sum变量中,同时将num加1以记录输入的数量。

当用户输入结束后,也就是不再输入浮点数时,循环将会终止。此时,我们输出sum变量的值作为浮点数的总和,并通过sum / num计算出浮点数的平均值。

最后,我们调用sc.close()方法来关闭Scanner对象,这是一个好的习惯,以释放资源并避免内存泄漏。

这样,程序会一直等待用户输入浮点数,并计算它们的总和和平均值,直到没有更多的输入为止。

ps:当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl +d)
在这里插入图片描述


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/727611
推荐阅读
相关标签
  

闽ICP备14008679号