java之输入与输出的详细介绍

news2024/12/26 0:24:54

文章目录

  • 输出的相关格式
      • 使用 `Scanner` 类进行控制台输入
        • 步骤:
        • 示例:
  • 如何格式化输出?
      • 1. 使用 `System.out.printf`
      • 2. 使用 `String.format`
  • printf与println 的区别
      • `printf`
      • `println`
      • 主要区别:

在这里插入图片描述

输出的相关格式

控制台输入是指通过命令行或控制台接收用户输入。在 Java 中,最常用的方式是使用 Scanner 类来从控制台获取用户输入。这种方式可以接受各种类型的输入,如整数、浮点数、字符串等。以下是详细介绍控制台输入的基本用法:

使用 Scanner 类进行控制台输入

步骤:
  1. 导入必要的类

    import java.util.Scanner;
    
  2. 创建 Scanner 对象

    Scanner scanner = new Scanner(System.in);
    

    这里 System.in 表示标准输入流,即从控制台获取输入。

  3. 读取不同类型的输入

    • 读取字符串nextLine() 方法用于读取整行输入。

      String inputString = scanner.nextLine();
      
    • 读取单个单词或标记next() 方法用于读取以空格分隔的下一个输入。

      String word = scanner.next();
      
    • 读取整数nextInt() 方法用于读取整数。

      int number = scanner.nextInt();
      
    • 读取浮点数nextDouble() 方法用于读取浮点数。

      double decimal = scanner.nextDouble();
      
  4. 使用完毕后关闭 Scanner 对象

    scanner.close();
    
示例:

下面是一个简单的示例,演示如何从控制台获取用户输入并展示获取的信息:

import java.util.Scanner;

public class ConsoleInputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入您的名字: ");
        String userName = scanner.nextLine();
        System.out.println("您输入的名字是: " + userName);

        System.out.print("请输入一个整数: ");
        int number = scanner.nextInt();
        System.out.println("您输入的整数是: " + number);

        // 记得关闭 Scanner 对象
        scanner.close();
    }
}

这个示例中,用户被提示输入名字和整数,并且程序读取这些输入。请注意,在实际应用中,你可能需要处理异常和错误情况,以确保程序在用户输入不符合预期时能够正常运行。

如何格式化输出?

在 Java 中,可以使用 System.out.printfString.format 方法来控制输出浮点数的位数。这两种方法允许你指定浮点数的格式以及所需的小数位数。下面是两种方法的示例:

1. 使用 System.out.printf

System.out.printf 允许你指定格式化字符串来控制浮点数的输出。你可以使用 %.nf 来指定保留小数点后 n 位的格式,其中 n 代表要保留的小数位数。

示例:

double number = 123.456789;
System.out.printf("保留两位小数: %.2f%n", number);

2. 使用 String.format

String.format 方法允许你以类似的方式格式化字符串,但是不会直接输出到控制台。它返回格式化后的字符串,你可以进一步处理或输出。

示例:

double number = 123.456789;
  // 保留三位小数
System.out.println("格式化后的数字:" + String.format("%.3f", number));

这些方法可以让你以所需的精度输出浮点数。请注意,在这些示例中,%.2f 表示保留两位小数,%.3f 表示保留三位小数。根据需要,你可以调整数字以匹配你想要的精度。

printf与println 的区别

printfprintln 是 Java 中用于输出的两种不同方式,它们有以下区别:

printf

  • 格式化输出printf 允许你使用格式化字符串来控制输出的格式。你可以指定字符串的格式,包括整数位数、浮点数精度以及其他格式规范。

    示例

    int num = 10;
    double value = 3.14159;
    System.out.printf("整数:%d,浮点数:%.2f%n", num, value);
    
  • 不自动换行printf 不会自动换行,除非你显式地在格式化字符串结尾包含 %n 或者调用 System.out.println() 来输出一个换行。

println

  • 普通输出println 用于打印一行字符串到控制台,不进行格式化处理。

    示例

    int num = 10;
    double value = 3.14159;
    System.out.println("整数:" + num + ", 浮点数:" + value);
    
  • 自动换行println 在输出完成后自动换行到下一行。

主要区别:

  1. 格式化 vs. 普通输出printf 允许格式化输出,而 println 只是输出字符串。
  2. 控制换行printf 需要在格式化字符串中使用 %n 或者显示调用换行符来换行;而 println 在输出后自动换行。

选择使用哪种输出方式取决于你的需求。如果你需要控制输出的格式或者不想自动换行,可以使用 printf。如果只需要普通输出并且希望自动换行,可以使用 println

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1147692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA中的垃圾回收器(2)------G1

一)G1垃圾回收器:-XX:UseG1GC:使用G1收集器 1)垃圾收集器迭代停顿时间越少越好,但是垃圾回收的总时间会增多,默认暂停时间默认是200ms,G1的内部底层算法非常复杂比CMS复杂,如果大内存,G1还比较有效果,但是如…

leetcode-数组

1.二分法手撕704&#xff08;诀窍在于用合法区间判断&#xff09;230810 左闭右闭: while(left<right)合法&#xff0c;middle(leftright)/2, if(nums[middle]>target)说明nums[middle]一定不是我们搜索的值&#xff0c;所以rightmiddle-1; elseif(nums[middle]<targe…

基于单片机的太阳跟踪系统的设计

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、硬件电路设计2.1跟踪控制方案的选择2.1.1跟踪系统坐标系的选择2.2系统总体设计及相关硬件介绍…

9、电路综合-基于简化实频的任意幅频响应的微带电路设计

9、电路综合-基于简化实频的任意幅频响应的微带电路设计 网络综合和简化实频理论学习概述中的1-8介绍了SRFT的一些基本概念和实验方法&#xff0c;终于走到了SRFT的究极用途&#xff0c;给定任意响应直接综合出微带电路。 1、任意幅频响应的微带电路设计用途 我们演示了采用…

Flask基本教程以及Jinjia2模板引擎简介

flask基本使用 直接看代码吧&#xff0c;非常容易上手&#xff1a; # 创建flask应用 app Flask(__name__)# 路由 app.route("/index", methods[GET]) def index():return "FLASK&#xff1a;欢迎访问主页&#xff01;"if __name__ "__main__"…

【多线程面试题九】、说一说sleep()和wait()的区别

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说sleep()和wait()的…

如何使用 Docker 搭建 Jenkins 环境?从安装到精通

不少兄弟搭 jenkins 环境有问题&#xff0c;有的同学用 window, 有的同学用 mac&#xff0c; 有的同学用 linux。 还有的同学公司用 window, 家里用 mac&#xff0c;搭个环境头发掉了一地。。。 这回我们用 docker 去搭建 jenkins 环境&#xff0c;不管你是用的是什么系统&…

方太描画未来厨房的模样

作者 | 辰纹 来源 | 洞见新研社 不知不觉中&#xff0c;iPhone已经更新到15代了&#xff0c;家里的电视变成了越来越轻薄的液晶屏&#xff0c;过去被称为“老三样”的富康&#xff0c;捷达、桑塔纳&#xff0c;如今也被以特斯拉为代表的新能源智能汽车们所取代…… 类似以上的…

第五章 I/O管理 一、I/O设备的基本概念和分类

目录 一、什么是I/O设备 1、定义&#xff1a; 2、按特性分类&#xff1a; 3、按传输速率分类&#xff1a; 4、按信息交换的方式分类&#xff1a; 二、总结 一、什么是I/O设备 1、定义&#xff1a; I/O设备就是可以将数据输入到计算机&#xff0c;或者可以接收计算机输出…

<C++> vector模拟实现

目录 前言 一、定义命名空间 二、构造函数 三、拷贝构造 四、赋值运算符重载 五、push_back && reserve 六、深拷贝问题 七、iterator 迭代器 1. 可读可写 2. 只读 八、operator[ ] 1. 可读可写 2. 只读 九、insert 问题&#xff1a;内部迭代器失效 十、erase 十一、re…

【网络安全】Seeker内网穿透追踪定位

Seeker追踪定位对方精确位置 前言一、kali安装二、seeker定位1、ngrok平台注册2、获取一次性邮箱地址3、ngrok平台登录4、ngrok下载5、ngrok令牌授权6、seeker下载7、运行seeker定位8、运行隧道开启监听9、伪装链接10、用户点击&#xff08;获取定位成功&#xff09;11、利用经…

(速进)完美解决“用户在命令行上发出了 EULAS_AGREED=1,表示不接受许可协议。”以及“此产品安装程序不支持降级”

安装VMware时候&#xff0c;出现以下两种情况的原因是&#xff1a;未彻底卸载&#xff08;之前安装过VMware&#xff09;&#xff0c;例如&#xff1a;还有相关配置信息、注册表信息等。只要彻底清理就可以解决此问题。 网上很多帖子使用了powershell里的命令 例如&#xff1…

Linux病毒疯狂增长,我们该如何…

导读国家信息中心日前与瑞星联合发布的《2017年上半年中国网络安全报告》&#xff08;以下简称《报告》&#xff09;指出&#xff0c;目前Linux系统病毒已快速增长。《报告》对2017年1至6月的网络安全现状与趋势进行统计、研究和分析后指出&#xff0c;Linux系统的勒索软件数量…

帆软finereport10.0 多个筛选框根据不同条件必须选一个才能查询

效果&#xff1a; 方法一&#xff1a; 方法二&#xff1a; 方法一&#xff1a;在查询里写上一段js&#xff0c;此方法会把端口和IP暴露出来&#xff0c;方法二比较完美。 var diff this.options.form.getWidgetByName("diff").getValue();//正反向 var fllh …

【多线程面试题 八】、说一说Java同步机制中的wait和notify

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说Java同步机制中的…

Day 12 python学习笔记

模块 内置模块 sys模块 概述&#xff1a;Python 的 sys 模块提供访问解释器使用或维护的变量&#xff0c;和与解释器进行交互的函数。通俗来讲&#xff0c;sys 模块为程序与 Python 解释器的交互&#xff0c;提供了一系列的函数和变量&#xff0c;用于操控 Python 运行时的环境…

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测

多输入多输出 | Matlab实现k-means-ELM&#xff08;k均值聚类结合极限学习机&#xff09;多输入多输出组合预测 目录 多输入多输出 | Matlab实现k-means-ELM&#xff08;k均值聚类结合极限学习机&#xff09;多输入多输出组合预测预测效果基本描述程序设计参考资料 预测效果 基…

lazarus开发:提升sqlite数据插入速度

目录 1 前言 2 优化数据容器 3 开启事务插入数据 4 其他方面优化 1 前言 近期有一个需求是向数据库中插入excel文件中的10万多条数据&#xff0c;接近70个字段。最初整个插入数据时间是大约40分钟&#xff0c;经过优化调整后&#xff0c;大幅优化为大约5分钟。这里简单介绍…

CV计算机视觉每日开源代码Paper with code速览-2023.10.27

精华置顶 墙裂推荐&#xff01;小白如何1个月系统学习CV核心知识&#xff1a;链接 点击CV计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构&#xff1a;Transformer】&#xff08;Ne…

Jetpack:020-Jetpack导航示例:底部导航栏

文章目录 1. 概念介绍2. 使用方法3. 代码与分析3.1 示例代码3.2 代码分析 4. 内容总结 我们在上一章回中介绍了Jetpack中导航相关的内容&#xff0c;本章回中主要介绍 导航的综合示例&#xff1a;底部导航栏。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff0…