首页编程java编程java中什么是流控制,Java什么是控制流程

java中什么是流控制,Java什么是控制流程

编程之家2023-10-1185次浏览

大家好,今天小编来为大家解答java中什么是流控制这个问题,Java什么是控制流程很多人还不知道,现在让我们一起来看看吧!

java中什么是流控制,Java什么是控制流程

java流的主要方法

Java的流操作分为字节流和字符流两种。

1、字节流

所有的读操作都继承自一个公共超类java.io.InputStream类。

java中什么是流控制,Java什么是控制流程

所有的写操作都继承自一个公共超类java.io.OutputStream类。

InputStream和OutputStream都是抽象类。

InputStream有6个低级输入流:

java中什么是流控制,Java什么是控制流程

低级流

流的用途

ByteArrayInputStream

从内存数组中读取数据字节

FileInputStream

从本地文件系统中读取数据字节

PipedInputStream

从线程管道中读取数据字节

StringBufferInputStream

从字符串中读取数据字节

SequenceInputStream

从两个或多个低级流中读取数据字节,当到达流的末尾时从一个流转到另一个流

System.in

从用户控制台读取数据字节

InputStream还有一个子类:过滤器流java.io.FilterInputStream。过滤器流即能把基本流包裹起来,提供更多方便的用法。

FilterInputStream类的构造方法为FilterInputStream(InputStream),在指定的输入流之上,创建一个输入流过滤器。

过滤器输入流

流的用途

BufferedInputStream

缓冲区对数据的访问,以提高效率

DataInputStream

从输入流中读取基本数据类型,如int、float、double或者甚至一行文本

LineNumberInputStream

在翻译行结束符的基础上,维护一个计数器,该计数器表明正在读取的是哪一行。

PushbackInputStream

允许把数据字节向后推到流的首部

2、字符流

注:是在jdk1.1里面引进的,上面字节流是在jdk1.0引进的。当用于处理文本数据时,选择字符流比字节流更好。但对只出路基本数据类型的开发者,可以继续使用字节流。

所有的读操作都继承自一个公共超类java.io.Reader类。

所有的写操作都继承自一个公共超类java.io.Writer类。

同样Reader和Writer也是抽象类。

Reader的常用的子类如下:

低级读取器

流的用途

CharArrayReader

从字符数组中读取数据

InputStreamReader

FileReader(InputStreamReader的子类)

从本地文件系统中读取字符序列

StringReader

从字符串中读取字符序列

PipedReader

从线程管道中读取字符序列

InputStreamReader重点讲解:

InputStreamReader是从输入流中读取数据,连接输入流于读取器。如:

new InputStreamReader(System.in)

构造方法:

InputStreamReader(InputStream)

用缺省的字符编码方式,创建一个 InputStreamReader。

InputStreamReader(InputStream, String)用已命名的字符编码方式,创建一个 InputStreamReader。常用的过滤器读取器:

过滤器读取器

流的用途

BufferedReader

缓冲数据的访问,以提高效率

LineNumberReader(BufferedReader的子类)

维护一个计数器,该计数器表明正在读取的是哪一行。

FilterReader(抽象类)

提供一个类创建过滤器时可以扩展这个类

PushbackReader(FilterReader的子类)

允许把文本数据推回到读取器的流中

这些过滤器读取器都可以传入一个Reader作为构造方法的参数。

Java什么是控制流程

在Java程序中,我们所写的代码是按照逻辑一行一行的进行的,但是现实中我们经常会遇到很多的选择,然后根据不同的情况进行不同的处理,在Java中同样也有这样的流程处理方式,这些方式主要有顺序结构,选择结构,循环结构

顺序结构表示的是,中间没有其他的情况,程序从上到下按照代码顺序依次执行每个语句;

选择结构即表示遇到了不同的情况,我们需要不同的处理,在Java中我们可以使用的选择结构的语法有if(条件){执行体1} else{执行体2},if(如果的意思)表示括号里面的条件为真(即满足了括号中的条件)就会执行执行体1里面的代码,否则就会执行执行体2中的代码;这样就会根据不同的情况,执行不同的逻辑了;当需要多个判断的时候,可以使用if(条件){执行体}else if(条件){} else{执行体}其中else if可以有多个;这样我们就可以执行多个判断了;但是如果判断的条件比较多,我们就得写很多的if else,对于这样的多个判断的方式,Java中还可以使用

switch(value){case value1:{情况1;break;}case value1:{情况1;break;}case value1:{情况1;break;}default:{其他情况;break;}}

这样的结构进行判断,将可能的情况一一列出,然后进行不同的处理方式;

循环结构,表示的是一直循环多次进行某一个操作,如果没有循环结构,我们就可能需要将同一个代码连续写上多遍,而且还得固定次数,比如我要循环打印100条hello world,没有循环的话,我们就需要连着写100多个打印语句,这样的程序看起来代码很多而且还不好维护,有了循环结构之后,我们可以直接使用循环的语法格式,就可以打印出100个语句;例如我们使用for(int i=0; i<100; i++){ System.out.println(“hello world”);}这个简单的结构就可以打印出100个 hello world,而且代码看起来也非常的简洁;

除了for循环之外,Java中还有 while(条件){循环体}和do{循环体} while(条件)的语句这两个的不同之处在于第一个while循环会首先判断条件,如果条件满足就会进入执行循环体,第二个do...while的循环会首先进入循环体,将循环体内容执行一遍之后才会进行条件的判断,也就是说即使条件不满足,do...while也会进行一次的循环;

循环结构体除了for while之外还有foreach这样的循环结构语法,基本格式为 for( String string: stringList){ System.out.println(string);}这样会循环打印出stringList这个列表中每个字符串信息;

更多java学习方面的问题可以访问这个网页,网页链接,希望我的回答能帮到你。

java工作原理

Java工作原理

由四方面组成:

(1)Java编程语言

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

请问Java 当中:输入流中的System.in是什么意思

一个 InputStreamReader类是从字节流到字符流的桥梁:它读入字节,并根据指定的编码方式,将之转换为字符流。使用的编码方式可能由名称指定,或平台可接受的缺省编码方式。

InputStreamReader的 read()方法之一的每次调用,可能促使从基本字节输入流中读取一个或多个字节。为了达到更高效率,考虑用 BufferedReader封装 InputStreamReader,例如:

InputStreamReader in= new InputStreamReader(System.in);

// System.in为系统基本输入输出,即键盘输入.调用System.in方法获得输入字符串,并用该字符串作为参数生成一个InputStreamReader对象in

BufferedReader dr= new BufferedReader(in);

//用InputStreamReader对象in作为参数生成一个IBufferedReader对象dr.用BufferedReader封装 InputStreamReader,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

关键要素说明:InputStreamReader是将标准输入字节流转换为用于输入的字符流;BufferedReader将字符流转换为缓冲流,利用缓冲流的API的函数System.in读入命令行输入的一行字符,并赋值给字符串变量。

好了,关于java中什么是流控制和Java什么是控制流程的问题到这里结束啦,希望可以解决您的问题哈!

java开发要先学什么?Java软件工程师一般要上哪些课程随心所欲不逾矩(随心所欲不逾矩出自)