> 文档中心 > 室友两首歌的时间,我居然彻底明白了 输入输出语句

室友两首歌的时间,我居然彻底明白了 输入输出语句


前言

       最近在写Java题目的时候,经常都会遇到 要进行 从键盘上输入数据、多组循环输入等等诸如此类的问题;

       碰巧,Java中的输入输出语句 又和 C语言中的有一丢丢的不一样;

       虽然,以后可能不会直接 在控制台中输入相应的数据(某位巨佬说那样的方式太low了);

       但是,处于现阶段需要刷题的我们,仍然需要知道这些知识;

       于是,就把相关的一些知识点 给总结了一下,希望大家抽出两首歌的时间,悄悄的瞅上几眼,顺便点个赞、点个关注吧;

       下面正文开始......


 

一、从输出到控制台

       顾名思义,即 通过 println、print、printf操作来向控制台输入数据。

       其中,Java中的printf用法与C语言中的一样,具有相同的格式(不过除了某些特定的需要,一般情况下也不会中这种方式来打印,因为:麻烦);

       println的用法相对于printf显得就简单多了,想输入什么就直接输入什么,并且用println自动带了换行的功能;

       print的用法与println的用法是一样的,只是没有换行的功能。

       多说无益,直接用代码示例额可以明白的更透彻:

public class TestDemo {    public static void main(String[] args) { System.out.println("我知道你很帅"); //println 输出以后自带换行 System.out.print("我知道你很帅"); //print 输出以后没有带换行 System.out.printf("%d\n",90); //类似于C语言的输入     }}

 


 

二、从键盘输入

       平常在写练习题(OJ题)的时候,会经常遇到 多组输入、会给出输出示例 等等的题目,那么 就是从键盘输入的类型了。

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

       首先,在Java中如果想像用类似于C语言的scanf()语句 进行输入,那么就需要 使用Scanner来进行读取;

       与此同时必须需要导入一个 until包 import java.util.Scanner;(类似于C语言中的#include)

直接上代码示例:

       其实读取字符串、整数、浮点数 的用法基本上都是类似的:

import java.util.Scanner;public class TestDemo_2 {    public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String name =scanner.next(); System.out.println("姓名:"+name);    }}

       看这种情况确实是可以的,但是需要注意的是,代码上面的  String name =scanner.next(); 中的next() 有这么一个特性:遇到空格则读取结束

       不信的话可以试试输入 带空格的内容:

但是,有的人就想说,我就要打印带有空格的内容呢?

——那么我们可以把next()换成nextLine()即可,nextLine() 的作用是 读取一行,输入的东西如果只有一行,无论是什么都可以读取得到

 

       接下来是 整数和浮点数:

import java.util.Scanner;public class TestDemo_2 {    public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入你的姓名:"); String name =scanner.nextLine(); System.out.println("姓名:"+name); System.out.println("请输入你的年龄:"); int age = scanner.nextInt(); System.out.println("年龄:"+age); System.out.println("请输入你的身高:"); float high = scanner.nextFloat(); System.out.println("身高:"+high);    }}

       当然,double等等之类的也是一样的,类型也需要是一一对应的;

       知道了字符串、整数、浮点数 的输入和输出 已经可以解决大部分问题了;

       如果想知道更多的方法 可以去查找一下 帮助手册:

 

2.2 多组输入

       有机灵的小伙伴会发现,上面的输入语句只能发生一次,等输入完以后,就直接退出程序了;

       那么,现在来介绍 多组输入的方法: 

       其实也非常的简单:也和C语言一样,需要在while里面进行操作:

Scanner 变量1 = new Scanner(System.in);while(变量1.hasNext()){  类型 变量2 = hasnextXXX;  ......}//就是那种 XXX和变量2之前的类型要相匹配 的那种意思

下面的示例可以更好的帮助大家理解上面内容:

 

 


结尾

       这是一篇分享 刷题时需要用到的输入输出语句的博客;

       如果对你有用帮助的话,可以送一个免费的赞或者是关注吗~