Java-分支结构_if嵌套.

合集下载

java语言的if嵌套结构

java语言的if嵌套结构

java语言的if嵌套结构1.引言1.1 概述在Java语言中,if语句是一种常见的控制结构,用于根据条件的真假来执行不同的代码块。

if语句的基本用法我们已经很熟悉了,但是在实际的编程过程中,我们经常会遇到需要根据多个条件来判断执行哪段代码的情况。

这时候,就需要用到if嵌套结构。

if嵌套结构是一种在if语句内部再次嵌套if语句的方式,通过这种结构,我们可以实现更复杂的条件判断和代码执行逻辑。

它允许我们按照从上到下的顺序逐层判断条件,从而实现更精细的控制。

如果我们只使用简单的if语句,我们只能根据一个条件来进行判断,而无法满足多个条件同时满足的情况。

而通过if嵌套结构,我们可以根据多个条件的组合来决定执行哪些代码块。

这样,我们可以更加灵活地处理各种不同的情况。

然而,if嵌套结构也存在一些问题。

首先,过多的if嵌套会导致代码的复杂性增加,可读性变差,维护和调试变得困难。

其次,if嵌套结构容易产生逻辑错误,因为每个条件表达式都需要仔细判断和处理。

因此,在使用if嵌套结构时,我们需要注意代码的简洁性和可读性,避免过度使用嵌套结构。

在本文中,我们将详细介绍if嵌套结构的使用方法和注意事项,以及它在Java语言中的优缺点。

通过深入了解和合理使用if嵌套结构,我们可以提高代码的灵活性和可维护性,更好地完成编程任务。

1.2 文章结构本文将从引言、正文和结论的角度进行论述Java语言的if嵌套结构。

以下是文章的结构安排:引言:1.1 概述1.2 文章结构1.3 目的正文:2.1 if语句的基本用法2.2 if嵌套结构的概念和作用结论:3.1 if嵌套结构的优缺点3.2 对于Java语言中if嵌套结构的建议和应用注意事项在引言部分,我们将对Java语言的if嵌套结构进行概述,以便读者对该主题有一个初步的了解。

我们还将介绍本文的目的,即探讨if嵌套结构在Java编程中的应用和注意事项。

在正文部分,我们将首先介绍if语句的基本用法,包括其语法和常见的应用场景。

选择分支结构的实验报告

选择分支结构的实验报告

一、实验背景选择分支结构是程序设计中非常重要的一种结构,它可以根据不同的条件判断,选择执行不同的代码块。

在Java、C、Python等多种编程语言中,选择分支结构都有着广泛的应用。

为了加深对选择分支结构的理解,本次实验通过具体的实例来演示选择分支结构的实现方法。

二、实验目的1. 理解选择分支结构的原理和语法;2. 掌握if-else语句、switch-case语句等选择分支结构的用法;3. 能够运用选择分支结构解决实际问题。

三、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse四、实验内容1. 实验一:if-else语句(1)实验目的:掌握if-else语句的基本用法。

(2)实验内容:编写一个Java程序,根据用户输入的年龄,判断用户是青少年、中年还是老年人。

(3)实验步骤:① 创建一个名为AgeDemo的Java类;② 在主函数中,声明一个变量age,用于存储用户输入的年龄;③ 使用Scanner类获取用户输入的年龄;④ 使用if-else语句判断年龄,并输出相应的结果。

(4)实验代码:```javaimport java.util.Scanner;public class AgeDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入您的年龄:");int age = scanner.nextInt();if (age >= 18 && age <= 30) {System.out.println("您是青少年。

");} else if (age >= 31 && age <= 60) {System.out.println("您是中年人。

历年全国计算机等级考试二年级Java语言程序设计试题及答案

历年全国计算机等级考试二年级Java语言程序设计试题及答案

历年全国计算机等级考试二级Java语言程序设计试题及答案一、选择题每小题1分,共40小题,共40分1.下列叙述中正确的是 ; A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述3种说法都不对D;解析算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系;2.开发软件时对提高开发人员工作效率至关重要的是 ; A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序员的数量D.计算机的并行处理能力B;解析先进的软件开发工具和环境对提高开发人员工作效率是至关重要的;3.程序设计语言的基本成分是数据成分、运算成分、控制成分和 ; A.对象成分B.变量成分C.语句成分D.传输成分D;解析程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输;4.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为 ; A.125 B.n/2 C.n D.n+lC;解析对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止;在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n;5.有下列二叉树,对此二叉树前序遍历的结果为 ;A.XZCYAB B.XYZABC C.XYABCZ D.XYAZBC D;解析对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树;6.下列叙述中正确的是 ; A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述3种说法都不对C;解析面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系;7.软件工程的理论和技术性研究的内容主要包括软件开发技术和 ; A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用B;解析基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理;8.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 ; A.调用语句B.命令C.H令D.消息D;解析在面向对象方法中,对象之间通过消息进行通信;消息中只包含传递者的要求,但并不指示接受者应该怎么完成这些处理;9.下列选项中,是软件调试技术的是 ; A.错误推断B.集成测试C.回溯法D.边界值分析C;解析软件调试技术包括强行排错法、回溯法和原因排除法;边界值分析、错误推断都是黑盒测试的方法;10.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是 ; A.DB包括DBS和DBMS B.DBMS包括DB和DBS C.DBS包括DB和DBMS D.没有任何关系C;解析数据库系统DBS由数据库DB、数据库管理系统DBMS、数据库管理员、硬件平台和软件平台5个部分组成,因此DB和DBMS都是DBS的组成部分;11.下列不是高级程序设计语言;A.FORTRANB.JavaC.C++D.Visual ASMD;解析高级语言是一类人工设计的语言,因为它对具体的算法进行了描述,所以又称为算法语言;它是面向程序设计独立于计算机的硬件;目前,计算机常用的高级语言有:BASIC语言、FORTRAN语言、COBOL语言、PASCAL语言、C语言、PROLOG语言、而当前流行的,面向对象的程序设计语言有C++和用于网络环境的程序设计语言Java等;12.16根地址总线的寻址范围是 ;A.531KBB.64KBC.640KBD.1MBB;解析假设地址总线有n条,内存的寻址范围是2n;13.在一所大学中,每个系都有自己的局域网,则连接各个系的校园网 ;A.是广域网B.还是局域网C.是地区网D.这些局域网不能互连B;解析广域网是指远距离的计算机互联网络,分布范围可达几千千米乃至上万千米甚至跨越国界、州界、遍及全球范围;局域网是指一个局部区域中的、近距离的计算机互联网络,通常采用有线方式连接,分布范围从几百米到几千米;例如,一座大楼内或相邻的几座楼之间的互联网络;一个单位、学校内部的网络多为局域网;14.下列关于信息加密的叙述中,正确的是 ;A.加密通过加密算法实现B.加密前的文件称为密文C.加密后的文件称为明文D.将明文变为密文的过程称为解密A;解析一般人们将加密前的文件称为明文,而加密后的文件称为密文,因此加密的目的就是将明文变为密文;而反过来将密文变为明文的过程则称为解密;15.下列关于域名和IP地址的叙述中,不正确的是 ;A.在Internet中访问一台主机必须使用它的主机名B.200.201.202.203是一个C类I P地址C.I P地址采用的是分层结构D.主机名与I P地址是一一对应的A;解析每台直接连接到Internet上的计算机、路由器都必须有唯一的IP地址;IP地址是Internet赖以工作的基础;Internet中的计算机与路由器的IP地址采用分层结构,它是由网络地址与主机地址两部分组成;对于C类地址,其网络地址空间长度为21位,主机地址空间长度为8位,C类I P地址范围从:l92.0.0.0~223.255.255.255;主机名与它的IP地址一一对应,因此在Internet上访问一台主机既可以使用它的主机名,也可以使用它的I P地址;16.Java语言中;负责并发管理的机制是 ;A.垃圾回收B.虚拟机C.代码安全D.多线程D;解析多线程是Java程序的并发机制,它能同步共享数据、处理不同的事件;17.下列描述中,错误的是 ;A.Java要求编程者管理内存B.Java的安全性体现在多个层次上C.Applet要求在支持Java的浏览器上运行D.Java有多线程机制A;解析为了充分利用资源,Java有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来;18.Java为移动设备提供的平台是 ;A.J2ME B.J2SEC.J2EE D.JDK 5.0A;解析Java 2平台包括:J2ME平台、J2SE平台和J2EE平台;其中:J2ME是为嵌入式和移动设备提供的Java平台;J2SE是面向企业级应用与服务的综合性标准开发平台;J2EE是面向大型企业级用容器管理专用构件的应用平台;而JDK 5.0是一个Java开发软件包;19.JDK中提供的文档生成器是 ;A.javadoc.exeB.javap.exeC.java.exeD.javaprof.exeA;解析在JDK中:javadoc.exe是文档生成器,将Java源代码和包以MML格式生成AP文档;java.exe是Java解释器;javap.exe是Java反汇编器;javaprof.exe是Java剖析工具,提供解释器剖析信息;20.下列不属于Swing中构件的是 ;A.JPanelB.JTableC.MenuD.JFrameC;解析JPanel是Swing的中间容器;JTable是Swing中可编辑信息的构件;JFrame是Swing的顶层容器;21.阅读下面程序22.importjava.io.;23.public class TypeTransition{24.public static void mainString args{25.char a=’h’;26.int i=100 ;27.int J=97;28.int aa=a+i;29.System.out.println"aa="+aa;30.char bb=charj;31.System.out.println"bb="+bb:32.}33.}34.如果输出结果的第二行为bb=a,那么第一行的输出结果是 ;35.A.aa=I36.B.aa=20437.C.aa=v38.D.aa=156B;解析本题考查的是Java的基本数据类型及其运算;程序开始生成了一个字符型变量a和3个整型变量i、j、aa;而整型变量aa的初始值是a+i,其中a是一个字符型变量;如何进行加法运算呢Java语言规定,char型数据可以自动转换成int类型,转换的结果就是该字符的ASCIl码值;因此,整型变量aa的初始值为字符”h”的ASCIl码值加上l00;如果记住h的ASCIl码值是104,则直接就确定aa的初始值是204,选项B为正确答案;如果记不得h的ASCIl码,题目中则给出提示;题目中说”输出结果的第二行为bb=a”,也就是字符bb的值为字符a,bb的生成语句是char bb=charj,是把整型变量j的值强制转换为字符型;同样,把ASCIl码值为j97所对应的字符赋值给bb;显然,字符a的ASCIl码值为97,字符b的ASCIl码值为98,依次类推,字符h的ASCIl码为l04;因此,本题的正确答案是B;22.阅读下面程序public class Operators And Expressionsvoid equals Methodl{Stringsl一new String"how are you";Strings2=new String"how are you";System.out.printlns1= =s2:}public static void mainString args{Operators And Expressions Oper And Exp=new Oper-ators And Expressions;//用于复合类型数据的”= =”运算符OperAndExp.equalsMethodl;}}程序运行结果是 ;A.= =B.trueC.falseD.equalC;解析本题考查的是Java语言中运算符的特殊用法;相等比较运算符"= =",不仅可用于基本类型的数据之间的比较,还可以用于复合类型数据之间的比较;但是,对于复合类型数据的"= ="运算,其比较的目标是两个操作数是否是同一个对象;如果需要比较两个对象的值是否相同,则可以调用equals方法;题目中函数equalsMethodl的代码非常简单,首先生成两个字符串对象sl和s2,然后输出表达式"sl= =s2"的结果;根据上面介绍的相等比较运算符的用法,字符串对象sl和s2是复合类型数据,因此表达式"sl= =s2"比较的是sl和s2是否同一个对象;显然,sl和s2虽然具有相同的值,即"how are you",但它们是两个不同的对象;因此,本题的正确答案是C;23.阅读下面代码ifx= =0{System.out.println"冠军";elseifx>一3{System.Out.println"亚军";}else{System.out.println"季军";}若要求打印字符串”季军”,则变量X的取值范围是 ;A.x=d&x<=-3B.x>OC.x>-3D.x<=-323.D;解析本题考查的是条件分支语句if-else;if-else根据判定条件的真假来执行两种操作中的一种;当条件为真时,执行if语句后面的代码块;当条件为假时,执行else后面的代码块;题目中的代码段是一个if-else的嵌套语句,根据if-else语句的执行过程来进行分析;当x的值为0时,布尔表达式"x= =0"的结果为真,就输出”冠军”;当x的值不为0时,则执行else语句中的内容;else语句中的代码又是一个if-else语句,还是和上面一样进行分析;当X的值不等于0且大于-3时,布尔表达式”x>-3”的结果为真,输出"亚军";当x的值不等于0且不大干-3,也就是X的值不等于0同时x的值小于等于-3时,则输出"季军";经过上述分析可知,要想输出"季军",x所满足的条件为x=O&x<=-3,但是当x<=-3时,x的值一定不会为0;所以,X所满足的条件可以简写为x<=-3;因此,本题的正确答案为D;24.下列关于构造方法的叙述中,错误的是 ;A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用C;解析本题考查的是构造方法的使用;Java语言中,构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态;Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的;构造方法有如下特点:·构造方法的名字必须与类名相同;·构造方法不返回任何数据,但不用void来声明;·用户不能直接调用构造方法,必须通过关键字new自动调用;·构造方法可由用户在类中定义,默认时由Java语言自动生成;但它是个空方法,变量被赋予该数据类型的默认值;·在构造方法实现中,可以进行方法重载,即定义多个构造方法;重载构造方法的目的是使类具有不同的初始值,为类对象的初始化提供方便;根据上述构造方法的特点可知,本题选项C的说法是错误的;25.下列适配器类中不属于事件适配器的是 ;A.MouseAdapterB.KeyAdapterCponentAdapterD.FrameAdapterD;解析本题考查java.awt.event包中定义的适配器类;该包中定义的适配器类包括①ComponentAdapter构件适配器;②ContainerAdapter容器适配器;③FocusAdapter焦点适配器;④MouseAdapter鼠标适配器;⑤KeyAdapter键盘适配器⑥WindowAdapter窗口适配器,由此可知本题答案为D;26.下列类中属于字节输入抽象类的是 ;A.FileInputStreamB.ObjectInputStreamC.FiterInputStreamD.InputStreamD;解析在Java中定义了两种类型的流,字节型和字符型,这两种流分别用4个抽象类表示:InputStream,OutputStream,Reader,Writer,其中InptutStream和OutStream表示字节流,Reader和Reader是表示字符流,所以字节输入抽象类为InptutStream;27.能向内部直接写入数据的流是 ;A.FileOutputStreamB.FileInputStreamC.ByteArrayOutputStreamD.ByteArraylnputStreamC;解析本题考查Java的内存读写;在java.io中,还提供了 ByteArrayInputStream、ByteArrayoutputStream和StringBufferInputStream类可直接访问内存,它们是InputStream和OutputStream的子类;用ByteArrayOutputStream可向字节数组写入数据;ByteArrayInputStream可从字节数组中读取数据;28.下列运算符中属于关系运算符的是 ;A.= =B.=C.+ =D.- =A;解析本题考查Java的关系运算符;B中写法不正确,C、D均为赋值运算符;29.下列方法中,声明抛出InterruptedException类型异常的方法是 ;A.suspendB.resumeC.sleepD.startC;解析本题考查线程的基本操作;Java中提供了interrupt方法用来中断一个线程,当调用一个线程的interrupt方法时,即向该线程发送一个中断请求;在调用线程的interrupt方法时,如果该线程由于调用了sleep方法或wait方法而正在处于阻塞状态,那么线程会抛出一个InterruptException异常;30.下列关于System类的叙述中,错误的是 ;A.System类是一个final类B.System类不能实例化C.System类中没有定义属性D.System类主要提供了系统环境参数的访问C;解析本题考查System类的基本知识;Systern类是一个final类,所有的方法都用类变量来调用,对System类不可能实例化;System类主要用来提供标准输入/输出和系统环境信息的访问设置;而System类的属性有:①public static final InputStream in;标准输入;②publicstatic final OutputStream out;标准输出;③pubhc static finalPrintStream err;标准错误输出;31.阅读下面程序32.public class Increment{33.public static void mainstringargs{34.int C;35.c=5:36.System.out.printlnc;37.System.out.printlnc++:38.System.out.printlnc;39.}40.}41.程序运行结果是 ;42.A.543. 644. 645.B.546. 547. 648.C.649. 750. 751.D.652. 653. 654.B;解析本题考查的是Java增量运算符"++"; x++是先使用后加l,即首先使用X的值进行表达式的计算,然后才对x的值加1;而++x是先加1后使用,即首先对x的值加1,然后使用x的值进行表达式的计算;本题首先生成一个整型变量C,其初始值为5;第一条输出语句输出c的初始值,即5;然后,第二条输出表达式c++的结果,即先输出C的值,然后才对c 的值加1,所以,第二条输出语句输出的是5,输出后c的结果才为6;最后一条输出语句输出结果为6;因此,本题的正确答案为B;32.下列叙述中,错误的是 ;A.JavaApplication与Applet所用编译命令相同B.通常情况下JavaApplication只能有一个main方法C.JavaApplet必须有HTML文件才能运行D.JavaApplet程序的.class文件可用Java命令运行D;解析本题考查的是Java中的Applet以及Applet与Application的区别;Applet是能够嵌入HTML语言中,并能够在浏览器中运行的类;Applet的运行环境是Web浏览器,所以必须建立HTML文件,告诉浏览器如何加载与运行Applet;因为Applet是不能直接通过Java命令行启动运行的;所以选项D的说法错误;33.下列关于Java语言中线程的叙述中,正确的是 ;A.线程由代码、数据、内核状态和一组寄存器组成B.线程间的数据是不共享的C.用户只能通过创建Thread类的实例或者定义和创建Thread子类的实例,建立和控制自己的线程D.因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定D;解析本题考查线程的基本知识;线程与进程在概念上是相关的,线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据;代码所操作的数据是Java线程模型中的一个组成部分,数据与代码是独立的;数据可以被多个线程共享,也可不共享;Java语言中提供两种创建线程的方法,一种是通过继承Thread类创建线程,另一种是通过实现Runnable接口来创建线程;34.处理对象传输的接口是 ;A.SerializableB.C:loneableC.hemListenerD.ActionListenerA;解析处理对象传输就是把对象串行化;Java语言中,如果要串行化某些类的对象,这些类就必须实现Serializable接口;35.在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是 ;A.InputStreamB.FileInputStreamC.StringBufferD.BufferedReaderC;解析本题考查Java语言的输入/输出流;InputStream类、FilelnputStream类和BufferedReader类都是Java语言中和输入输出直接相关的类,不属于辅助类,因此可以直接判断出选项C为正确答案;36.在Applet中显示文字、图形等信息时,应使用的方法是 ;A.initB.startC.paintD.destroyC;解析paint是与Applet显示相关的方法,由它来具体执行Applet的绘制功能;init方法用于初始化Applet,start 方法用于激活Applet;在init方法完成后,将调用start方法,而且在Applet每次显示时都要调用;destroy方法用于彻底终止Applet;37.关于线程的生命周期以下状态正确的是 ;A.新建状态、可运行状态、阻塞状态、恢复状态和终止状态B.新建状态、运行状态、阻塞状态、恢复状态和终止状态C.新建状态、可运行状态、运行状态、阻塞状态和终止状态D.新建状态、可运行状态、运行状态、恢复状态和终止状态C;解析线程生命周期中出现的状态包括:新建状态、可运行状态、运行状态、阻塞状态和终止状态;38.Thread类中能运行线程的方法是 ;A.resumeB.startC.runD.initC;解析resume是Thread类提供的用于线程控制的方法;start是Thread类中的方法,新建的线程不会自动运行,必须调用线程的start方法才能运行该线程;run是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run方法开始执行的,就像Java应用程序从main开始、Applet从ink开始一样;init不是Thread类中的方法;39.以下不是APPLET标记的选项是 ;A.PARAMB.BODYC.CODEBASED.ALTB;解析标记的一般格式是:CODEBASE=codebaseURLCODE=appletFileALT=alternateTextNAME=appletlnstanceNameWIDTH=pixelsHEIGHT=pixelsALIGN=alignmentVSPACE=pixelsHSPACE=pixelsARCHIVE=archiveFiles>ue>ue>alternateHTML因此可以看出,选项B不是APPLET标记;40.在Java中,与数据库连接的技术是 ;A.开放数据库连接B.Java数据库连接C.数据库厂家驱动程序D.数据库厂家的连接协议B;解析开放数据库连接ODBC,Open Datebase Connectivity,它是用C语言定义的;由于J2EE要求与Java绑定,因此规定使用Java数据库连接JDBC,Java DataBase Connectivity,作为Java与数据库连接的技术;二、基本操作题共18分三、本题定义了一个求两个数的最大值的方法max,并调用该方法计算67和23的最大值;四、public class javal{五、public static void mainStringargs{六、javal temp=new javal;七、int res=max67,23;八、System.out.println"res="+res;九、}十、static int maX {十一、int maxNum;十二、ifa>b十三、;十四、else十五、maxNum=b;十六、;十七、}十八、}第1处:int a,int b第2处:maxNum=a第3处:return maxNum解析第1处定义max方法中的两个整型形参;第2处将两者中较大的赋给maxNum;第3处返回最大值;三、简单应用题共24分本题的功能是对下拉菜单项的操作,包括添加和删除;页面包括一个下拉菜单、一个文本框和两个按钮“删除”和“添加”,选中下拉菜单的一项后,可以通过“删除”按钮从下拉菜单中删除该项,在文本框中填入字符串后,单击“添加”按钮就可以将该项添加到下拉菜单中,所有信息都将显示在右侧的文本域中;import java.awt.;import java.awt.event.;public class java2 extends java.applet.Applet imple-ments hemListener,ActionListener{Choice choice;TextField text;TextArea area;Button add,del;public void init .{choice:new Choice;text=new TextField8;area:new TextArea6,15;choice.add"音乐天地";choice.add"武术天地";choice.add"象棋乐园";choice.add"交友聊天";add=new Button"添加";del=new Button"删除";add.addActionListenerthis;del.addActionListenerthis;choice.addItemListenerthis;addchoice;adddel;addtext;addadd;addarea;}public void itemStateChangedhemEvent e{String name= ;int index=choice.getSelectedIndex;area.setText"\n"+index+":"+name;}public void actionPerformedActionEvent e{ife.getSource= =add||e.getSource= =text{String name=text.getText;ifname.length>0{choice.addname;choice.selectname;area.append"\n添加"+name;}}else ife.getSource= =del{choice.remove ;area.append"\n删除"+choice.getSelectedItem;}}}第1处:choice.getSelectedltem第2处:choice.getSelectedIndex解析第1处是获取当前选中项的数据;第2处清除选中项的索引号;四、综合应用题共18分五、本题的功能是定义自已的组件类;窗口中排布着12六、个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击七、按钮时,后台将显示该按钮对应的字符;八、import java.awt.;九、import java.awt.event.;十、import java.util.;十一、class java3 extends Frame{十二、十三、java3{十四、super"java3";十五、addWindowListenernew WindowAdapter{十六、public void windowClosingWindowEvent e{十七、System.exitO;十八、}十九、};二十、setLayoutnew GridLayout4,3,6,6;二十一、forint i=0;i KeyButton kb=new KeyButtonkeys.charAt i;kb.addkeyListenerthis;kb.setBackgroundColor.pink;kb.setForegroundColor.black;addkb;} setSize200,200;show;} class KeyEventHandler extends KeyAdapter{ public void keyTyPedKeyEvent evt{ System.out.printlnevt.getChar;} } public static void mainStringargs{ newjava3;} } class KeyButton extends Component{ KeyListener keyListener;boolean highlighted;char key;KeyButtonchar k{ this.key=k;addMouseListenernew MouseEventHandler:} public void paintGraphics g{ intW=getSize.width;int h=getSize.height;String s=""+key;FontMetricsfm=g.getFontMetrics;ifhighlighted{ g.setColorgetBackground;g.fillRoundRect0,0,w-1,h-1,10,10;} g.setColorgetForeground;g.drawRoundRect0,0,w-1,h-1,10,10;g.drawStrings,w-fm.stringWidths/2, h-fm.getHeight/2+fm.getAscent;} class MouseEventHandler extends MouseAdapter{ public void mousePressedMouseEvent evt{ ifkeyListener=null{ keyListener.keyTyped new KeyEventKeyButton.this,KeyEvent.KEY_ TYPED, System.currentTimeMillis, 0,KeyEvent.VK_UNDEFINED,key;} } public void mouseEnteredMouseEvent evt{ highlighted=true;repaint;} public void mouseExitedMouseEvent evt{ highlighted=false;repaint;} } public synchronized void addKeyListernerKeyLis- tener l{ keyListener=AWTEventMuhieaster.addkey- Listener,1;} public synchronized void removeKeyListenerKey- Listenerl{ keyListener=AWTEventMuhicaster.remove keyListener,1;} }第1处:int i=0;i第2处:kb.addKeyListenernew KeyEventHandler 第3处:system.out.printlnevt.getKeyChar 解析第1处是作为遍历keys中元素的条件,而keys中的字符元素就是各个按钮对应的字符;第2处注册键盘事件监听功能,KeyButton实现了KeyLIstener接口,而kb是KeyButton类的对象,所以它是合格的监听者;第3处将从键盘读到的字符输出;。

第3章 分支结构

第3章 分支结构

使用if-else语句 使用 语句
判断学生张三的成绩是否比学生李四的高? 判断学生张三的成绩是否比学生李四的高?
Scanner input = new Scanner(System.in); System.out.print("输入学生张三成绩 "); 输入学生张三成绩: 输入学生张三成绩 int score1 = input.nextInt(); System.out.print("输入学生李四成绩 "); 输入学生李四成绩: 输入学生李四成绩 int score2 = input.nextInt(); if(score1>score2) { System.out.println( "张三成绩比李四高 " ); 张三成绩比李四高! 张三成绩比李四高 } else{ System.out.println("张三成绩不比李四高 " ); 张三成绩不比李四高! 张三成绩不比李四高 }
使用else-if语句,实现对学生成绩的等级评定
int score = input.nextInt(); //考试成绩 考试成绩 if ( score >= 90 ) { System.out.println("优秀"); } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 70 ) { System.out.println ("中等"); } else if (score>=60){ System.out.println ("及格"); } else { System.out.println("不及格"); }

java-分支结构-if-else结构练习题

java-分支结构-if-else结构练习题

java-分⽀结构-if-else结构练习题例1:从键盘输⼊三个整数分别存⼊num1,num2,num3,对他们进⾏排序,并且从⼩到⼤输出代码实现:import java.util.Scanner;class IfTest1{public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输⼊你的第⼀个整数:");int num1 = scan.nextInt();System.out.println("请输⼊你的第⼆个整数:");int num2 = scan.nextInt();System.out.println("请输⼊你的第三个整数:");int num3 = scan.nextInt();if(num1 <= num2){if(num3>=num2){System.out.println(num3+"\t"+num2+"\t"+num1);}else{if(num3<=num1){System.out.println(num3+"\t"+num1+"\t"+num2);}else{System.out.println(num1+"\t"+num3+"\t"+num2);}}}else{if(num3>=num1){System.out.println(num2+"\t"+num1+"\t"+num3);}else{if(num3>=2){System.out.println(num2+"\t"+num3+"\t"+num1);}else{System.out.println(num3+"\t"+num3+"\t"+num1);}}}}} 编译实现:例2:⾼富帅问题; ⼤家都知道,男⼤当婚,⼥⼤当嫁。

浙大《Java语言程序设计》编程答案4

浙大《Java语言程序设计》编程答案4

浙大《Java语言程序设计》编程答案4实验5 分支结构程序的设计程序填空,不要改变与输入输出有关的语句。

一、显示两级成绩输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。

输出使用System.out.println("Pass");及System.out.println("Fail");例:括号内是说明输入2 (repeat=2)60 59输出PassFailimport java.util.Scanner;public class Test30001{public static void main(String[] args){int ri, repeat;int mark;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){mark=in.nextInt();/*------------------*/if (mark<60)System.out.println("Fail");elseSystem.out.println("Pass");}}}二、找最小值输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入四个整数,输出其中的最小值。

例:括号内是说明输入3 (repeat=3)12 6 1 9010 40 30 20-1 -3 -4 -5输出min is 1 (12 6 1 90 中的最小值是1)min is 10 (10 40 30 20 中的最小值是10)min is -5 (-1 -3 -4 -5中的最小值是-5)import java.util.Scanner;public class Test30002 {public static void main(String[] args){int ri, repeat;int a, b, c, d, min;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){a=in.nextInt();b=in.nextInt();c=in.nextInt();d=in.nextInt();/*------------------*/min=a;if(min>b) min=b;if(min>c) min=c;if(min>d) min=d;System.out.println("min is "+min);}}}三、求三角形的面积和周长输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter;否则,输出“These sides do not correspond to a valid triangle”。

Java中if else语句

Java中if else语句
Java中if else语句
概念 2
当程序中存在含有分支的判断语句时,就可以用 if...else语句处理。
当判断条件成立,即执行if语句主体;判断条件 不成立时,则会执行else后面的语句主体。
Java中if else语句
流程图
false 条件表达式 true 语句或语句块
语句或语句块
其他语句
3
Java中if else语句
语句格式
1
if (条件表达式)
{ 语句或语句块1 2
}
else
{
3
语句或语句块2
} 其他语句
4
Java中if else语句
说明 5 如果条件表达式的值为真(true)时,则执行语句或语 句块1,然后跳出if-else结构,继续执行if语句后的其他语句; 如果表达式的值为假(false),则执行语句或语句块2, 然后然后继续执行if语句后的其他语句。
Java中if else语句
实例 6 例1:判断一个数字是否大于零。
a=5
a >0? a <0?
打印a>0的语句 打印a<0的语句
Java中if else语句
实例 7 例2:判断一个数字是奇数还是偶数 。
x=5
x % 2 == 1 x % 2 == 0
打印“x是奇数!”的语句 打印“x是偶数!”的语句
Java中if else语句
练习 8 1、输入三角形的三边,若能构成三角形,求面积,否 则输出“不能构成三角形”。 2、求一元二次方程的实数根。
Java中if else语句
ቤተ መጻሕፍቲ ባይዱ

java学习笔记(5)控制语句、键盘输入

java学习笔记(5)控制语句、键盘输入

java学习笔记(5)控制语句、键盘输⼊控制语句:java控制可以分为7种:*控制选择结构语句: *if if else *switch*控制循环结构语句: *for *while *do while*改变控制语句顺序: *break *continueif控制语句:/*关于java语⾔当中的if语句,属于选择结构,if语句⼜被称为分⽀语句/条件控制语句;1、if语句的运发结构:包含4中编写⽅式第⼀种:if(布尔表达式){java语句;...};第⼆种:if(布尔表达式){java语句;...}else{java语句;...}第三种:if(布尔表达式){java语句;...}else if(布尔表达式){java语句;...}...第四种:if(布尔表达式){java语句;...}else if(布尔表达式){java语句;...}else{java语句;...}重点:只要有⼀个if分⽀执⾏,整个if语句结束;注意:所有控制语句都是可以互相嵌套的。

注意:嵌套使⽤的时候,代码格式要保证完美。

注意:if语句中,只有⼀条java语句的话,⼤括号可以省略;if(true/false){java语句;}if(true/false) java语句;//但是不推荐使⽤,这种代码风格不好。

不容易看清。

*/public class ifTest01{public static void main(String[] args){// 需求,所在位置的5公⾥范围内有肯德基的话,去KFC吃午饭。

// 公⾥数double distance = 6.0;//单位KM// 判断语句if(distance<=5){System.out.println("⾛着去KFC吃午饭");}else if(distance<=7.0&&distance>5){System.out.println("跑着去KFC吃午饭");}else{System.out.println("在附近吃别的");}}}接收⽤户键盘输⼊:/*System.out.println() 负责向控制台输出,【从内存到控制台,输出的过程,这是从内存中出来了】接收⽤户键盘输⼊,从"键盘"到"内存"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

System.out.println("请输入分数:");
String temp=input.readLine();
score = Float.parseFloat(temp);
if ( score < 90)
if ( score < 80)
if ( score < 70)
if ( score < 60) System.out.println("该同学的分数等级为:不及格");
九江职业技术学院
Jiujiang Vocational & Technical College
Java程序基础
分支结构(三)
Java程序基础
分支结构嵌套
• Java语言允许对if-else条件语句进行嵌套使用。前述分支结构的 语句部分,可以是任何语句(包括分支语句本身),我们把分支 结构的语句部分仍为分支结构的情况,称为分支结构嵌套。
else
System.out.println("该同学的分数等级为:及格");
else
System.out.println("该同学的分数等级为:中等");
else
System.out.println("该同学的分数等级为:良好");
} else System.out.println("该同学的分数等级为:优秀"); Java程序基础
public static void main(String[] args) throws IOException
{ float score;
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.println("您的个人收入所得税额为:"+tax);
Java程序基础
if ( income <= 1800) System.out.println("免征个税.");
else if (income<=5000) tax = (income-1800)*0.2;
else if (income<=10000); tax = (5000-1800)*0.2+(income-5000)*0.35;
【例3-13】假定个人收入所得税的计算方式如下:当收入额小于等于 1800元时,免征个人所得税;超出1800元但在5000元以内的部分,以 20%的税率征税;超出5000元但在10000元以内的部分,按35%的税率 征税;超出10000元的部分一律按50%征税。试编写相应的征税程序。
double income,tax; … … tax = 0; if ( income <= 1800)
System.out.println("免征个税."); else if (income<=5000)
tax = (income-1800)*0.2; else if (income<=10000)
tax = (5000-1800)*0.2+(income-5000)*0.35; else
tax = (5000-1800)*0.2+(10000-5000)*0.35 +(income-10000)*0.5;
• 构造分支结构嵌套的主要目的是解决条件判断较多,较复杂的一 些问题。
• 常见的嵌套结构如下所示:
Java程序基础
if (布尔表达式1) if (布尔表达式2) 语句1;
if (布尔表达式1) 语句1;
else if (布尔表达式2) 语句2;
else 语句3;
if (布尔表达式1) if (布尔表达式2) 语句1; elBiblioteka e 语句2;}else
System.out.println(“i=”+i+”,j=”+j); --------⑥
... --------⑦
Java程序基础
【例3-11】根据某位同学的分数成绩,判断其等级:优秀(90分以上);良
好(80分以上90分以下);中等(70分以上80分以下);及格(60分以上70
分以下);不及格(60分以下)。
else tax = (5000-1800)*0.2+(10000-5000)*0.35+(income-10000)*0.5;
Java程序基础
else 语句3;
Java程序基础
i请nt 分i=1析,j=以2; 下分支嵌套程序段执行后的输出结果。
if (i!=j)
--------①
{
if (i>j) --------②
i--;
--------③
else
j--;
--------④
System.out.println(“i=”+i+”,j=”+j); --------⑤
相关文档
最新文档