第1章Java语言基础 一,概念复习和巩固(请在课后和上机前完成下面的练习) 1.下面说法正确的是(C)。 A)Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是java或tt等。 BJDK的编译命令是java。 圣好 可 生几个字节码文件 码文件,只需在命令行直接键入程序名即可运行该程序。 ABCD A)a语言是面向对象的、解释执行的网络编程语言。 B)Java语言具有可移植性,是与平台无关的编程语言。 C)Java语言可对内存垃圾自动收集。 D)Java语言编写的程序虽然是“ 次编译,到收处运行”,但妙须要java的运行环境。 3.下面main0方法的定义哪些是正确的(ACD)? d main(String args[)) gs)1 A)c 的一组关键字是(B)。 B)float.boolean.int lon C)char,extends,float,double 会法的语句是B) A)float 1_variabl =34 B)int abe =21; C)double D)short do=15: 6.义受 18 f=9.8 123 以下赋值语句正确的是(ABD)。 以不话 C)L=f+i: D)s-s+i+f+d, (B) ="12 int x=4.y=5: S=Sr+X+y月 System. A)1239 B1234hr C)会产生编译错误 D)123+4+5 8.以下语句中没有编译错误或警告提示信息的是(B)? A)byte b=256 Bidouble d=89L c="a" D)short s=8.6f 面的程序输出结果是:1+2=3,请将程序补充完整。 public static void main(String args int x=1,y=2 System.out.println(
第 1 章 Java 语言基础 一. 概念复习和巩固(请在课后和上机前完成下面的练习) 1.下面说法正确的是( C )。 A)Java 程序的源文件名称与主类(公共类)的名称相同,后缀可以是 java 或 txt 等。 B)JDK 的编译命令是 java。 C)一个 java 源程序编译后可能产生几个字节码文件。 D)在命令行运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。 2.下面的说法正确的是(ABCD)。 A) Java 语言是面向对象的、解释执行的网络编程语言。 B) Java 语言具有可移植性,是与平台无关的编程语言。 C) Java 语言可对内存垃圾自动收集。 D) Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要 java 的运行环境。 3.下面 main()方法的定义哪些是正确的(ACD)? A)public static void main(String args[]) {} B)public static void main(String[]) {} C)public static void main(String[] args) {} D)public static void main(String [] x) {} 4.用于定义数据简单类型的一组关键字是(B)。 A) class, float, main, public B) float, boolean, int, long C) char, extends, float, double D) int, long, float, import 5.以下的变量定义中,合法的语句是(B)。 A) float 1_variable = 3.4; B) int abc_ = 21; C) double a = 1 + 4e2.5; D) short do = 15; 6.定义变量如下: int i=18; long L=5; float f=9.8f; double d=1.2; String s="123"; 以下赋值语句正确的是(ABD)。 A) s=s+i; B) f=L+i; C) L=f+i; D) s=s+i+f+d; 7.以下语句输出的结果是( B) String str="123"; int x=4,y=5; str=str+(x+y); System.out.println(str); A)1239 B)12345 C)会产生编译错误 D)123+4+5 8.以下语句中没有编译错误或警告提示信息的是(B)? A)byte b=256; B)double d=89L; C)char c="a"; D)short s=8.6f; 9. 下面的程序输出结果是:1+2=3,请将程序补充完整。 public class App2 { public static void main(String args[]) { int x=1,y=2; System.out.println(______________); } }
答案:+"+"++"="++y) 10.阅读下面的程序.回答问题。 程序如下 public class App1{ public static void main(String args[) System.out print("The first snow came."+ch+How beautiful it was!") (1)这是哪一类iava程序? (2)写出保存该文件的文件名及后缀名? (3)在DK下编译该文件的命今是什么?编译后形成什么文件? (4)在DK下如何运行该程序?程序运行后输出的结果如何? 10.答案: ()ava应用程序JavaApplication): (2)APP (3)在命今行用javac Appl,java编译该程序. 编译后形戒Appl.cdas的字节码文件: (4)在命令行键入java Appl即可运行该程序。 编程序运行后输出的结果为: 1.阅读下面的程序, 回答问题 import java awt Grap public Applet a.drawString(Welcome"25.30): g.drawString ("to",85.30). va, g",55,50) 1文是一米 (2)写出保存该文件 么?编译后形成什么文件? (4)该程序能直接运行吗?写出嵌入该程序的字节码文件的html文件,该html文件可以任意 会包巴7 (5)程序运行后输出几行?写出输出结果。 11.答室: ()Java小程序JavaApple) (2)Appletl iava (3)在命令行用javac Applet1.java编译该程序。编译后形成Applet1.class的字节码文件。 (4)不能。 更序运行,还需与hm义件 Java Applet。乳在 appletviewer 行html文件 该程序的字节码文件的html文件如下,该html文件可以 mypage.htm mypage.htm文件如下
答案:x+"+"+y+"="+(x+y) 10.阅读下面的程序,回答问题。 程序如下: public class App1 { public static void main(String args[]) { char ch='\n'; System.out.print("The first snow came,"+ch+"How beautiful it was!"); } } (1)这是哪一类 java 程序? (2)写出保存该文件的文件名及后缀名? (3)在 JDK 下编译该文件的命令是什么?编译后形成什么文件? (4)在 JDK 下如何运行该程序?程序运行后输出的结果如何? 10.答案: (1)Java 应用程序(Java Application); (2)App1.java; (3)在命令行用 javac App1.java 编译该程序。 编译后形成 App1.class 的字节码文件; (4)在命令行键入 java App1 即可运行该程序。 编程序运行后输出的结果为: The first snow came, How beautiful it was! 11.阅读下面的程序,回答问题。 import java.applet.Applet; import java.awt.Graphics; public class Applet1 extends Applet { public void paint (Graphics g) { g.drawString ("Welcome",25,30); g.drawString ("to",85,30); g.drawString ("Java",25,50); g.drawString ("Programming!",55,50); } } (1)这是哪一类 java 程序? (2)写出保存该文件的文件名及后缀名? (3)在 JDK 下编译该文件的命令是什么?编译后形成什么文件? (4)该程序能直接运行吗?写出嵌入该程序的字节码文件的 html 文件,该 html 文件可以任意 命名吗? (5)程序运行后输出几行?写出输出结果。 11.答案: (1) Java 小程序(Java Applet)。 (2)Applet1.java (3)在命令行用 javac Applet1.java 编译该程序。编译后形成 Applet1.class 的字节码文件。 (4)不能,为了能使程序运行,还需编写 html 文件,用<applet></applet>标记符将编译形成的 字节码文件嵌入到 html 文件中,然后通过浏览器运行 Java Applet。或在命令行通过命令 appletviewer 运行 html 文件。嵌入该程序的字节码文件的 html 文件如下,该 html 文件可以 任意命名(如命名为 mypage.htm) mypage.htm 文件如下:
EADMILE我的网页<ITLEMEAD (5)程序运行后输出2行;输出结果如下: 色小程序古者器:pplG.,回冈 小程序已启动, 二本章上机实验 上机实验一 L.编写Java应用程序,定义byte、int、long、foat、double、char和boolean等类型的数据 并用 一个输出语句输出,要求每行输出一个 据 2.编写Java小应用程序,输出两行字符串:“Java很有趣。”和“努力学习Java编程。” 输出的起点坐标是(20,20),行距是50像煮。 3.使用算术运算符得到一个4位十进制数的各位数字并输出,然后输出该数的逆序数和各 位数字平方后相加的和。 4.编写Java小应用程序,用三目条件运算符求程序中给定的4个double数的最大值和最小 值并输出结果 5.编写Java应用程序,分别利用while循环、do.while循环和cr循环求100-200的自然 数的和。 6.编写Java小应用程序,选择合适的数据类型,利用循环求2的40次方的结果并输出。 上机实验二 1.编写Java应用程序,把10-1000的自然数中能够被3整除的数输出到屏暮上。 2.编写Ja小应用程序, 程序中自定义 一个方法 double find2(int n) 方法的功能是求2的次方。程序中调用该方法,输出2的40次方的结果并输出。 3.编写Java应用程序,参照例1.15自定义类Car,类中有3个变量:字符串name,表示 汽车的品牌:字符串color.,表示汽车的颜色:double型变量we g ,表示汽车的自重: 型变量paS g 表不汽车能搭乘的人数。 米中还 V- 个构造】 法,用来初始化上面的4 个变量。在应用程序中创建类Car的1个对象(品牌:“本田”:颜色:“黑色”:自重:150( 公斤:搭乘的人数:5人),并显示其信息。 4.编写Java小应用程序,其中定义一个it数组(数组元素任意指定),求数组元素的和
<HTML> <HEAD><TITLE>我的网页</TITLE></HEAD> <BODY> <APPLET code=Applet1.class width=300 height=200></APPLET> </BODY> </HTML> (5)程序运行后输出 2 行;输出结果如下: 二. 本章上机实验 上机实验一 1.编写 Java 应用程序,定义 byte、int、long、float、double、char 和 boolean 等类型的数据 并用一个输出语句输出,要求每行输出一个数据。 2.编写 Java 小应用程序,输出两行字符串:“Java 很有趣。”和“努力学习 Java 编程。”, 输出的起点坐标是(20,20),行距是 50 像素。 3.使用算术运算符得到一个 4 位十进制数的各位数字并输出,然后输出该数的逆序数和各 位数字平方后相加的和。 4.编写 Java 小应用程序,用三目条件运算符求程序中给定的 4 个 double 数的最大值和最小 值并输出结果。 5.编写 Java 应用程序,分别利用 while 循环、do…while 循环和 for 循环求 100~200 的自然 数的和。 6.编写 Java 小应用程序,选择合适的数据类型,利用循环求 2 的 40 次方的结果并输出。 上机实验二 1.编写 Java 应用程序,把 100~1000 的自然数中能够被 3 整除的数输出到屏幕上。 2.编写 Java 小应用程序,程序中自定义一个方法: double find2(int n) 方法的功能是求 2 的 n 次方。程序中调用该方法,输出 2 的 40 次方的结果并输出。 3.编写 Java 应用程序,参照例 1.15 自定义类 Car,类中有 3 个变量:字符串 name,表示 汽车的品牌;字符串 color,表示汽车的颜色;double 型变量 weight,表示汽车的自重;int 型变量 passenger,表示汽车能搭乘的人数。类中还定义一个构造方法,用来初始化上面的 4 个变量。在应用程序中创建类 Car 的 1 个对象(品牌:“本田”;颜色:“黑色”;自重:1500 公斤;搭乘的人数:5 人),并显示其信息。 4.编写 Java 小应用程序,其中定义一个 int 数组(数组元素任意指定),求数组元素的和
数组元素的最大值和最小值并输出所求的结果。 5.编写Java应用程序,从命令行传入多个字符串到程序中,并将他们分行输出在屏幕上 本章上机拓展练习 import javax.swing.JOptionPane; t,average firstNumber==JoptionPane.showInputDialog("Enter first integer:") secondNumber==JOptionPane.showInputDialog("Enter second integer:") thirdNumber==JOptionPane.showInputDialog("Enter third integer:) num1 =Integer.parselnt(firstNumber ) num Inte sum=numl+num2 "Results",JOptionPane.PLAIN_MESSAGE): )//end class Arithmetic 2.查阅Java API帮助文档,根据/*/中的注释将下面的程序补充完整,使之编译通过并能 正确运行。 publie vod minn) String thirdNumber;/third string entered by user int numberl://first number int number. int average;//average of the numbers
数组元素的最大值和最小值并输出所求的结果。 5.编写 Java 应用程序,从命令行传入多个字符串到程序中,并将他们分行输出在屏幕上。 本章上机拓展练习 1.查阅 Java API 帮助文档,上机调试下面的程序,使之编译通过并能正确运行。 public class Arithmetic { import javax.swing.JOptionPane; public static void main( String args[] ) { String firstNumber, secondNumber, thirdNumber; int num2, num3, sum, product, average; firstNumber = = JoptionPane.showInputDialog( "Enter first integer:" ) secondNumber = = JOptionPane.showInputDialog( "Enter second integer:" ) thirdNumber = = JOptionPane.showInputDialog( "Enter third integer: ) num1 == Integer.parseInt( firstNumber ); num2 == Integer.parseInt( secondNumber ); num3 == Integer.parseInt( thirdNumber ); sum = num1 + num2 + num3; product = num1 * num2 * num3; average = ( num1 + num2 + num3 ) / 3; JOptionPaneshowMessageDialog( null, "The sum is " + sum + "\nThe product is " + product + "\nThe average is " + average, "Results", JOptionPane.PLAIN_MESSAGE ); } } // end class Arithmetic 2.查阅 Java API 帮助文档,根据/**/中的注释将下面的程序补充完整,使之编译通过并能 正确运行。 import javax.swing.JOptionPane; public class Calculate2 { public static void main( String args[] ) { String firstNumber; // first string entered by user String secondNumber; // second string entered by user String thirdNumber; // third string entered by user int number1; // first number int number2; // second number int number3; // third number int average; // average of the numbers
int largest,//largest number nt pro othe number int sum; ∥sum of the numbers write a series of stat to integers.and assign them to number l.number2.and number smallest=number2; res all three integers and sets the largest and //perform calculations write statements to cal ate the product and the average* create res ult string "result"that is displayed * ∥display results System.exit0方 //end class Calculate2 3.打印1~0的整数的立方和平方 public class Numbers extends JApplet //draw calculated squares and cubics table public void paint(Graphicsg) ∥draw a title row g.drawString("number",5.15) intx. X,x squared anc
int largest; // largest number int product; // product of the numbers int smallest; // smallest number int sum; // sum of the numbers /* write a series of statements to read in three numbers, convert them to integers, and assign them to number1, number2, and number3 */ // initialize largest and smallest largest = number1; smallest = number2; // determine smallest and largest /* write code here that compares all three integers and sets the largest and smallest accordingly */ // perform calculations sum = number1 + number2 + number3; /* write statements to calculate the product and the average */ // create result string String result; /* Write a statement that concatenates all the results into a single string "result" that is displayed */ // display results JOptionPane.showMessageDialog( null, result, "Calculation Results", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); } } // end class Calculate2 3. 打印 1~10 的整数的立方和平方 import java.awt.*; import javax.swing.*; public class Numbers extends JApplet { // draw calculated squares and cubics table public void paint( Graphics g ) { // draw a title row g.drawString( "number", 5, 15 ); g.drawString( "Square", 70, 15 ); g.drawString( "Cube", 145, 15 ); int x; x = 0; /* write three statements that draw a row containing the values of x, x squared and x cubed */ /* set x to 1 */ /* write three statements that draw a row containing the values of x, x squared and x cubed */