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

目录

一.定义 

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);

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

  • 52
    点赞
  • 208
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/71331017 【完整课程列表】 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse 集成环境使用 (共16页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse+MyEclipse+Tomcat安装(第1章) (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 JAVA_01Java概述与应用 (共89页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 前言 学习java前的准备工作 (共4页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_02 面向对象(OO)程序设计概念 (共51页).PPT 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础 位运算(共21页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础(共57页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_04 Java面向对象特性(共41页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_05 高级语言特征(共65页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_06 异常处理Exceptions(共31页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC AWT Swing(共56页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC Swing (共22页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_09 Applet (共33页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_10 线程(共51页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_11 网络程序设计(共26页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_12 JFC Swing (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC(共15页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC编程(共31页).ppt JAVA_01Java概述与应用\God.java JAVA_01Java概述与应用\Human.java JAVA_01Java概述与应用\javaapplet.html JAVA_01Java概述与应用\WelcomeJava.java JAVA_01Java概述与应用\WelcomeJavaApplet.java JAVA_10线程\第十章上机练习题.doc JAVA_11网络程序设计\第11章上机练习题.doc JAVA_11网络程序设计\邮件发送源码.rar JAVA_12 Swing\SwingTest.java JAVA_13 JDBC\Connec.java JAVA_13 JDBC\mysql-5.5.11-win32(1).msi JAVA_13 JDBC\SQLyog832Trial.exe JAVA_13 JDBC\SQLyog832Trial.zip JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_2面向对象(OO)程序设计概念\Animal.java JAVA_2面向对象(OO)程序设计概念\Fish.class JAVA_2面向对象(OO)程序设计概念\Integration.class JAVA_2面向对象(OO)程序设计概念\Point.java JAVA_2面向对象(OO)程序设计概念\第二章上机练习题.doc JAVA_3JAVA语言基础\StringTest.java JAVA_3JAVA语言基础\Test.java JAVA_3JAVA语言基础\Welcome.java JAVA_3JAVA语言基础\第三章上机练习题.doc JAVA_4Java面向对象特性\Animal(Poly

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值