【概述】

就目前而言,我们遇到的“输出”无非就是这个比:

System.out.println()

更详细的输入输出会在IO中提到,那么这个笔记就是记录几种常用输入机制

【Scanner输入】

一般而言,在这个阶段的Java编写中,最方便且最好用的方式来获得用户输入,那么该怎么使用呢?

1.import

在文件头,打上

import java.util.Scanner;

这代表了我们使用了Scanner相关的组件

2.正式使用

首先自然是创建实例,刚接触面向对象编程的可能对这个有点蒙,不过这里照做就行了

Scanner sc= new Scanner(System.in);

其中sc可以改为任何你想要的名字,不过sc简单易懂,对吧

这之后我们就可以得到用户的输入了,但这还不够,我们需要变量来储存它:

String a = sc.nextLine();
int a = sc.nextDouble();
float a =sc.nextDouble();
double a = sc.nextDouble();

此外还有hasnextXX系列,(hasNextInt等),其返回值是boolean,用于检测是否有下一个输入的值

除了Scanner以外,还可以利用args[]配合eclipse甚至命令行来进行输入,不常用且负责,这里就不写了

【异常与错误 Exceptions and Errors】

我认为异常和错误不需要理论上的“介绍”,这方面写/错多了自然而然就知道是哪出问题了,实在不行就面向搜索引擎编程

我们可以利用“try——catch”来进行异常的预纠正,处理异常可以使程序更加有鲁棒性,但可能会降低程序的性能

事实上,就完成血液任务而言,大多数情况还是不会触及到try&catch的,一般来说用if+while排除奇奇怪怪的异常就行了(指用户不按要求瞎输入的那种)

try&catch的一般格式如下:

try{
//进行检查的语句
}catch (<预检查的异常类型>){
//进行预修正的操作
//与检查的异常类型如何表达需自行找资料
}finally{
//无论如何都会执行的语句
}

【Java】 6.0 输入,输出和异常处理的更多相关文章

  1. C语言笔记 09_共用体&typedef&输入|输出

    共用体 共用体允许您在相同的内存位置存储不同的数据类型.您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值.共用体提供了一种使用相同的内存位置的有效方式. 定义共用体 为了定义共用体, ...

  2. Java 输入/输出——处理流(BufferedStream、PrintStream、转换流、推回输入流)

    关于使用处理流的优势,归纳起来就是两点:(1)对于开发人员来说,使用处理流进行输入/输出操作更简单:(2)使用处理流执行效率更高. 1.BufferedInputStream/BufferedOutp ...

  3. Java 输入/输出 反射

    Java  输入/输出   反射 输入输出和反射 一.数据流的基本概念 流一般分为 ( Input Stream ) 和输出流 ( Output Stream ) 两类,但这种划分并不是绝对的.比如一 ...

  4. JAVA里面的IO流(一)分类1(字节/字符和输入/输出)

      java.io包中定义了多个流类型(流或抽象类)来实现输入/输出功能:可以从不同的角度对其进行分类: 按数据流的方向不同可以分为输入流和输出流 从文件读数据为输入流:往文件写数据为输出流 按处理数 ...

  5. 第15章-输入/输出 --- 理解Java的IO流

    (一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...

  6. Java 输入/输出——重定向标准输入/输出

    在System类中提供了如下三个重定向标准输入/输出方法. static void setErr​(PrintStream err) Reassigns the "standard" ...

  7. 实用的4~20mA输入/0~5V输出的I/V转换电路(转)

    源: 实用的4~20mA输入/0~5V输出的I/V转换电路

  8. Java的输入/输出操作

    Java的输入\输出机制 计算机的基本功能就是通过输入输出设备与外部其他设备尽心数据的交互,从其他设备读入数据叫做输入操作,将计算机内的数据写入到其他设备叫做输出操作.可以向计算机发送数据.又可以接受 ...

  9. 在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行

    在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行

  10. Java输入/输出教程

    Java输入/输出(I/O)处理从源读取数据并将数据写入目标.通常,读取存储在文件中的数据或使用I/O将数据写入到文件中. java.io和java.nio包中包含处理输入/输出的Java类.java ...

随机推荐

  1. css-next & grid layout

    css-next & grid layout css3 demo https://alligator.io/ @media only screen and (max-width: 30em) ...

  2. 深入浅出的JS执行机制(图文教程)

    前序 作为一个有理想有抱负的前端攻城狮,想要走向人生巅峰,我们必须将我们使用的功法练到天人合一的地步.我在们日常工作中,使用最多的语言就是JavaScript了,为了写出完美的.能装逼的代码,我们必须 ...

  3. RabbitMQ之TTL(Time-To-Live 过期时间)

    本文转载自RabbitMQ之TTL(Time-To-Live 过期时间) 概述 RabbitMQ可以对消息和队列设置TTL. 目前有两种方法可以设置.第一种方法是通过队列属性设置,队列中所有消息都有相 ...

  4. Redis Lua 脚本使用

    本文转载自Redis Lua 脚本使用 Lua 简介 Lua语言提供了如下几种数据类型:booleans(布尔).numbers(数值).strings(字符串).tables(表格). 下面是一些 ...

  5. Jupyter Notebook 暗色自定义主题

    这款主题是在jupyter-dark-theme的基础上修改了字体大小和行高,以及显示工具栏.感谢原作者! 安装 下载custom.css文件并移动至~/.jupyter/custom/文件夹下,如果 ...

  6. 痞子衡嵌入式:系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败问题. 我们知道,i.MXRT1xxx家族早期型号(RT1050/ ...

  7. Dyno-queues 分布式延迟队列 之 辅助功能

    Dyno-queues 分布式延迟队列 之 辅助功能 目录 Dyno-queues 分布式延迟队列 之 辅助功能 0x00 摘要 0x01 前文回顾 0x2 Ack机制 2.1 加入Un-ack集合 ...

  8. Dubbo之高级特性

    Dubbo 注意当启动服务时,该服务会占用本机一个端口号,故在一台电脑启动多个服务时需要在配置文件中更占用本机的端口号 <!--服务占用本机的端口-当本机启动多个服务时须保持不同--> & ...

  9. openwrt编译加载龙尚U9300模组上网

    硬件平台:MT7628A openwrt版本:MTK_SDK 1.添加模组信息 /build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux ...

  10. C# 基础 - 日志捕获一使用 StreamWriter

    public static class LogHelper { private static readonly string _baseDir = AppDomain.CurrentDomain.Ba ...