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

文章目录

  • 输出的相关格式
      • 使用 `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.rhkb.cn/news/173935.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ Qt/VTK装配体组成联动连接杆

效果 关键代码 #include "View3D.h" #include "Axis.h"#include <vtkActor.h> #include <vtkAppendPolyData.h > #include <vtkAreaPicker.h> #include <vtkAxesActor.h> #include <vtkBox.h> #include <vtkCamera.h>…

开源3D激光(视觉)SLAM算法汇总(持续更新)

原文连接 目录 一、Cartographer 二、hdl_graph_slam 三、LOAM 四、LeGO-LOAM 五、LIO-SAM 六、S-LOAM 七、M-LOAM 八、livox-loam 九、Livox-Mapping 十、LIO-Livox 十一、FAST-LIO2 十二、LVI-SAM 十三、FAST-Livo 十四、R3LIVE 十五、ImMesh 十六、Point-LIO 一、Cartograph…

辅助驾驶功能开发-功能规范篇(22)-3-L2级辅助驾驶方案功能规范

1.3.3 TLA系统功能定义 1.3.3.1 状态机 1.3.3.2 状态迁移图 1.3.3.3 功能定义 1.3.3.3.1 信号需求列表 1.3.3.3.2 系统开启关闭 1)初始化 车辆上电后,交通灯辅助系统(TLA)进行初始化,控制器需在 220ms 内发出第一帧报文,并在 3s 内完成内部自检,同时上电 3s 内不进行…

VR数字党建:红色文化展厅和爱国主义教育线上线下联动

伴随着党建思想的加深&#xff0c;很多政府单位都有打造VR党建展厅的想法&#xff0c;而党建基地也是激发爱国热情、凝聚人民力量、培养民族精神的重要场所。现如今&#xff0c;伴随着5G、VR等技术的成熟&#xff0c;VR数字党建积极推动运用VR技术&#xff0c;推动红色文化展厅…

PyTorch中grid_sample的使用方法

官方文档首先Pytorch中grid_sample函数的接口声明如下&#xff1a; torch.nn.functional.grid_sample(input, grid, modebilinear, padding_modezeros, align_cornersNone)input : 输入tensor&#xff0c; shape为 [N, C, H_in, W_in]grid: 一个field flow&#xff0c; shape为…

美颜SDK集成指南:为应用添加视频美颜功能

随着社交媒体和直播应用的兴起&#xff0c;视频美颜功能已成为用户追求的一项热门特性。用户希望能够在拍摄照片或进行实时视频直播时&#xff0c;使用美颜功能来增强其外观。为了满足这一需求&#xff0c;开发者可以考虑集成美颜SDK&#xff0c;为其应用增加这一吸引人的功能。…

Qt实现卡牌对对碰游戏

效果 闲来无事&#xff0c;实现一个对对碰游戏&#xff0c;卡牌样式是火影动漫。 先上效果&#xff1a; 卡牌对对碰_火影主题 玩法 启动游戏&#xff0c;进入第一关卡&#xff0c;所有卡牌都为未翻开状态&#xff0c;即背面朝上&#xff1b;点击卡牌&#xff0c;则将卡牌翻开…

常用排序算法

目录 直接插入排序 希尔排序 ​编辑 选择排序 堆排序 冒泡排序 快速排序 hoare版 挖坑法 前后指针法 非递归 归并排序 非递归 计数排序 直接插入排序 直接插入排序跟依次模扑克牌一样&#xff0c;将最后一张牌依次与前面的牌比较&#xff0c;最后将牌插入到指定位…

Python深度学习实战-基于tensorflow原生代码搭建BP神经网络实现分类任务(附源码和实现效果)

实现功能 前面两篇文章分别介绍了两种搭建神经网络模型的方法&#xff0c;一种是基于tensorflow的keras框架&#xff0c;另一种是继承父类自定义class类&#xff0c;本篇文章将编写原生代码搭建BP神经网络。 实现代码 import tensorflow as tf from sklearn.datasets import…

【数据库】

文章目录 1. 聚合函数练习&#xff1a; 2. 子查询 1. 聚合函数 where中过滤条件中不能写聚合函数&#xff0c;有聚合函数需要写到Having中 方式一效率高&#xff1a; Select执行流程 练习&#xff1a; 2. 第七题&#xff1a;count(*)有问题&#xff0c;原因是左外连接后…

【继承练习题--多态-- 动态绑定-- 重写】

文章目录 继承的练习题&#xff1a;多态多态实现条件 动态绑定什么是重写Override 注解重写的条件&#xff08;缺一不可&#xff09;有一种特殊的重写&#xff1a;叫协变类型重写的设计原则快捷键生成重写重写和重载的区别object类是所有类的父类 总结 继承的练习题&#xff1a…

支付宝证书到期更新完整过程

如果用户收到 支付宝公钥证书 到期通知后&#xff0c;可以根据如下指引更新证书 确认上传成功后就会生成新的证书&#xff0c;把新的证书替换到生产环境就可以了

标准ACL,扩展ACL,基本ACL,高级ACL

其实标准ACL&#xff0c;扩展ACL&#xff0c;基本ACL&#xff0c;高级ACL是同一个概念的不同名称&#xff0c;区别在于: 思科路由器支持标准ACL和扩展ACL两种类型的访问控制列表&#xff0c;没有”基本ACL“和”高级ACL“的概念&#xff0c;而华为路由器都支持 编号范围&…

基于鸟群算法的无人机航迹规划-附代码

基于鸟群算法的无人机航迹规划 文章目录 基于鸟群算法的无人机航迹规划1.鸟群搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用鸟群算法来优化无人机航迹规划。 1.鸟群搜索算法 …

[java/力扣110]平衡二叉树——优化前后的两种方法

分析 根据平衡二叉树的定义&#xff0c;只需要满足&#xff1a;1、根节点两个子树的高度差不超过1&#xff1b;2、左右子树都为平衡二叉树 代码 public class BalancedBinaryTree {public class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(){}TreeNode(int va…

springboot第44集:Kafka集群和Lua脚本

servers&#xff1a;Kafka服务器的地址。这是Kafka集群的地址&#xff0c;生产者将使用它来发送消息。retries&#xff1a;在消息发送失败时&#xff0c;生产者将尝试重新发送消息的次数。这个属性指定了重试次数。batchSize&#xff1a;指定了生产者在发送消息之前累积的消息大…

2.flink编码第一步(maven工程创建)

概述 万里第一步&#xff0c;要进行flink代码开发&#xff0c;第一步先整个 flink 代码工程 flink相关文章链接 flink官方文档 两种方式 一种命令行 mvn 创建&#xff0c;另一种直接在 idea 中创建一个工程&#xff0c;使用 mvn 的一些配置 mvn命令行创建 mvn 创建flink工程&…

基于SpringBoot的工厂车间管理系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 人员管理 看板信息管理 设备信息管理 生产开立管理 人员功能实现 生产开立管理 生产工序管理 生产流程管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 社会发展日新月异&#xff0c;用计…

6.scala辅助构造器与为构造函数提供默认值(一)

概述 本文主要说明: 辅助构造器 与 为构造函数提供默认值 的使用 辅助构造器为构造函数提供默认值 相关链接 阅读之前&#xff0c;可以浏览一下 scala相关文章 辅助构造器 可以通过定义名为this的方法来定义辅助Scala类构造函数。只有几个规则需要了解&#xff1a; 每个辅助…

冯诺依曼体系结构、进程、环境变量

冯诺依曼体系结构、进程、环境变量 一、冯诺依曼体系结构1、结构图2、示例3、CPU与数据 二、进程1、概念2、查看进程&#xff08;1&#xff09;通过/proc系统文件夹&#xff08;2&#xff09;通过top和ps用户级工具&#xff08;3&#xff09;通过系统调用 3、通过系统调用创建进…