• 沒有找到結果。

Java语言程序设计习题解答、实验指导及实训 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "Java语言程序设计习题解答、实验指导及实训 - 万水书苑-出版资源网"

Copied!
12
0
0

加載中.... (立即查看全文)

全文

(1)第 2 章 Java 语言基础 通过本章的实践,要掌握 Java 中的标识符、关键字、常量,熟练掌握算术、关 系、逻辑、条件、赋值、位运算符的使用,掌握简单顺序结构的程序设计。. 2.1. 典型习题解答. 【2.1】Java 中怎样进行注释? 【解答】Java 语言中的注释有 3 种形式: (1)单行: //… (2)多行: /* … */ (3)文档注释: /** … */ 第三种形式是第二种形式的变形,可用 javadoc.exe 来提取注释内容制作 HTML 帮助文档。 【2.2】Java 中标识符定义的规则有哪些? 【解答】在 Java 语言中,标识符的定义规则为:以字母、下划线(_)、美元符($)开 始,其后面可以是任意个字母、数字(0~9)、下划线、美元符的字符序列;Java 标识符区分 大小写;对长度没有限制;用户定义标识符不可以是 Java 关键字,但可以将关键字作为用 户定义标识符的一部分,例如,my_class 是一个合法的用户标识符,其中关键字 class 作为 它的一部分。 【2.3】下面字符串中哪些是关键字? CLASS sizeof abstract NULL INTEGER LONG native import 【解答】以下字符串是 Java 关键字:abstract、native、import。 【2.4】下面哪些是 Java 中的标识符? &Moon9 $_1234computer MyVariance My%INTEGER INT $_$_You 86xyz new class You&Me 【解答】以下字符串可以作为 Java 语言的标识符:$_1234computer、MyVariance、INT、 $_$_You。 【2.5】Java 中包含哪些基本数据类型? 【解答】Java 语言中的基本数据类型有:字符类型(char)、数值类型和布尔类型(boolean), 其中,数值类型包括整型和实型,整型分为:字节类型(byte)、短整型(short)、整型(int) 和长整型(long);实型分为:单精度浮点型(float)和双精度浮点型(double)。.

(2) 第2章. Java 语言基础. 【2.6】判断下面常量的数据类型。 true 123 3f 8.23e—2 4.6789 345L 'a' "Hello world!" 【解答】 布尔类型常量:true。 整型常量:123、345L。 实型常量:3f、8.23e—2、4.6789。 字符型常量:' a '。 字符串常量:"Hello world!"。 【2.7】Java 运算符有哪些?并给出运算实例。 【解答】算术运算符: +(正号),例如:+8。 —(负号),例如:—8。 +(加),例如:2+8,结果为 10。 —(减),例如:16—8,结果为 8。 *(乘),例如:10*8,结果为 80。 /(整除),例如:10/8,结果为 1。 %(模除) ,例如:10%8,结果为 2。 ++(增 1) ,例如:++j(前缀)、j++(后缀)。 ——(增 1),例如:——j(前缀)、j——(后缀) 。 关系运算符: = =(等于),例如:2= =8,结果为 false。 !=(不等于),例如:2!=8,结果为 true。 >=(大于等于),例如:12>=8,结果为 true。 <=(小于等于),例如:2<=8,结果为 true。 >(大于),例如:2>8,结果为 false。 <(小于),例如:12<8,结果为 false。 布尔逻辑运算符: &(与),例如:5>2&2>3,结果为 false。 |(或),例如:5>2|2>3,结果为 true。 !(非),例如:! true,结果为 false。 ^(异或) ,例如:5>2^8>3,结果为 false。 &&(简洁与),例如:5>12&&22>3,结果为 false。 ||(简洁或),5>2||2>3,结果为 true。 位运算符: ~(按位取反),例如:~00011001,结果为 11100110。 &(按位与),例如:00110011&10101010,结果为 00100010。 |(按位或),例如:00110011|10101010,结果为 10111011。 ^(按位异或),例如:10100001^00010001,结果为 101100000。 <<(左移位),例如:a=00010101,a<<2,结果为 01010100。. 11.

(3) 12. Java 语言程序设计习题解答、实验指导及实训. >>(右移位),例如:a= 10101000, a>>2,结果为 11101010。 >>>(无符号右移),例如:a= 10101000, a>>>2,结果为 00101010。 赋值运算符: =(赋值),例如:a=100,结果为 a 中存储 100。 +=(加等于),例如:a=8,b=3,a+=b 的结果为 a=11,b=3。 —=(减等于),例如:a=8,b=3,a—=b 的结果为 a=5,b=3。 *=(乘等于),例如:a=8,b=3,a*=b 的结果为 a=24,b=3。 /=(除等于) ,例如:a=8,b=3,a/=b 的结果为 a=2,b=3。 %=(模除等于) ,例如:a=8,b=3,a%=b 的结果为 a=2,b=3。 条件运算符: ?: (条件运算符),例如:int max,a=20,b=19; max=a>b?a:b; 结果为 max=20。 【2.8】在下列符号中不属于字符常量的有哪些?说明理由。 'x' ' \101 ' ' \r ' ' \\ ' ' \% ' ' \u0030 ' '+' 【解答】不属于字符常量的有: ' \% '、' \= ':单撇号内有两个字符,又不是转义字符。 M、s:没有用单撇号扩起来。 【2.9】已知 int i=10,j=0;计算下面表达式的值。 (1)j=5+++i (2)j=5+i++ (3)j=8+3*9/7—6 (4)j=i+3*9%i—4 【解答】 (1)j=16 (2)j=15 (3)j=5 (4)j=13 【2.10】已知 int i=10,j=20,k=30;计算下面表达式的值。 (1)i<10&&j>10&&k!=10 (2)i<10||j>10||k!=10 (3)!(i+j>k)&&!(k—j>i) (4)!(i==j)&&!(j==k)&&!(i==k) 【解答】 (1)false (2)true (3)true (4)true 【2.11】已知 int i=6,j=8;求下面表达式计算后 j 的值。 (1)j+=++i (2)j—=5+i++. M. s. ' \= '.

(4) 第2章. Java 语言基础. (3)j*=j+3*i*j—— (4)j+=j—=j*=j 【解答】 (1)j=15 (2)j=—3 (3)j=1216 (4)j=0 【2.12】编写程序,从键盘输入圆的半径,求圆的周长和面积并输出。 【解答】解题思路: (1)从键盘输入半径值,需要引用“java.io.*”包中的类。 (2)把输入的字符串转换为需要的数值类型。 (3)根据半径,计算圆的周长和面积。 (4)按照相关要求输出计算结果。 参考程序: import java.io.*; class C02E12 { public static void main(String args[]) { byte buf[]=new byte[50]; //50 个字节的数组用于存字符串 String str; double dblR=0.0; //局部变量要初始化 try { //try 语句 System.out.print("输入圆的半径:"); System.in.read(buf); //从键盘读一个数字串保存于 buf 中 str=new String(buf,0); //buf 转换成 String 对象 str dblR=Double.parseDouble(str.trim()); //数字串转换成整数 } catch (Exception e) { } //catch 语句,Exception 为异常类 System.out.println("圆的半径为:"+dblR); System.out.println("圆的周长为:"+2*Math.PI*dblR); System.out.println("圆的面积为:"+Math.PI*dblR*dblR); } }. 程序执行结果: 输入圆的半径:15 圆的半径为:15.0 圆的周长为:94.24777960769379 圆的面积为:706.8583470577034. 【2.13】编写程序,从键盘输入平行四边形的底和高,求面积并输出。 【解答】解题思路: (1)从键盘输入数据,需要引用“java.io.*”包中的类。 (2)把输入的字符串转换为需要的数值类型。 (3)根据平行四边形面积计算公式,计算平行四边形的面积。 (4)输出计算结果。. 13.

(5) Java 语言程序设计习题解答、实验指导及实训. 14. 参考程序: public class C02E13{ public static void main(String args[]){ double dblWidth=0.0,dblHeight=0.0; //参数个数检查 if(args.length<2){ System.out.println("输入的参数个数不对:"); return; } try{ dblWidth=java.lang.Double.valueOf(args[0]).doubleValue(); dblHeight=java.lang.Double.valueOf(args[1]).doubleValue(); }catch(Exception e){ System.out.println("输入参数的格式不对:"); return; } System.out.println("平行四边形的底为"+dblWidth); System.out.println("平行四边形的高为"+dblHeight); System.out.println("平行四边形的面积为:"+dblWidth*dblHeight); } }. 程序执行结果: 平行四边形的底为 15.0 平行四边形的高为 24.0 平行四边形的面积为:360.0. 【2.14】编写程序,实现摄氏温度和华氏温度的转换,要求输入摄氏温度,输出华氏温度; 输入华氏温度,输出摄氏温度。摄氏温度和华氏温度的转换公式为: 华氏温度=9×摄氏温度÷5+32 【解答】解题思路: (1)从键盘输入数据,需要引用“java.io.*”包中的类。 (2)把输入的字符串转换为需要的数值类型。 (3)根据输入的是 1 还是 2,确定输入的是摄氏温度还是华氏温度。 (4)根据输入的摄氏温度或华氏温度,按转换公式转换为相应的温度值。 (5)按照要求输出计算结果。 参考程序: import java.io.*; public class C02E14{ public static void main(String args[]){ byte buf[]=new byte[50]; //50 个字节的数组用于存字符串 int T=0; String str; double dblT=0.0; //局部变量要初始化 try{ System.out.print("选择摄氏温度 1 或华氏温度 2?");.

(6) 第2章. Java 语言基础. System.in.read(buf); str=new String(buf,0); T=Integer.parseInt(str.trim()); }catch(Exception e){} switch(T){ case 1: try { //try 语句 System.out.print("输入摄氏温度值:"); System.in.read(buf); //从键盘读一个数字串保存于 buf 中 str=new String(buf,0); //buf 转换成 String 对象 str dblT=Double.parseDouble(str.trim()); //数字串转换成整数 } catch (Exception e) {} //catch 语句,Exception 为异常类 System.out.println("输入摄氏温度值为:"+dblT); System.out.println("相应的华氏温度为:"+(9*dblT/5+32)); break; case 2: try { //try 语句 System.out.print("输入华氏温度值:"); System.in.read(buf); //从键盘读一个数字串保存于 buf 中 str=new String(buf,0); //buf 转换成 String 对象 str dblT=Double.parseDouble(str.trim()); //数字串转换成整数 } catch (Exception e) {} //catch 语句,Exception 为异常类 System.out.println("输入华氏温度值为:"+dblT); System.out.println("相应的摄氏温度为:"+5*(dblT-32)/9); break; default: System.out.println("没有选择适当的温度!"); break; } } }. 程序执行结果: 选择摄氏温度 1 或华氏温度 2?1 输入摄氏温度值:100 输入摄氏温度值为:100.0 相应的华氏温度为:212.0. 程序再次执行结果为: 选择摄氏温度 1 或华氏温度 2?2 输入华氏温度值:200 输入华氏温度值为:200.0 相应的摄氏温度为:93.33333333333333. 注意:华氏温度转换为摄氏温度的公式为: 摄氏温度=5×(华氏温度—32)÷9 【2.15】编写程序,实现英里到公里的转换,其转换公式为: 1 英里=1.6 公里. 15.

(7) Java 语言程序设计习题解答、实验指导及实训. 16. 【解答】解题思路: (1)从键盘输入数据,需要引用“java.io.*”包中的类。 (2)把输入的字符串转换为需要的数值类型。 (3)根据输入的英里数,按转换公式“1 公里=1 英里÷1.6”计算成公里数。 (4)按照要求输出计算结果。 参考程序: import java.io.*; public class C02E15{ public static void main(String args[]){ byte buf[]=new byte[50]; //50 个字节的数组用于存字符串 String str; double dblK=0.0; //局部变量要初始化 try{ System.out.print("输入英里数:"); System.in.read(buf); str=new String(buf,0); dblK=Double.parseDouble(str.trim()); }catch(Exception e){} dblK=dblK/1.6; System.out.println("相应的公里数为:"+dblK); } }. 程序执行结果为: 输入英里数:198 相应的公里数为:123.75. 2.2. Java 基本数据类型、运算符和表达式实验. 2.2.1 实验目的 1.掌握 Java 的基本数据类型。 2.掌握 Java 的常用运算符。 3.掌握 Java 表达式的应用。 2.2.2 实验内容 1.执行下列程序,分析输出结果。 public class DataType{ public static void main(String srgs[]){ int i1=800; short s1=1024; long lg1=1234567890; float f1=6222.365f; double d1=20041010.2222;.

(8) 第2章. Java 语言基础. 17. char c1='A'; String str1="北华航天工业学院计算机系"; boolean b1=false; System.out.println("数据类型和变量:"); System.out.println("-----------------------------------------"); System.out.println(" 整型:"+i1+" 短整型:"+s1+" 长整型:"+lg1); System.out.println(" 单精度浮点型:"+f1+" 双精度浮点型:"+d1); System.out.println(" 字符型:"+c1+" 字符串型:"+str1); System.out.println(" 布尔类型:"+b1); System.out.println("---------------------------------------\n"); System.out.println("转义字符:"); System.out.println("-----------------------------------------"); System.out.print(" [\\\\]为反斜杠,[\\n]为换行.\n"); System.out.println(" [\\101]:"+'\101'+" [\\141]:"+'\141'); System.out.println("-----------------------------------------"); } }. 2.执行下列程序,分析输出结果。 // DataType2.java import java.applet.*; import java.awt.*; public class DataType2{ public void paint(Graphics g){ int i1=800; short s1=1024; long lg1=1234567890; float f1=6222.365f; double d1=20041010.2222; char c1='A'; String str1="北华航天工业学院计算机系"; boolean b1=false; g.drawString("数据类型和变量:",20,30); g.drawString("----------------------------------------",20,40); g.drawString(" 整型:"+i1+" 短整型:"+s1+" 长整型:"+lg1,20,50); g.drawString(" 单精度浮点型:"+f1+" 双精度浮点型:"+d1,20,60); g.drawString(" 字符型:"+c1+" 字符串型:"+str1,20,70); g.drawString(" 布尔类型:"+b1,20,80); g.drawString("---------------------------------------\n",20,90);.

(9) 18. Java 语言程序设计习题解答、实验指导及实训. g.drawString("转义字符:",20,110); g.drawString("----------------------------------------",20,100); g.drawString(" [\\\\]为反斜杠,[\\n]为换行.\n",20,120); g.drawString(" [\\101]:"+'\101'+" [\\141]:"+'\141',20,130); g.drawString("----------------------------------------",20,140); } } //CT02E02.HTML <HTML> <HEAD> <TITLE>数据类型、变量、常量的应用</TITLE> </HEAD> <BODY> <APPLET CODE="DataType2.class" WIDTH="400" HEIGHT="300"> </APPLET> </BODY> </HTML>. 3.执行下列程序,分析输出结果。 public class Expression{ public static void main(String srgs[]){ int i1=100,i2=89,i3=0,i4=0; boolean b1=false; float f1=87.654f; double d1=987.1234; System.out.println("0 各变量的原始值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("------------------------------------"); i3=(int)f1;i4=(int)d1; System.out.println("1 类型转换后,各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("----------------------------------------"); i3=i1/i2;i4=i1%i2; System.out.println("2 双目运算后,各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("----------------------------------------"); i1++;--i2;i3=i1++;i4=--i2;.

(10) 第2章. Java 语言基础. 19. System.out.println("3 单目运算后各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("----------------------------------------"); b1=(i1+i2)>(i3+i4); System.out.println("4 关系运算后各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("----------------------------------------"); b1=(i1==i2)||(i3<i4); System.out.println("5 逻辑运算后各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("----------------------------------------"); i1=i2<<(i3-i4)%10; System.out.println("6 移位运算后各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); System.out.println("----------------------------------------"); b1=(i1-i2)!=(i3-i4)?(i1!=i2||i3==i4):false; System.out.println("7 移位运算后各变量的值为:"); System.out.println(" i1="+i1+" i2="+i2+" i3="+i3+" i4="+i4+" f1="+f1+" d1="+d1+" b1="+b1); } }. 2.2.3 实验步骤 1.在 Java 开发环境中,输入程序代码,编译执行,程序运行结果为: 数据类型和变量: --------------------------------------------整型:800 短整型:1024 长整型:1234567890 单精度浮点型:6222.365 双精度浮点型:2.00410102222E7 字符型:A 字符串型:北华航天工业学院计算机系 布尔类型:false -----------------------------------------------转义字符: -----------------------------------------------[\\]为反斜杠,[\n]为换行. [\101]:A [\141]:a ------------------------------------------------.

(11) 20. Java 语言程序设计习题解答、实验指导及实训. 2.实验步骤如下: (1)在 Java 开发环境中,输入 DataType 2.java 程序代码,编译生成 DataType2.class 文件。 (2)在 Java 开发环境或记事本中编写 CTOZEO2.HTML 文件。 (3)使用 appletviewer 或 IE 打开 CTOZEO2.HTML 文件,执行结果如图 2-1 或图 2-2 所示。. 图 2-1 使用 appletviewer 执行结果. 图 2-2. 使用 IE 执行结果. 3.在 Java 开发环境中,输入程序代码,编译执行,程序运行结果为: 0 各变量的原始值为: i1=100 i2=89 i3=0 i4=0 f1=87.654 d1=987.1234 b1=false ----------------------------------------------------------1 类型转换后,各变量的值为: i1=100 i2=89 i3=87 i4=987 f1=87.654 d1=987.1234 b1=false -----------------------------------------------------------2 双目运算后,各变量的值为: i1=100 i2=89 i3=1 i4=11 f1=87.654 d1=987.1234 b1=false ----------------------------------------------------------3 单目运算后各变量的值为: i1=102 i2=87 i3=101 i4=87 f1=87.654 d1=987.1234 b1=false ----------------------------------------------------------4 关系运算后各变量的值为: i1=102 i2=87 i3=101 i4=87 f1=87.654 d1=987.1234 b1=true ----------------------------------------------------------5 逻辑运算后各变量的值为: i1=102 i2=87 i3=101 i4=87 f1=87.654 d1=987.1234 b1=false ----------------------------------------------------------6 移位运算后各变量的值为: i1=1392 i2=87 i3=101 i4=87 f1=87.654 d1=987.1234 b1=false ----------------------------------------------------------7 移位运算后各变量的值为: i1=1392 i2=87 i3=101 i4=87 f1=87.654 d1=987.1234 b1=true.

(12) 第2章. Java 语言基础. 21. 2.2.4 实验总结 在本章实验中,首先对变量进行了定义,并用赋值语句为变量进行了赋值;变量的类型涉 及到:整型、长整型、短整型、单精度浮点型、双精度浮点型、字符型和字符串型。在使用字 符型常量时,特别要注意转义字符的使用。变量类型之间可以使用强制类型转换运算符进行转 换。在编写本程序时,要掌握的运算符包括算术运算符:+、—、++、——、/、%;关系运算符: >、<、==、!=;位运算符:<<;逻辑运算符:!、||;条件运算符:?:在使用运算符时,需 要注意运算符的功能、优先级和结合性。.

(13)

參考文獻

相關文件

* All rights reserved, Tei-Wei Kuo, National Taiwan University,

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005!.

Technique Work Webmaster Group Account Manager Group Monitoring and Client Group PC Manager Group. Non-Technique Work 215 management property/purchase fix

Wang, Unique continuation for the elasticity sys- tem and a counterexample for second order elliptic systems, Harmonic Analysis, Partial Differential Equations, Complex Analysis,

The individual will increase the level of education consumption because the subsidy will raise his private value by the size of external benefit, and because of

a) Excess charge in a conductor always moves to the surface of the conductor. b) Flux is always perpendicular to the surface. c) If it was not perpendicular, then charges on

存放檔案的 inode 資訊, inode 一旦滿了也一樣會 無法儲存新檔案, inode 會告知檔案所使用的 data block 位置。. Q :如何知道那些 inode 和

The Decision Support System Used in HEALS (Health Examination Automatic Logic System). Chiou-Shann Fuh, PhD # Kuan-Liang Kuo, MD