第一章认识Java一.选择题1.D2.B3.D4.D二.简答题1.Java语言有三个技术分支,并且产生了三个版本的Java运行平台,分别是J2SE 标准版,主要用于开发桌面应用程序、低端服务器应用程序和Java Applet程序;J2EE 企业版,主要用于开发分布式网络程序,如电子商务网站和ERP系统等;J2ME 精简版,主要用于嵌入式系统开发,如移动电话、掌上电脑(PDA)以及其他无线设备。
2.Java应用程序和Java Applet程序。
Java应用程序要依赖JRE或JDK中的解释器来运行,而Java Applet程序的调用命令嵌入在网页的HTML代码文件中,显示网页时由Web 浏览器内置的Java解释器解释执行,并将其内容显示网页中。
3.Java虚拟机JVM是Java Virtual Machine的缩写。
JVM是一个虚构出来的计算机,它有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java字节码文件包括的代码就是基于JVM的。
4.Java语言主要有简单、面向对象、分布式、健壮、安全、跨平台、解释执行、多线程和动态执行的特点。
5.开发Java应用程序时,首先使用任何文本编辑器创建和编辑Java源程序,保存源程序文件时,文件的扩展名为“*.java”。
然后使用“javac 程序名.java”命令把源程序编译为字节码文件,最后使用“java 程序名”将字节码文件翻译为计算机可以理解的指令并运行。
开发Java小程序时,首先使用任意纯文本编辑器编写Java源程序和HTML文件,并分别以扩展名“.java”和“.html”保存。
其中,HTML文件中应包含调用Java字节码文件的指令。
HTML文件可以使用IE浏览器浏览,也可以使用JDK提供的Appletviewer工具浏览。
三.编程题1.解答//Test.javaclass Person {String name;String address;String telephone;Person(String name1, String address1, String telephone1) {name = name1; address = address1; telephone = telephone1;}String getName() {return name; }String getAddress() {return address; }String getTelephone() {return telephone; }}public class Test {public static void main(String[] args) {Person lily = new Person("lily", "金企鹅18号","158****2536");System.out.println("姓名:" + lily.getName());System.out.println("地址:" + lily.getAddress());System.out.println("电话号码:" + lily.getTelephone());}}2.解答文件TestApplet.java与TestApplet.html都放在d盘根目录下。
//TestApplet.javaimport java.applet.Applet;import java.awt.Graphics;public class TestApplet extends Applet {public void paint(Graphics g) {g.drawString("姓名:lily", 20, 20);g.drawString("地址:金企鹅18号", 20, 40);g.drawString("电话号码:158****2536",20,60);}}//TestApplet.html<html><head><title>TestApplet</title></head><body><applet code=TestApplet.class width=200 height=40></applet></body> </html>第二章Java编程基础一.选择题1. C2. D3. C4. C5. B6. C7. B二.简答题1、Java语言有byte(字节型)、short(短整型)、int(整型)、long(长整型)、float (单精度)、double(双精度)、char(字符型)、boolean(布尔型)8中基本类型。
2、变量是指在程序运行过程中可以发生变化的量,它用于在程序运行时临时存放数据。
常量是指在程序运行过程中不能改变的量,它用来记忆一个固定的数值。
3、在参与运算的数据包含多种数据类型,或者赋值语句中左侧赋值变量和右侧表达式结果类型不同时,如果赋值变量的数据类型优先级低于表达式结果数据类型的优先级,或者两者同级,则表达式结果的数据类型必须强制转换为赋值变量的数据类型。
4、break语句可以用在循环语句的内部,用来结束循环。
continue语句只能用在循环语句内部,用来跳过本次循环,继续执行下一次循环。
三.编程题1、解答// IsTriangle.javapublic class IsTriangle {public static void main(String[] args) {int a = 0, b = 0, c = 0; //定义三边长System.out.println("请输入三角形的三条边长:(注意:边长为整数)");Scanner in = new Scanner(System.in);a = in.nextInt();b = in.nextInt();c = in.nextInt();if (a + b > c && a + c > b && b + c > a) { //判断是否两边之和大于第三边System.out.println(a + "," + b + "," + c + "三条边能组成三角形!");} else {System.out.println(a + "," + b + "," + c + "三条边不能组成三角形!");}}}2、解答// ComputeDay.javapublic class ComputeDay {static final int SUN_SELL = 20; //定义晴天卖花的数量static final int RAIN_SELL = 12; //定义雨天卖花的数量public static void main(String[] args) {int Flowers, sunDays = 0, rainDays = 0;System.out.println("请输入总共卖出的鲜花数:");Scanner in = new Scanner(System.in);Flowers = in.nextInt(); //得到卖花的总数int days = Flowers / 14; //计算总共卖花的天数for (rainDays = 1; rainDays <= days; rainDays++) {sunDays = days - rainDays;if (SUN_SELL * sunDays + RAIN_SELL * rainDays == Flowers)break;}System.out.println("一共有" + sunDays + "个晴天!");System.out.println("一共有" + rainDays + "个阴天!");}}第三章Java面向对象程序设计一.选择题1.D2.C3.A4.B5.B6.D二.简答题1、如果用static关键字修饰成员变量,则该变量是一个类变量(又称静态变量)。
不加static修饰的成员变量称为实例变量。
类变量跟实例变量的区别是,第一次调用类的时候,系统为类变量分配一次内存。
不管以后类创建多少个对象,所有对象都共享该类的类变量。
声明实例变量之后,每次创建类的新对象的时候,系统就会为该对象创建实例变量的副本,即该对象每个实例变量都有自己的内存空间。
2.、在方法体中声明的变量称为局部变量,它只能在方法体内使用。
局部变量的作用域开始于它的声明处,结束于当前代码块结束处。
如果没有声明代码块,则其开始于声明处,结束于方法体结束处。
3、访问控制修饰符有4个等级:private、protected、public以及默认(即不指定修饰符)。
用private修饰的变量只能被所属类访问;用protected修饰的变量能被同一包中的类以及不同包中的子类访问;用public修饰的变量能被所有类访问;默认修饰的变量只能被同一包中的类访问。
4、多个方法共享一个名字,但方法参数的个数、类型或顺序会有所区别。
5、this用来表示当前类。
当成员变量的名字和局部变量的名字相同时,如果要在方法中访问成员变量,可以使用this关键字。
在方法体中,通过this关键字可访问当前类的成员变量和方法。
在类的构造方法中可以调用其他形式的构造方法。
6、包是Java语言中有效管理类的一个机制。
在程序中可以使用“import 包名.类名”的形式引用其他包中的类。
三.编程题1、解答public class Box {private int length; //定义长度private int width; //定义宽度private int height; //定义高度Box(int length, int width, int height) { //构造方法,初始化成员变量this.length = length;this.width = width;this.height = height;}public void showMessage() {System.out.println("盒子的长是:" + length);System.out.println("盒子的宽是:" + width);System.out.println("盒子的高是:" + height);}public static void main(String[] args) {Box box = new Box(1, 5, 7); //创建对象box.showMessage(); //调用显示属性的方法}}2、解答import java.util.Scanner;public class Compute {static int x, y; //定义两个数Compute(int x, int y) { //构造方法,初始化成员变量Compute.x = x;Compute.y = y;}void add() { //定义加法方法System.out.println("两数的和为:" + (x + y));}void sub() { //定义减法方法System.out.println("两数的差为:" + (x - y));}void Multiplication() { //定义乘法方法System.out.println("两数的积为:" + (x * y));}void division() { //定义除法方法System.out.println("两数的商为:" + (x / y));}public static void main(String[] args) {System.out.println("请输入两个数:(注意:中间以空格分隔)");Scanner in = new Scanner(System.in);Compute data = new Compute(in.nextInt(), in.nextInt()); //创建对象data.add();data.sub();data.Multiplication();data.division();}}第四章类的深入解析一.选择题1、D2、D3、D4、C二.简答题1、方法的覆盖是指子类定义与父类名字相同、参数相同、返回类型相同的方法。