JAVA简单程序解释

JAVA简单程序解释,第1张

i是从零开始的。

switch分支结构用于多条件选择,虽然在多条件选择的情况下,也可以使用if...else...结构来实现,但是使用开关语句会使程序更为精炼、清晰。开关语句得格式为:

switch(条件表达式)

{

case 常量表达式1:

语句1

break

case 常量表达式2:

语句2

break

//......

case 常量表达式n:

语句n

break

default:

//

break

}

开关表达式首先计算出条件表达式的值,如果其值等于某个常量表达式,则执行该常量表达式后的语句,如果其值与所有的常量表达式的值不相等,则执行defualt后的语句。

在switch语句中,你通常在每一种case情况后都应使用break语句,否则,第一个相等情况后面所有的语句都会被执行,这种情况叫做落空。你可以试着分别加上去和去掉break语句来执行下面的例子:

class Switch Test

public static void main(String args[])

throws java.io.IOException

char a

System.out.println("Enter a number from 1--3:")

a=(char)System.in.read()

switch(a)

case'1':System.out.println("win a Car!")break

case'2':System.out.println("picked the goat")break

case'3':System.out.println("get to keep your 100")

break

default:System.out.println("entry")

在代码中加break语句后,你应明确知道程序将会发生的变化,并要确认程序没有转移到你不想执行的代码上。

掌握了以上这些基本语句之后,你可以写更加实际点的程序了,下面这个程序计算从终端输入的数字和字符的数量。

class SwitchTest

public static void main (String args[])

throws java.io.IOException

int numberOfDigits=0,numberOfSpaces=0,numberOfOthers=0

char c

while((c=(char)System.in.read())!='')

switch(c)

case'0':

case'1':

...

...

case'8':

case'9':numberOfDigits++break

case' ':numberOfSpaces++break

default:numberOfOthers++break

System.out.println(":")

System.out.println("Number of digits="+numberOfDigits+"")

System.out.println("Number of spaces="+numberOfSpaces+"")

System.out.println("Number of others="+numberOfOthers+"")

代码的while循环从键盘读入字符直至输入一个回车符,循环内部的switch语句先把它和数字比较,当发现相等时,它就使对应的统计变量的值加1,然后break语句结束switch语句,程序回到等待键盘输入的状态。程序中,在default语句中的break是不必要的,不过加上它可以使程序风格保持一致。

//导入 *** 作IO流所要使用的所有类库

import java.io.*

//创建字节输入流测试程序

public class InputReaderTest {

//程序入口

public static void main(String[] args) {

//初始化变量i的值等于0,目前没有发现你定义这个i究竟有什么作用

int i = 0

//创建一个文件字节流的对象,因为后面要在catch块中关闭这些流,所以要

//声明到try块的外面,不然后面无法引用

FileInputStream fis = null

//创建文件字节流的对象,初始化为空,原因同上

FileReader fr = null

//使用C盘下java目录下的0404目录下的说明.txt文件创建一个JAVA可以读写

//的File类型的对象

File file=(new File ("C:\\java\\0404\\说明.txt"))

//创建一个字节数组,数组的大小使用所要连接的文件中所包含的字节数目来

//创建,通常不这样 *** 作,往往使用缓冲流来写,则数组的大小就可以固定为

//1KB或者2KB,另外数组的大小是有限的,如果文件过大,这里要报一个异常,

//总体来说,这个设计是一个有问题的设计

byte[] bytes=new byte[(int)file.length()]

//对以下调用过程中会引发异常的语句做异常处理

try {

//初始化fis文件字节流对象,该流具有按字节读取文件的功能

fis = new FileInputStream(file)

//初始化fr文件字符流对象,该流具有按字符读取文件的功能,个人感觉你的

//这个设置没有任何意义, *** 作了这个流就是为了读取这个流,而现在没有使用

//到它,建议删除,或者添加对应的字节数组

fr = new FileReader(file)

//使用文件字节流中的read(byte[] buf)方法,将文件中的所有内容读入到前

//面声明的bytes数组中

fis.read(bytes)

//将数组中的内容创建成一个字符串对象,并在屏幕上输出出来

System.out.println(new String(bytes))

//以下两句为关闭对应的流,这些语句往往放入到finally语句块中

fis.close()

fr.close()

}

//如果文件没有找到,触发以下异常

catch (FileNotFoundException fe){

//显示没有找到文件

System.out.println("找不到指定文件")

//退出JAVA虚拟机

System.exit(-1)

}

//如果引发IO *** 作异常,触发以下异常

catch (IOException ioe) {

//显示文件读取错误

System.out.println("文件读取错误")

//退出JAVA虚拟机

System.exit(-1)

}

//显示 *** 作成功

System.out.println("OK,,,")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7868437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存