边学边记——Java中的输入输出

article/2025/10/13 13:49:59

目录

一.定义 

1.输入(Input)输出(Output)—— IO 流

2.系统输入输出 —— 标准输入输出

二.常用的输出方法

1.println()

快捷用法:sout 

2.print()

3.printf()

4.格式化输出

三.从键盘中读取一个内容——使用Scanner类

1.使用流程

(1).产生一个系统输入的对象

(2).从键盘中获取一个数据

2.可能出现场景及问题

(1).输入字符串自动跳过

(2).循环读入数据


一.定义 

1.输入(Input)输出(Output)—— IO 流

  • 输入流:以电脑为参考系,从外部向程序或电脑中输入一个数据,称之为输入流。
  • 输出流:以电脑/程序向外输出一个数据,称之为输出流。

2.系统输入输出 —— 标准输入输出

  • 标准输出——显示器System.out 这是Java中的标准输出对象。
  • 标准输入——键盘System.in这是Java默认的。

默认输出是输出到控制台。

二.常用的输出方法

1.println()

() 中传递任意数据类型,多个类型使用 “+” 拼接,输出内容后自带换行符。

PS:如果println()中啥也不写,默认当换行输出使用。 

快捷用法:sout 

2.print()

() 中任意数据类型,多个类型使用 “+” 拼接。

与println() 的区别:

  • 输出后不带换行。
  • 必须要在 () 中传递参数。

3.printf()

和c语言一样的格式化输出。

%c

单个字符

%d

十进制整数

%f

十进制浮点数

%o

八进制数

%s

字符串

%u

无符号十进制数

%x

十六进制数
%%输出百分号%

4.格式化输出

使用String.format()格式化。 

三.从键盘中读取一个内容——使用Scanner类

最原始的系统输入,是非常难操作的。

1.使用流程

(1).产生一个系统输入的对象

//获取输入流对象
Scanner scanner=new Scanner(System.in);

(2).从键盘中获取一个数据

nextXXX()表示获取的数据类型。

//输入整型数据
int a=scanner.nextInt();
//输入字符串
String str=scanner.nextLine();
//输入浮点数
double d=scanner.nextDouble();

2.可能出现场景及问题

(1).输入字符串自动跳过

        我们知道,输入整型数据时,按下回车代表数据输入完毕,输入字符串时,会以换行符来作为当前内容的终止条件。

        那么,如果我们紧接着输入整型数据后就要输入字符串,那么就会自动跳过输入字符串(输入字符串识别到了换行符认为输入结束)。

有以下两种解决办法:

  • 最先进行字符串的输入。

  • 多使用一次nextLine()吃掉这个换行符。

import java.util.Scanner;public class Input {public static void main(String[] args) {//获取输入流对象Scanner scanner=new Scanner(System.in);//最先进行字符串的输入
//        System.out.println("请输入姓名:");
//        String name=scanner.nextLine();
//        System.out.println("请输入年龄:");
//        int age=scanner.nextInt();//多使用一次nextLine()吃掉这个换行符System.out.println("请输入年龄:");int age=scanner.nextInt();scanner.nextLine();System.out.println("请输入姓名:");String name=scanner.nextLine();System.out.println("请输入薪资:");double money=scanner.nextDouble();System.out.println("姓名为:"+name+" 年龄为:"+age+" 薪资为:"+money);}
}

(2).循环读入数据

需要搭配 while(不知道循环次数,知道循环的中止条件),调用Scanner对象的 hasNextXXX() 方法,就会判断系统输入的是否是指定类型的内容,若碰到不是相应的类型数据,循环终止(字符串需要输入特殊字符终止)。

eg

以整数为例:

int num=0;//整数个数
int sum=0;//求和
while(scanner.hasNextInt()){int tmp=scanner.nextInt();sum+=tmp;num++;
}
System.out.println("sum="+sum);

如有建议或想法,欢迎一起交流讨论~


http://chatgpt.dhexx.cn/article/pKtI8MEA.shtml

相关文章

JAVA 中HashMap的几种遍历方式

JAVA 中HashMap的几种遍历方式 创建HashMap对象 Map<String, Integer> map new HashMap<>();map.put("手表", 1000);map.put("手机", 4000);map.put("牙刷", 200);map.put("耳机",1500);1.通过遍历map的键的方式&#x…

HashMap的三种遍历方式

集合在应用以及面试中都占有很重要的位置&#xff0c;今天就说说HashMap的遍历方式&#xff0c;偶然在一次面试中被问到的。 关于具体的实现&#xff0c;可以看源码。 import java.util.HashMap; import java.util.Iterator; import java.util.Map;public class Test {public…

HashMap概述及其三种遍历方式(简单明了)

一、HashMap概述&#xff1b; HashMap是一个散列表&#xff0c;它存储的是键值对&#xff08;key-value&#xff09;映射&#xff1b;HashMap继承AbstractMap&#xff0c;实现了Map&#xff0c;Cloneable&#xff0c;Serializable接口&#xff1b;HashMap的实现不是同步的&…

HashMap 的7种遍历方式

HashMap 遍历 大体上可以分为4类: 1,迭代器 2&#xff0c;ForEach 遍历 3&#xff0c;lambda 表达式遍历 4&#xff0c;StreamsApi 遍历 但是每种类型下有不同的实现方式&#xff0c;所以又可以分为7种&#xff1a; 案例demo 1&#xff0c;使用迭代器 EntrySet 的方式遍历 Test…

Java循环录入会员信息

条件:循环录入3位会员的信息如果会员号合法&#xff0c;显示录入信息&#xff1b;否则显示录入失败

java循环练习题-计算100以内偶数之和

1&#xff1a;for 循环&#xff1a; package cn.work;public class Work1 {public static void main(String[] args) {int n 0;for (int i 0; i <100 ; i) {if (i%20){n n i;}}System.out.println("100以内的偶数和为"n);} }2&#xff1a;while 循环 packag…

java循环中的do……while循环

do……while循环格式&#xff1a; 初始化语句 &#xff1b; do { 循环体语句 &#xff1b; 条件控制语句 &#xff1b; } while&#xff08; 条件判断语句 &#xff09;&#xff1b; 基本格式&#xff1a; do { 循环体语句&#xff1b; } while&#xff08;条件判断语句…

java循环语句实现自然数1~99的遍历求和

1.1~99的全遍历求和 注意: sum变量要写在外面 main方法必须有 public class Leijia {public static void main(String[]args){int sum0;for (int i1;i<99; i){sumsumi;} System.out.println("s"sum);} }2. 1~99只遍历奇数的求和 public class Leijia {publ…

解决由于Idea/Java循环依赖造成的报错

1.环境&#xff1a; Idea&#xff0c;JrebelTomcat环境&#xff0c;Maven项目&#xff0c;分了模块。 2.报错&#xff1a; 今天用热部署的时候&#xff0c;jrebel重新编译代码的时候出了一个错误&#xff1a;Error:java: Annotation processing is not supported for module…

java 循环实体类 获取实体字段和字段对应的value

有的时候实体字段比较多&#xff0c;需要循环获取实体的字段名和字段内容&#xff0c;实现方法通过Field反射获取类的属性。 实现方式如下&#xff1a; 需要注意的是一定要设置setAccessible为ture public class test1 {public static void main(String[] args) throws Ille…

java中循环输入_如何用java循环输入并且当输入0时结束循环?

如何用java循环输入并且当输入0时结束循环? import java.util.Scanner; public class Avg {public static void main(String[] args) {Scanner input = new Scanner(System.in); double num = 1; int i = 0; double avg = 0; double sum = 0; do {System.out.print("请输…

Java 结束循环

开发工具与关键技术&#xff1a;Myeclipse 10,Java 作者&#xff1a;刘俊杰 撰写时间&#xff1a;2019年04月24日 Break控制循环 在任何循环语句的主体部分&#xff0c;均可用break控制循环的流程。break用于强制退出循环&#xff0c;不执行循环中剩余的语句。&#xff08;bre…

Java循环中的break 和 continue

CSDN话题挑战赛第1期 活动详情地址&#xff1a;https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题&#xff1a;Java学习记录 话题描述&#xff1a;可以记录一下平时学习Java中的一些知识点、心得、例题、常见的问题解决 目录 一. break语句与continue语…

Java循环结构—条件循环

文章目录 一、为什么要用循环&#xff08;一&#xff09; 老实用笨方法&#xff08;二&#xff09;采用循环结构方法1、采用计数循环&#xff08;for循环&#xff09;2.采用条件循环&#xff08;while循环&#xff09; 二、条件循环&#xff08;二&#xff09;前测试循环-while…

java循环中 删除List某个元素

场景&#xff1a;list中 0 至 9 的数字&#xff0c;删除list中的数字7 1.集合生成0 至 9 数字 代码&#xff1a; List<Integer> list new ArrayList<>(); for (int i 0; i < 10 ; i) {list.add(i); } System.out.println(list.toString()); 运行如下&#x…

java 循环标记_Java循环中使用标签

java中的标号是用于的continue和break语句的&#xff0c;请看下面的程序&#xff1a; class xxx { outer: for(;;) { inner: for(;;) { xxxx; xxxxx; continue inner; } //break inner; break outer; } } 这段程序中有两层循环&#xff0c;外面的一层叫outer&#xff0c;里面的…

java中的循环语句

有些程序段在某些条件下重复执行多次&#xff0c;称为循环结构程序。Java提供了3种循环语句实现循环结构&#xff0c;包括while语句、do-while语句、for语句。它们的共同点是根据给定条件来判断是否继续执行指定的程序段&#xff08;循环体&#xff09;。如果满足执行条件&…

java中的循环

java中的循环有四种 循环由四部分组成 1.初始部分&#xff1a;循环判断的变量 2.循环条件&#xff1a;布尔表达式 3.循环操作&#xff1a;循环执行的代码 4.迭代部分&#xff1a;更新循环变量 1.while循环 while的特点&#xff1a;首次判断不满足&#xff0c;则一次都不会执…

安装破解VS2015(破解使用秘钥)

一、下载VS2015专业版 http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso 注&#xff1a;光盘映像文件直接右键解压即可 二&#xff0c;使用秘钥破解 安装完vs2015 企业版/专业版后&#xff0c;在菜单帮助—注册产品&am…

VS2015社区版安装教程

虽然现在已经有了VS2017,但是在很多地方还是vs2015更加方便&#xff0c;比如&#xff0c;目前的wdk版本并不能支持VS2017,所以我不得不卸了它&#xff0c;换成Vs2015. 1.下载Vs2015 微软官网一般可以找到资源&#xff0c;我这里给出我的百度云链接链接&#xff1a;https://pan.…