Java基础入门课后习题及答案
Java基础入门_课后题答案_stu

《Java基础入门》习题答案第1章 Java开发入门一、填空题1、Java EE、Java SE、Java ME2、JRE3、javac4、bin5、path、classpath二、选择题1、ABCD2、C3、D4、B5、B三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。
JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDK。
JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。
四、编程题public class HelloWorld {public static void main(String[] args) {System.out.println("这是第一个Java程序!");}}第2章 Java编程基础一、填空题1、 class2、 true和false3、单行注释、多行注释、文档注释4、基本数据类型、引用数据类型5、 1、2、4、86、 & && | ||7、 08、 59、 3410、56二、判断题1、错2、对3、错4、对5、错三、选择题1、AD2、AD3、C4、ABCD5、C 6 、A 7、AC 8、A 9、B 10、A四、程序分析题1、编译不通过。
int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过。
《Java基础入门》_课后习题答案大一计算机专业7

《Java基础入门》课后习题答案第7章IO(输入输出)一、填空题1、Java中的I/O流,按照传输数据不同,可分为:字节流、字符流2.在Buffer与Channel交互时,数据从:Channel、读取到Buffer 中,或从Buffer入到Channel 中。
3.用于将字节流转换为字符流的是:InputStreamReader、OutputStreamWriter2、NIO主要有三大核心部分:Buffer、Channel、Selector5、Java中提供了一个类:RandomAccesseFile,它不但具有读写文件的功能,而且可以随机地从文件的任何位置开始执行读写数据的操作。
二、判断题1. 如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。
错2.对象序列化是指将一个Java 对象转换成一个I/0 流中字节序列的过程。
对3.Channel 是一个接口对象,它类似于传统的流对象。
对4.InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。
对5,BufferedInputStream 和BufferedOutputStream 不是字节缓冲流。
错三、选择题1.下面选项中,哪些是标准输人输出流?(多选) (AB)A. System.InB.System. OutC.InputStreamD.OutputStream2.File类中以字符串形式返回文件绝对路径的方法是哪一项?(C)A. getParent()B. getNamel)C. getAbsolutePathOD. getPath()3.以下创建RandomAccessFile类实例对象的代码,哪些是正确的?(多选)(AB)A.new RandomAccessFile(new File("D:\\itcast\\dirl\test. java"),”rw”);B.new RandomAccessFile("D:\\itcast\\dirl\test. java","r");C. new RandomAccessFile("D:\\itcast\\dir1\\test.java");D. new RandomAccessFile("D:\\itcast\\dir1\\test.java","wr")4.以下选项中,哪个流中使用了缓冲区技术? (A)A. BufferedOutputStreamB. FileInputStreamC. DataOutputStreamD. FileReader5.以下选项中,关于Java NIO 中Buffer类的常用说法正确的是哪一项?(B)A.clearO方法会清除缓冲区数据,并将position 设置为0.limit 设置为capacity OB.fip()方法先将limit 设置为当前position 位置,然后再将pson设置为0C.mark()方法用于设置Buffer 的标记(mark),其能在0 与limi 之间做标记D.rewind()方法将position 设置为0,并设置mark 标记四、简答题1、简述I/O 流的概念。
java基础练习题及答案

java基础练习题及答案Java基础练习题及答案Java作为一种广泛应用的编程语言,其基础知识的掌握对于程序员而言是至关重要的。
为了帮助大家更好地理解和掌握Java的基础知识,下面将提供一些常见的Java基础练习题及其答案,希望对大家有所帮助。
一、数据类型与变量1. 编写一个Java程序,声明一个整型变量x并赋值为10,然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {int x = 10;System.out.println(x);}}```2. 编写一个Java程序,声明一个字符型变量ch并赋值为'A',然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {char ch = 'A';System.out.println(ch);}```3. 编写一个Java程序,声明一个布尔型变量isTrue并赋值为true,然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {boolean isTrue = true;System.out.println(isTrue);}}```二、运算符1. 编写一个Java程序,计算两个整数的和并输出结果。
```javapublic class Main {public static void main(String[] args) {int a = 10;int b = 20;int sum = a + b;System.out.println("两个整数的和为:" + sum);}```2. 编写一个Java程序,计算两个整数的商并输出结果。
java基础练习题带答案.doc

java基础练习题带答案第1章Java开发入门一、填空题1、Java EE、Java SE、Java ME2、JRE3、javac4、bin5、path> classpath二、选择题1、A BCD、C、D、B、 B三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、JRE,它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,10类、GUI控件类、网络类等。
JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
JDK,它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDKo JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRETo四、编程题public class HelloWorld {} public static void main { } System, out. printin;第2章Java编程基础一、填空题1、class2、true 和false3、单行注释、多行注释、文档注释4、基本数据类型、引用数据类型5、1、2、4、86、& && |7、08、9、10、6二、判断题1、错、对、错、对、错三、选择题1、AD、AD、C、ABCD、 C 、A、AC、A、 B 10、A四、程序分析题1、编译不通过。
int值4和b相加时,由于变量b 的类型为byte,取值范围没有int类型大,存不下int 类型的值,因此编译不通过。
2、编译不通过。
这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,在使用y = x;语句时已经超过了y变量的作用域,所以编译无法通过。
3、打印结果为:3o4、打印结果为:987五、问答题1、J ava语言的八种基本数据类型有:byte字节型,占一个字节。
Java基础入门_课后题答案_仅供参考

黑马面试题1:定义map集合,并自定义对象,对map集合遍历,打出key和value值【已完成】2:定义一个类A,类中定义一个show方法,打印一句话,在定义一个TestA类,利用反射在TestA中创建A的对象,并调用show方法3:使用高效字符缓冲流复制文件4:把C盘中的一个多层文件夹拷贝到D盘中。
用高效的方法(要求写思路,注释,代码)5:Integer泛型Map中存储字符串6:开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。
7:Map的两种遍历方式【已完成】8:如何用反射去创建一个对象,有2种方式,尽量用代码去体现9:编写一个程序,把这个目录里边的所有的带.java文件都拷贝到另一个目录里边,拷贝成功以后,把后缀名是.java改成.txt10:创建多线程的方式有几种?尽量用代码去体现11:编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。
【已完成】12:编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List 集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出【已完成】14:Collection集合下班有哪些类,哪些类又有哪些特点ListSet15: 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×100016:编写一个类,增加一个实例方法用于打印一条字符串。
并使用反射手段创建该类的对象,并调用该对象中的方法。
17:编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString18:复制多级文件夹19:写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法,用for循环创建5个线程对象。
Java程序设计基础习题答案

Java程序设计基础习题答案Java程序设计基础课后习题参考答案第2章1、关于Java Application得入口方法main()得检验:main()方法得参数名就是否可以改变?main()方法得参数个数就是否可以改变?该方法名就是否可以改变?参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。
(3)该方法名不可以改变。
2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗?参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。
3、下列语句能否编译通过?bytei =127;bytej = 128;longl1 = 999999;long l2= 9999999999;参考答案:byte i 与long l1可以编译通过。
而byte j 与longl2 超出自身数据类型范围,所以编译失败。
4、下列语句能否编译通过?float f1 =3、5;float f2 = 3.5f;参考答案:java中浮点型得数据在不声明得情况下都就是doubl e型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。
5、验证int 与char,int与double等类型就是否可以相互转换。
参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。
6、计算下列表达式,注意观察运算符优先级规则。
若有表达式就是非法表达式,则指出不合法之处且进行解释。
(1)4+5 == 6*2 ?(2) (4=5)/6??(3)9%2*7/3>17(4)(4+5)<=6/3 ?(5) 4+5%3!=7-2(6)4+5/6〉=10%2参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得.7、下列()就是合法得Java标识符。
java基础教程第3版习题解答

Java基础教程第3版习题解答第一章习题1. JamesGoslin g2.需3个步骤:1)用文本编辑器编写源文件2)使用java c编译源文件,得到字节码文件3)应用程序使用解释器运行。
3. path d:\jdk\binclassp ath =d:\jdk\jre\lib\rt.jar;.;4. B5. java 和class6.D。
第二章习题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。
fal se不是标识符。
2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。
不是关键字。
cl assi mplem entsi nterface enum extend s abstra ct。
3.float常量必须用F或f为后缀。
double常量用D或d为后缀,但允许省略后缀。
4.一维数组名.length。
二维数组名.l ength。
5. C6.ADF7. B8 【代码2】【代码3】【代码4】9.B。
10.属于操作题,解答略。
11.3,112.public classE {public static void main(String args[]) {System.out.printl n((int)'你');System.out.printl n((int)'我');System.out.printl n((int)'他');}}13.public classE {public static void main (String args[ ]) {char cStart='α',cEnd='ω';for(char c=cStart;c<=cEnd;c++)System.out.print(" "+c);}}第三章习题1. 1102.beep!!3.public classE {public static void main (String args[ ]) {for(charc='а';c<='я';c++){S ystem.out.print(" "+c);}}}4.public class Xiti3_4{ public s tatic void main(String args[]) { double sum=0,a=1;int i=1;while(i<=20){ sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}5.public classXiti5{ public static void main(String args[]){ int i,j;for(j=2;j<=100;j++){ for(i=2;i<=j/2;i++){ if(j%i==0)break;}if(i>j/2){ System.out.print(" "+j);}}}}6.class Xiti6{ public s tatic void main(String args[]){ double sum=0,a=1,i=1;do { sum=sum+a;i++;a=(1.0/i)*a;}while(i<=20);System.out.println("使用do-while循环计算的s um="+sum);for(sum=0,i=1,a=1;i<=20;i++){ a=a*(1.0/i);sum=sum+a;}System.out.println("使用for循环计算的s um="+sum);}}7.class Xiti7{ public s tatic void main(String args[]){ int sum=0,i,j;for(i=1;i<=1000;i++){ for(j=1,sum=0;j<i;j++){ if(i%j==0)sum=sum+j;}if(sum==i)System.out.println("完数:"+i);}}}8.import java.util.*;public classE {public static void main (String args[ ]) {int m,n;Scanne r scaner= new Scanne r(System.in);System.out.println("输入正数m回车确认");m = scaner.nextIn t();System.out.println("输入正数n回车确认");n = scaner.nextIn t();int p=m;int q= n;int r = m%n;while(r!=0) {m = n;n =r;r =m%n;}System.out.println(p+"和"+q+"的最大公约数"+n);System.out.println(p+"和"+q+"的最小公倍数"+(p*q)/n);}}9.public classE{ public static void main(String args[]){ int n=1;long sum=0;while(true){ sum=sum+n;n++;if(sum>=8888)break;}System.out.println("满足条件的最大整数:"+(n-1));}}第四章习题1.用该类创建对象时。
JAVA课后习题答案

JAVA课后习题答案第⼀章Java语⾔概述2.“java编译器将源⽂件编译为的字节码⽂件是机器码”这句话正确吗?答:不正确3.java应⽤程序的主类必须含有怎样的⽅法?答:含有main⽅法4。
“java应⽤程序必须有⼀个类是public类”这句话正确吗?答;不正确,只能有⼀个public类5。
“java Applet程序的主类必须是public类”这句话正确吗?答:正确,因为java Applet主类必须是Applet类的⼦类并且是public的类6。
请叙述java源程序的命名规则。
答:与public的类同名。
7。
源⽂件⽣成的字节码⽂件在运⾏时都加载到内存中吗?答:⾮也,动态随需要运⾏才加载。
8.⾯向对象的程序设计语⾔有那些基本特征?答:封装;继承;多态性。
9.在Java程序中有多个类⽂件时,⽤Java命令应该运⾏那个类?答:具有main⽅法的类第⼆章基本数据类型和数组4。
下列哪些语句是错的?Int x=120;Byte b=120;b=x;答:B=x;错应为b=(byte)x5。
下列哪些语句是错的?答:y=d;错,应y=(float)d6。
下列两个语句是等价的吗?Char x=97;Char x=…a?;答:是等价的。
7。
下列system.out.printf语句输出结果是什么?Int a=97;Byte b1=(byte)128;Byte b2=(byte)(-129);System.out.printf(“%c,%d,%d”,a,b1,b2);如果输出语句改为:System.out.printf(“%d,%d,%d”,a,b1,b2);输出什么?答:输出a ,-128,127修改后输出97,-128,1278.数组是基本数据类型吗?怎样获取数组的长度?答:不是基本数据类型,是复合数据类型。
可以通过:数组名.length的⽅法获得数组长度9。
假设有两个int类型数组:Int[] a=new int[10];Int[] b=new int[8];b=a;A[0]=100;B[0]的值⼀定是100吗?答;⼀定,因为a数组与b数组引⽤相同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java基础入门》课后习题第1章Java开发入门一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。
2、Java程序的运行环境简称之为JRE_____。
3、编译Java程序需要使用_javac_____命令。
4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。
5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?BA.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;三、问答题1、简述Java的特点。
面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、简述JRE与JDK的区别。
JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。
JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDK。
JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。
JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDK。
JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。
四、编程题使用记事本编写一个HelloWorld程序,在dos命令行窗口编译运行。
请按照题目的要求编写程序并给出运行结果。
public class HelloWorld {public static void main(String[] args) {"这是第一个Java程序!");}}第2章Java编程基础一、填空题1、Java中的程序代码都必须在一个类中定义,类使用__class____关键字来定义。
2、布尔常量即布尔类型的两个值,分别是_true_____和_flase_____。
3、Java中的注释可分为三种类型,分别是_单行注释//__、__多行注释_/* */__、文档/注释** */______。
4、Java中的变量可分为两种数据类型,分别是_基本数据类型_____和_引用数据类型_____。
5、在Java中,byte类型数据占____1__个字节,short类型数据占__2____个字节,int类型数据占___4___个字节,long类型数据占____8__个字节。
6、在逻辑运算符中,运算符___&___和___&&___用于表示逻辑与,__|____和__||____表示逻辑或。
7、若x = 2,则表达式( x + + )/3 的值是__0___。
8、若int a =2; a+=3;执行后,变量a的值为__5____。
9、若int []a={12,45,34,46,23}; ,则a[2]= __34____。
10、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= __56____。
二、判断题1、Java语言不区分大小写。
错2、0xC5表示的是一个十六进制整数。
对3、continue 语句只用于循环语句中,它的作用是跳出循环。
错4、“/*…*/”中可以嵌套“//”注释,但不能嵌套“/*…*/”注释。
对5、-5%3的运算结果是2。
错三、选择题1、以下选项中,哪些属于合法的标识符?(多选)ADA、Hello_WorldB、classC、123usernameD、username1232、关于方法重载的描述,以下选项中哪些是正确的?(多选)(AD)ABDA、方法名必须一致B、返回值类型必须不同C、参数个数必须一致D、参数的个数或类型不一致3、以下关于变量的说法错误的是?CA、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明4、以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选)ABCDA、intB、byteC、charD、short5、假设int x = 2,三元表达式x>0?x+1:5 的运行结果是以下哪一个?CA、0B、2C、3D、56、下面的运算符中,用于执行除法运算是哪个?AA、/B、\C、%D、*7、下列语句哪些属于循环语句?(多选)ACA、for语句B、if语句C、while语句D、switch语句8、下面哪种写法可以实现访问数组arr的第1个元素?AA、arr[0]B、arr(0)C、arr[1]D、arr(1)9、以下哪个选项可以正确创建一个长度为3的二维数组?(B)CA、new int [2][3];B、new int[3][];C、new int[][3];D、以上答案皆不对10、请先阅读下面的代码。
int x = 1;int y = 2;if (x % 2 == 0) {y++;} else {y--;}"y=" + y);上面一段程序运行结束时,变量y的值为下列哪一项?AA、1B、2C、3D、switch语句四、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。
否则请说明编译失败的原因。
代码一:b=7(编译不通过。
int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过)public class Test01 {public static void main(String[] args) {byte b = 3;b = b + 4;"b=" + b);}}代码二:不能,y只在{}有效(编译不通过。
这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码)public class Test02 {public static void main(String[] args){int x = 12;{int y = 96;"x is " + x);"y is " + y);}y = x;"x is " + x);}}代码三:3 因为没有break,,所以4以后都执行public class Test03 {public static void main(String args[]) {int x = 4, j = 0;switch (x) {case 1:j++;case 2:j++;case 3:j++;case 4:j++;case 5:j++;default:j++;};}}代码四:987public class Test04 {public static void main(String args[]) {int n = 9;while (n > 6) {;n--;}}}五、简答题1、请列举Java语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小。
Java语言的八种基本数据类型有:byte字节型,占一个字节。
short短整型,占两个字节。
int整型,占4个字节。
long长整型,占8个字节。
float单精度浮点型,占4个字节。
double双精度浮点型,占8个字节。
char字符型,占两个字节。
boolean型,表示逻辑值,有true和false两个值,分别占一个字节。
2、简述&&与&的区别并举例说明。
如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。
如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。
例如定义int x = 2,y = 0; boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y的表达式执行了。
而boolean b = x < y & x / 2 > 0是不会出现这种异常的,因为x < y为false,表达式x / y不会执行3、什么是方法重载?方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。
调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。
六、编程题请按照题目的要求编写程序并给出运行结果。
1、请编写程序,实现计算“1+3+5+7+…+99”的值。
提示:1)使用循环语句实现自然数1~99的遍历。
2)在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加。
2、已知函数x + 3 ( x > 0 )y = 0 ( x = 0 )x2–1 ( x < 0 )请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。
提示:1)定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型。
2)在方法中使用if…else if..else语句针对x的值进行三种情况的判断。