Java输入数据的知识点整理

Java程序开发过程中,需要从键盘获取输入值是常有的事。C语言提供scanf()函数,C++提供cin()获取键盘输入值。那么Java有什么解决方法呢?

方法一:从控制台接收一个字符,然后将其打印出来

package pkg2020华南虎;
import java.io.*;
/**
 *
 * @author yl
 */
public class JavaInput {
  public static void main(String[] args) throws IOException {
    System.out.println("Enter a Char:");
    char i=(char)System.in.read();
    System.out.println("Your char is:"+i);
  }
}

虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能针对一个字符的获取,同时,获取进来的变量类型只能是char。当输入数字时,还需要转换类型。

方法二:从控制台接收一个字符串,然后将其打印出来。需要拥到BufferedReader类和InputStreamReader类。

package pkg2020华南虎;
import java.io.*;
/**
 *
 * @author yl
 */
public class JavaInput02 {
  public static void main(String[] args) throws IOException {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String str=null;
    System.out.println("Enter your value:");
    str=br.readLine();
    System.out.println("Your value is:"+str);
  }
}

方法三:最简单,最强大的,就是Scanner类

package pkg2020华南虎;
import java.util.Scanner;
/**
 *
 * @author yl
 */
public class JavaInput03 {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    System.out.println("Input your name:");
    String name=sc.nextLine();
    System.out.println("Input your age:");
    int age=sc.nextInt();
    System.out.println("Input your salary:");
    double salary=sc.nextDouble();
    System.out.println("Your information is follow as:");
    System.out.println("Name:"+name+"\n"+"Age:"+age+"\n"+"Salary:"+salary);
  }
}

最后总结一下next()和nextLine()的区别

在Java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。

以上就是本次介绍的全部相关知识点,感谢大家的学习和对我们的支持。

(0)

相关推荐

  • Java的DataInputStream和DataOutputStream数据输入输出流

    DataInputStream  DataInputStream 是数据输入流.它继承于FilterInputStream. DataInputStream 是用来装饰其它输入流,它"允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型".应用程序可以使用DataOutputStream(数据输出流)写入由DataInputStream(数据输入流)读取的数据. DataInputStream 函数列表: DataInputStream(InputStream in)

  • java输入多个数据(不确定),排序,并求最大值的方法

    如下所示: package exercise03_jdknews; import java.util.Arrays; import java.util.Scanner; import java.util.Vector; /** * 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 * @author lgt * */ public class MaxNuber { public static void main(String[] args) { //输入 Scanner sc =

  • java从输入流中获取数据并返回字节数组示例

    复制代码 代码如下: import java.io.ByteArrayOutputStream;import java.io.InputStream;//从输入流中获取数据并以字节数组返回public class StreamTool {    /**     * 从输入流获取数据     * @param inputStream     * @return     * @throws Exception     */    public static byte[] readInputStrea

  • Java实现OJ多组测试数据的输入方法

    Java:必须是public class Main提交,并且不能带包名,输入和输出的格式一定要按照题目要求的去写,否则提交不过.输入不可用文件输入. 就比如说要输入多组数据,每行一组,进行加法,输出的时候每行输出一个. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a,b; while(sc.

  • Java输入数据的知识点整理

    Java程序开发过程中,需要从键盘获取输入值是常有的事.C语言提供scanf()函数,C++提供cin()获取键盘输入值.那么Java有什么解决方法呢? 方法一:从控制台接收一个字符,然后将其打印出来 package pkg2020华南虎; import java.io.*; /** * * @author yl */ public class JavaInput { public static void main(String[] args) throws IOException { Syst

  • Java Springboot 重要知识点整理汇总

    1.springboot controller 单例 Spring中 controller默认是单例的,因为单例所以不是线程安全的. 所以需要注意下面几点 不要在Controller中定义成员变量,可能会造成数据混乱. 万一必须要定义一个非静态成员变量时候,则通过注解@Scope("prototype"),将其设置为多例模式. 在Controller中使用ThreadLocal变量解决多线程问题 spring bean作用域: singleton:单例模式,当spring创建appli

  • java中Hibernate面试知识点整理

    作为常用的框架之一,Hibernate在面试的时候难免会被问到.好在涉及的都是一些理论方面的知识点,比如概念.原理.使用之类的.我们在面试之前可以针对这方面的题目,做一个充足的准备,即使有些人对hibernate框架的了解并不深入.下面我们就hibernate框架中常见的面试题带来介绍. 1. 为什么要使用 hibernate? (1).对JDBC做了轻量级的封装,简化了数据访问层编码. (2).Hibernate是一个ORM框架,开发者可以使用面向对象的思想操作数据库,使用更加方便. (3)

  • Java文件管理操作的知识点整理

    目录 一.基本文件操作 获取及判断文件属性 创建及修改文件 二.文件读写 读文件 写文件 一.基本文件操作 获取及判断文件属性 代码示例如下: import java.io.IOException; public class test { public static void main(String[] args) throws IOException { File file = new File("./test.txt"); System.out.println(file.getPa

  • Hibernate中5个核心接口知识点整理

    Hibernate是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库,同时Hibernate作为持久层中间件,它的具体实现对与上层调用是透明的,即上层通过接口来调用Hibernate的具体实现,所以对于入门级别的讨论来说,自然应该先从接口开始了. 1.Configuration核心接口 在Hibernate应用中通过Configuration的实例来指定对象-关系映射文件或通过Configuration动态配

  • Webpack框架核心概念(知识点整理)

    webpack是什么 webpack是一个前端构建的打包工具(并不是什么库或框架), 它能把各种资源,例如JS(含JSX).coffee.css(含less/sass).图片等都作为模块来处理和使用. 1.基础知识点 1.1 webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个

  • Vue面试题及Vue知识点整理

    看面试题,只是为了查漏补缺,看看自己那些方面还不懂.切记不要以为背了面试题,就万事大吉了,最好是理解背后的原理,这样面试的时候才能侃侃而谈.不然,稍微有水平的面试官一看就能看出,是否有真才实学还是刚好背中了这道面试题.(都是一些基础的vue面试题,大神不用浪费时间往下看) 一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数据模型转化成UI 展现出来

  • ES6知识点整理之Proxy的应用实例详解

    本文实例讲述了ES6知识点整理之Proxy的应用.分享给大家供大家参考,具体如下: Proxy 用于修改对象某些操作的默认行为,可以对外界的访问进行过滤和改写,其概念类似于元编程. Proxy 让我们可以对任何对象的绝大部分行为进行监听和干涉,实现更多的自定义程序行为.在目标对象之前架设一层"拦截",外界对该对象的访问,都必须先通过这层拦截. 目前[兼容性]存在一定的问题,目前在chrome和ff浏览器中的非严格模式下可用,一些先进的技术即使在目前不能广泛应用,但随着时间的流逝,都将会

  • vue项目前端知识点整理【收藏】

    微信授权后还能通过浏览器返回键回到授权页 在导航守卫中可以在 next({}) 中设置 replace: true 来重定向到改路由,跟 router.replace() 相同 router.beforeEach((to, from, next) => { if (getToken()) { ... } else { // 储存进来的地址,供授权后跳回 setUrl(to.fullPath) next({ path: '/author', replace: true }) } }) 路由切换时页

  • ES6知识点整理之String字符串新增常用方法示例

    本文实例讲述了ES6知识点整理之String字符串新增常用方法.分享给大家供大家参考,具体如下: 字符串includes,startsWith,endsWith方法测试 普通的用法: <script> var str = 'Hello'; console.log(str.indexOf('o')); // 4 console.log(str.includes('e')); // true console.log(str.startsWith('H')); // true console.log

随机推荐