- 浏览: 6359340 次
- 性别:
- 来自: 一片神奇的土地
文章分类
- 全部博客 (745)
- JQuery (25)
- JS (33)
- 数据库 (59)
- Java基础 (56)
- JSON (8)
- XML (8)
- ireport (7)
- 设计模式 (10)
- 心情 (14)
- freemarker (1)
- 问题 (15)
- powerdesigner (2)
- CSS (15)
- DWR (4)
- tomcat (16)
- Hibernate (12)
- Oracle (7)
- Struts (7)
- Spring (34)
- JSP (23)
- 需学习 (64)
- 工具类库 (63)
- Maven (14)
- 笔试题 (34)
- 源码学习 (31)
- 多线程 (39)
- Android (32)
- 缓存 (20)
- SpringMVC (14)
- jQueryEasyUi (12)
- webservice-RPC (13)
- ant (1)
- ASP.NET (10)
- 正则表达式 (3)
- Linux (15)
- JBoss (1)
- EJB (3)
- UML (2)
- JMS (3)
- Flex (8)
- JSTL (2)
- 批处理 (5)
- JVM (16)
- 【工具】 (16)
- 数据结构 (29)
- HTTP/TCP/Socket (18)
- 微信 (1)
- tomcat源码学习 (15)
- Python (30)
- 主机 (2)
- 设计与架构 (19)
- thrift-RPC (2)
- nginx (6)
- 微信小程序 (0)
- 分布式+集群 (12)
- IO (1)
- 消息队列 (4)
- 存储过程 (8)
- redis (9)
- zookeeper (5)
- 海量数据 (5)
最新评论
-
360pluse:
技术更新,战术升级!Python爬虫案例实战从零开始一站通网盘 ...
Python爬虫实战:Scrapy豆瓣电影爬取 -
18335864773:
推荐用 pageoffice 组件生成 word 文件。
JAVA生成WORD工具类 -
jjhe369:
LISTD_ONE 写道起始地址为163.135.0.1 结束 ...
IP地址与CIDR -
baojunhu99:
private final int POOL_SIZE = 5 ...
使用CompletionService获取多线程返回值 -
LovingBaby:
胡说,javascript 运行时是单线程的,event lo ...
Ajax请求是否可以实现同步
system.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。按下Enter结束输入
看一下这个程序:
for(int j = 0; j < 5; j++) { System.out.println("INPUT:"); char c = 0; try { c = (char) System.in.read(); } catch(IOException e){ } if( c == '1') { System.out.println("OK!"); } }
假设我们输入1,结果:
INPUT:
1
OK!
INPUT:
INPUT:
INPUT:
啥原因?
一点一点Debug我们会发现,第二次时读到的字符其实是回车符\t,继续循环;第三次接受到的是换行符\n,也继续循环;第三次到Input出不动,等待我们继续循环。
第二次:
结论:
用System.in.read()时,我们在键盘上按下的任何一个键都会被当做是输入值,包括Enter键也会被当做是一个值!当我们按下Enter的时候,实际上发送两个键值:一个回车\t(13),一个是换行\n(10)
参考:http://www.360doc.com/content/07/1112/13/15458_818134.shtml
例子2 :
public static void main(String[] args) { try { int i=System.in.read(); System.out.println(i); } catch (IOException e) { e.printStackTrace(); } }
这里输入1,这返回结果是49
输入A,返回结果是65
例子3:
public static void main(String[] args) throws Exception { int[] x = new int[6]; Arrays.fill(x, 1); for (int i = 0; i < x.length; i++) { System.in.read(); System.out.println(x[i]); } }
结果:
输出1 1 1 后等待输入
发表评论
-
拦截器和过滤器的区别
2019-06-27 10:46 7071【Spring的拦截器】于【Servlet的Filter】有 ... -
高并发下的数据结构List/Set/Map
2019-03-26 14:17 1273高并发下的Java数据结 ... -
AQS
2019-03-21 15:08 2089大白话聊聊Java并发面试问题之谈谈你对AQS的理解? ... -
tomcat的三种运行模式+JAVA NIO
2019-03-12 11:13 5096详解Tomcat三种运行模 ... -
反射基础
2019-01-11 14:51 671十年架构师不到400行手写一个Spring MVC ... -
java反射原理, 注解原理
2019-01-08 17:22 4597注解机制及原理 JAVA ... -
内存泄露与内存溢出的区别
2018-12-24 16:14 27531、内存泄漏 memory le ... -
深入解析JAVA中的装箱与拆箱
2018-12-21 10:42 1330地址: https://www.cnblogs.com/d ... -
负载均衡原理
2018-12-20 17:43 804简介几种负载均衡原理 高并发解决方案之一 ——负载均衡 ... -
CAS自旋锁
2018-12-20 11:12 1652我们常说的 CAS 自旋锁是什么 CAS与ABA问题 ... -
HTTP-断点续传和多线程下载
2018-08-23 14:17 4682HTTP断点续传 Range:客户端发请求的范围 ... -
tcp粘包和拆包的处理方案
2018-08-23 11:03 7967tcp粘包和拆包的处理方案 产生tcp ... -
TCP如何保证传输可靠性
2018-08-22 15:51 10056TCP 滑动窗口和 拥塞 ... -
【JVM命令及问题排查】
2018-08-21 16:06 1893java中的gc log解读 eclipse的优化 gc ... -
【HTTP1.0 HTTP 1.1 HTTP 2.0主要区别】长头域+多复数压推
2018-08-20 14:53 1170HTTP/2.0 相比1.0有哪些 ... -
MVCC
2018-08-20 10:34 3549轻松理解MYSQL MVCC 实现机制 1.1 什 ... -
【tomcat系统架构(二)】
2018-08-16 16:22 868四图带你了解Tomcat系统架构——让面试官颤抖Tomca ... -
【tomcat系统架构(一)】
2018-08-16 16:02 1580四图带你了解Tomcat系统架构——让面试官颤抖Tomca ... -
缓存总结(二)
2018-07-25 17:54 1425四种套路更新缓存 实时刷新缓存 分布式之数据库 ... -
常见性能优化策略的总结
2018-07-25 17:21 1425常见性能优化策略的总结
相关推荐
在Java编程中,Oracle存储过程的调用与标准输入(System.in)的交互可能会遇到一些问题,特别是当尝试使用System.in进行阻塞IO操作时。这个问题通常涉及到Java的多线程概念、I/O流的处理以及Oracle存储过程的执行...
在`main.java`文件中,很可能包含了一个简单的示例程序,该程序演示了如何使用`System.in.read()`读取用户输入并处理它。`README.txt`文件可能包含了关于如何运行此程序的说明,或者解释了程序的目的和工作方式。 ...
而"WP.PRO.Advertising.System.All.In.One.Ad.Manager.v4.6.13"则是插件的主要程序文件,用户只需按照指南进行安装即可开始使用。 总结来说,WP.PRO.Advertising.System.All.In.One.Ad.Manager.v4.6.13是一款针对...
例如,在实例1中,我们使用System.in.read方法来从键盘读入一个字符,并将其输出到显示器。 System.err是一个PrintStream对象,能够把错误信息输出到显示器。例如,在实例1中,我们捕捉了IOException异常,并使用...
本篇文章将详细讲解如何使用System.IO和Visual C#进行文本文件的读取。 首先,确保你已经安装了Microsoft Visual Studio 2005或更高版本,因为我们需要这个IDE来编写和运行C#代码。创建一个新的项目,可以选择...
本文实例讲述了C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析,分享给大家供大家参考。具体分析如下: ...是使用得比较多的Timer,Timer Start之后定时(按设定的Interval)调用挂接在Tick事
在使用System.in.read()方法读入数据时,需要注意以下几点: * System.in.read()语句必须包含在try块中,且try块后面应该有一个可接收IOException例外的catch块。 * 执行System.in.read()方法将从键盘缓冲区读入一...
上面的代码使用 System.in.read() 方法来从键盘输入一个字符,并将其输出到屏幕上。 三、BufferedReader BufferedReader 是一个高效的缓冲输入流,可以用于从键盘输入数据。例如: ```java import java.io.*; ...
The parts may be read sequentially or in arbitrary order, depend- ing on the reader’s level of knowledge and specific areas of interest. A complete discussion of digital logic and microprocessor ...
在 Java 中,我们可以使用 System.in.read() 函数来获取键盘输入值,但是这个函数只能获取单个字符,并且获取进来的变量类型只能是 char。当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中...
示例代码展示了如何通过`System.in.read()`方法读取一个字符,并通过`System.out.println()`输出该字符: ```java public class MyFirstJava { public static void main(String args[]) throws java.io.IOException...
这可以通过多种方式实现,包括使用`System.in`、`Scanner`类、`BufferedReader`类等。下面将详细介绍这些方法及其应用场景。 #### 1. 使用标准输入流对象 `System.in` 在Java中,`System.in`是一个标准输入流对象...
Java 中可以使用 `System.in.read()` 或 `BufferedReader` 来实现控制台输入。 Scanner 类 `Scanner` 类是 Java 中用来实现输入输出操作的类。使用 `Scanner` 类可以从控制台中输入数据,并将其转换为相应的数据...
使用 System.in.read() 方法可以读取一个字节的数据,但这对于读取字符串或一组数字来说是不够的。为了读取更多的数据,可以使用 java.util.Scanner 类。 方法二:使用 Scanner 类 java.util.Scanner 类可以用来...
Java 编程中获取键盘输入值的方法 ...Java 中获取键盘输入值的方法有三种:使用 System.in.read()、使用 BufferedReader 和 InputStreamReader、使用 Scanner。每种方法都有其优缺,开发者可以根据需要选择合适的方法。
具体而言,`System.in.read()`方法读取的是单个字节,而当用户输入一系列字符时(如输入数字后按回车),实际上读取到的是包括数字在内的整个字符序列的首字节,通常为回车符。 **解决方案:** 1. **使用...
System.in.read(buf); str = new String(buf); anInt = Integer.parseInt(str); System.out.println("The input integer is: " + anInt); } } ``` Java语言程序控制语句是Java语言中的一种基本结构单元,用于...