Java键盘输入的几种常用方法--Android菜鸟的成长日记

上次更新距离时间太长了,没有好好督促自己,我的错。

今天又是基础知识,关于Java中我们怎样通过键盘获取输入的字符,字节等,我争取在后面有更深入的研究。

还是先来理一下思路,要输入输出,那么肯定少不了java.io。为了方便理解,还是老规矩先上链接。

Java I/O官方文档,有时间还是看官方文档比较靠谱

Java程序通过来执行I/O,这里的I/O,指的是Input,Output中文翻译就是输入输出的意思。而(stream)是产生或使用信息的抽象,简单的比喻就是水流。而我们的输入输出是需要数据的,所以,我们在使用的时候当然就是指的数据流了。当前版本的 java 8 定义了两种类型的流:字节流字符流。字节流处理字节的输入输出,字符流处理字符的输入输出。

基础知识就到这里吧,今天只是作为了解,就不更深入了。如果还有不懂得同学,千万回家多看看官方文档,把整个I/O的知识系统了解,再重点熟悉。

重点来了,先从简单的开始,看代码

import java.io.IOException;  

public class Study_20161109004 {
    public static void main(String args[]) throws IOException{
        System.out.println("输入一个字符: ");
        char i=(char)System.in.read();  //输入一个字符
        System.out.println(i);          //输出这个字符
    }
}

这里写图片描述
代码很简单,简单说明。
功能:从控制台(Console)输入一个字符,再输出一个字符
因为我们只是定义了一个char,所以我们的输入和输出都只是一个字符,这样的解释就很清晰了。

重点:在main方法的后面,我们加了throws IOException. 原因是,一条输入语句可能产生一个IOException异常,而此时我们无法处理该异常,因此我们要从main()开始抛出异常,而且也需要这样来指定异常。(这不是人为加上的,是java,如果没有添加,java就把你的代码当作不完整的代码,不能运行)

System.in.read().这里并没有用到I/O包,至于为什么我也不能解释,如果有大神可以来解释一下,洗耳恭听。

继续看代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Study_20161109005 {
    public static void main(String args[]) throws IOException{
        BufferedReader mBr=new BufferedReader(new InputStreamReader(System.in));
        String mStr=null;
        System.out.println("输入一个字符串: ");
        mStr=mBr.readLine();
        System.out.println(mStr);
    }
}

这里写图片描述

这里用到了两个东西一定要理解

  • BufferedReader ,含义是:输入字符流缓冲
  • InputStreamReader ,含义是:将字节转换为字符的输入流

代码逻辑:
- 先定义一个BufferedReader
- 再定义一个空的字符串
- 把输入的BufferedReader放到字符串里面
- 输出字符串

再来代码

import java.util.Scanner;

public class Study_20161109008 {
    public static void main(String args[]){
        Scanner mSc=new Scanner (System.in);
        System.out.println("请输入一段文字: ");
        String name=mSc.nextLine();
        System.out.println("请输入一个整型数字: ");
        int age=mSc.nextInt();
        System.out.println("请输入一个float型数字: ");
        float salary=mSc.nextFloat();
        System.out.println();
        System.out.println("文字: "+name+"\t"+"整数: "+age+"\t"+"float数字: "+salary);
    }
}

这里写图片描述

这里有一个东西要理解:
Scanner,这是一个类。
对于字符串还是整型数据或者float类型的变量,只需做一点小小的改变,就能够实现功能

代码逻辑:

  • 定义一个Scanner
  • 把输入的字符串,数字,float型变量全部放到Scanner
  • 把Scanner里面的东西传递
  • 输出

简单的键盘输入就介绍到这里吧
肯定有很多不足的地方,还是希望有看到的同学多多指出,共同成长
其实,我在I/O这块儿也学习得不是很好,只能说是赶鸭子上架
如果要成为大牛,必要的就是基础知识一定要非常非常扎实
多提意见,加油,加油

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值