Java中两种基本的输入方式小结

 更新时间:2022年05月18日 10:53:24   作者:g28_gerwulf  
这篇文章主要介绍了Java中两种基本的输入方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

两种基本的输入方式

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语言中的不同)
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot 文件上传和下载的实现源码

    SpringBoot 文件上传和下载的实现源码

    这篇文章主要介绍了SpringBoot 文件上传和下载的实现源码,代码简单易懂非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • Java中的字节流InputStream和OutputStream详解

    Java中的字节流InputStream和OutputStream详解

    这篇文章主要介绍了Java中的字节流InputStream和OutputStream详解,继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节8bit,我们看到的具体的某一些管道,凡是以InputStream结尾的管道,都是以字节的形式向我们的程序输入数据,需要的朋友可以参考下
    2023-10-10
  • 使用JPA单项一对多外键关联

    使用JPA单项一对多外键关联

    这篇文章主要介绍了使用JPA单项一对多外键关联,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • spring中@Autowired自动注入依赖项的使用

    spring中@Autowired自动注入依赖项的使用

    当使用@Autowired注解时,它可以自动注入依赖项,例如其他类的实例,本文就来详细的介绍一下,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Java中的HashMap内存泄漏问题详解

    Java中的HashMap内存泄漏问题详解

    这篇文章主要介绍了Java中的HashMap内存泄漏问题详解,WeakHashMap中的key是弱引用,如果再使用之后没有及时remove掉这个key,那么当GC时key就可能会被回收,导致key对应的value对象占用的内存无法回收进而导致内存泄漏,需要的朋友可以参考下
    2023-09-09
  • SpringBoot实现嵌入式 Servlet容器

    SpringBoot实现嵌入式 Servlet容器

    传统的Spring MVC工程部署时需要将WAR文件放置在servlet容器的文档目录内,而Spring Boot工程使用嵌入式servlet容器省去了这一步骤,本文就来设置一下相关配置,感兴趣的可以了解一下
    2023-12-12
  • 精通Java接口的使用与原理

    精通Java接口的使用与原理

    接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法
    2022-03-03
  • java 实现随机数组输出及求和实例详解

    java 实现随机数组输出及求和实例详解

    这篇文章主要介绍了java 实现随机数组输出及求和实例详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • SpringMVC @RequestMapping注解属性详细介绍

    SpringMVC @RequestMapping注解属性详细介绍

    通过@RequestMapping注解可以定义不同的处理器映射规则,下面这篇文章主要给大家介绍了关于SpringMVC中@RequestMapping注解用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 简单了解java中静态初始化块的执行顺序

    简单了解java中静态初始化块的执行顺序

    这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论