Java中两种基本的输入方式小结
作者:g28_gerwulf 发布时间:2023-02-06 18:37:24
两种基本的输入方式
1.使用Scanner类
需要java.util包
构造Scanner类的对象,附属于标准输入流System.in,之后通过其中的方法获得输入。
常用的方法:nextLine();(字符串),nextInt();(整型数),nextDouble();(双精度型数)等等。
结束时使用close();方法关闭对象。
例子:
import java.util.*;
class IOTest {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("enter your name:");
String name = sc.nextLine();
System.out.println("enter your age:");
int age = sc.nextInt();
System.out.println("enter your occupation:");
String occ = sc.next();
System.out.println("name:" + name + "\n" + "age:" + age + "\n" + "occupation:" + occ);
sc.close();
}
}
输入:
enter your name:
g28
enter your age:
20
enter your occupation:
student
输出:
name:g28
age:20
occupation:student
2.使用System.in.read();方法
需要java.io包。
System.in从标注输入获取数据,数据类型为InputStream。通过read();方法返回ASCII码,若返回值为-1,说明没有读取到任何字符结束工作。
使用时需要添加抛出声明或用try/catch包围。
例子:
import java.io.*;
class IOTest {
public static void main(String args[]) {
int c;
System.out.println("please enter the string:");
try {
while((c = System.in.read()) != -1)
{
System.out.print((char)c);
}
} catch (IOException e) {
System.out.println(e.toString());
}
}
}
输入:
please enter the string:
My name is g28.
输出:
My name is g28.
输入与输出的使用讲解
1.输入
Java的输入,我们用到Scanner类,可以用它创建一个对象
Scanner input = new Scanner(System.in);
然后input对象调用nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()方法来从输入流中获取数据。
package com.company;// 包
import java.util.Scanner;
public class code {
public static void main(String[] args){
// 扫描对象,用来扫描系统的输入
Scanner input = new Scanner(System.in);
int a = input.nextInt(); // 输入一个整型
short b = input.nextShort(); // 输入一个短整型
long c = input.nextLong(); // 输入一个长整型
byte d = input.nextByte(); // 输入一个字节型
float f = input.nextFloat(); // 输入一个单精度浮点型
double g = input.nextDouble(); // 输入一个双精度浮点型
// 输入字符串
// nextLine() 和 next()都可以录入String型的,但是next()遇到空格就终止了,nextLine()可以把空格和空格后面的全部录入
String s = input.nextLine(); // 录入一行,回车是终止符
String ss = input.next(); // 遇到空格或回车都会终止·
// 输入一个char类型
// 获得用户输入字符串的第一个字符
char ch = input.next().charAt(0);
}
}
⭐多组输入:
import java.util.Scanner;
public class Mian {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);// cin是自己定义的,这个是任意的
while (cin.hasNext()) {
int a = cin.nextInt();
int b = cin.nextInt();
System.out.println(a + b);
}
}
}
⭐T组输入:
// 使用while循环
import java.util.Scanner;
public class Mian {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);// cin是自己定义的,这个是任意的
int T = cin.nextInt();
while (T>0) {
int a = cin.nextInt();
int b = cin.nextInt();
System.out.println(a + b);
T--;
}
}
}
// 使用for循环
import java.util.Scanner;
public class Mian {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);// cin是自己定义的,这个是任意的
int T = cin.nextInt();
for(int i=0;i<T;i++)
{
int a = cin.nextInt();
int b = cin.nextInt();
System.out.println(a + b);
}
}
}
2.输出
2.1.1 println直接输出
使用语句System.out.println()输出,System.out.println()为输出并换行。
package com.company;
public class code {
public static void main(String[] args){
System.out.println("Hello World");
}
}
2.1.2 println输出变量
package com.company;
public class code {
public static void main(String[] args){
int num = 10;
System.out.println("num的值为:" + num);
}
}
输入num的值并且输出
package com.company;
import java.util.Scanner;
public class code {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.println("num的值为:" + num);
}
}
2.2.1 print
使用语句System.out.print()输出,System.out.print()为输出但是不会换行,如果想要换行需要\n。print()与println()的作用类似,都是输出,但唯一不同的是print()不会换行。
2.2.2 printf
jdk1.5新增了和C语言中printf函数类似的数据输出方法,
System.out.printf(“格式控制部分”,表达式1,表达式2,……,表达式n);
这里的用法与C语言和C++中的类似
package com.company;
import java.util.Scanner;
public class code {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.printf("num的值为:%d\n" , num);
}
}
3.输入输出实例
package com.company;
import java.util.Scanner;
public class code {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
// 输入圆的半径
double radius = input.nextDouble();
// 计算圆的面积
double area = 3.14 * radius * radius;
// 输出圆的面积,保留两位小数
System.out.printf("%.2f\n",area); // 注意:在Java中double类型用%f输出(与C语言中的不同)
}
}
来源:https://blog.csdn.net/g28_gwf/article/details/79306296
猜你喜欢
- 问题springboot 集成springcloud时常常由于版本问题而报错,如下:com.sun.jersey.api.client.Cl
- 一、枚举类类的对象只有有限个, 确定的. 我们称此类为枚举类.说明:1.类的对象只有有限个,确定的。如:星期:Monday(星期一)、…、S
- 一.RabbitMQ消息丢失的三种情况第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为
- Spring自动装配之方法、构造器位置的自动注入1. 注解定义@Autowired的定义信息如下:@Target({ElementType.
- 问题描述Feign 在请求时是不会将 request 的请求头带着请求的,导致假如 Feign 调用的接口需要请求头的信息,比如当前用户的
- 在使用之前先介绍一个并发需要用到的方法:CountDownLatchCountDownLatch(也叫闭锁)是一个同步协助类,允许一个或多个
- mybatis使用${}时sql注入的问题最近在上线项目的时候,代码审查没有通过,提示有sql注入的风险。ORDER BY ${orderB
- servlet、filter、listener、interceptor之间的区别和联系一、概念1.servlet:servlet是一种运行服
- 1、volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)&nb
- 1、错误的解决方案1.1、 先更新数据库,再删除缓存若数据库更新成功,删除缓存操作失败,则此后读到的都是缓存中过期的数据,造成不一致问题。1
- Mybatis有什么用前两天跟阿里的大牛聊天,他讲到对于性能要求高,需求变化多的互联网项目来说,用在sql优化上的开发时间是大头,有时候代码
- java 归并排序的实例详解归并排序 归并排序,指的是将两个已经排序
- 前言本节将介绍如何设置和使用MongoDB 驱动程序,通过 java实现与MongoDB服务端的通信功能,用户可以在此基础上进行各种Java
- HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 实现了 Map 接口,根据键的 HashCod
- java.lang.NoClassDefFoundError错误解决办法前言在日常Java开发中,我们经常碰到java.lang.NoCla
- 一、Java内存区域方法区(公有):用户存储已被虚拟机加载的类信息,常量,静态常量,即时编译器编译后的代码等数据。异常状态 OutOfMem
- foreach嵌套使用if标签对象取值问题最近做项目过程中,涉及到需要在 Mybatis 中 使用 foreach 进行循环读取传入的查询条
- 方法参数public String listFireEvent(@Valid FireSearch fireSearch, Ht
- 这篇文章主要介绍了设计模式在Spring框架中的应用汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- Java单例模式的实现,对java 单例模式的几种实现方法进行了整理:单例模式好多书上都是这么写的:public class SingleT