前言
** 最近在写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<stdio.h>)**
直接上代码示例:
** 其实读取字符串、整数、浮点数 的用法基本上都是类似的:**
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之前的类型要相匹配 的那种意思
下面的示例可以更好的帮助大家理解上面内容:
结尾
** 这是一篇分享 刷题时需要用到的输入输出语句的博客;**
** 如果对你有用帮助的话,可以送一个免费的赞或者是关注吗~**
版权归原作者 哎呀是小张啊 所有, 如有侵权,请联系我们删除。