一、单项选择题
1.关于Java选择结构下列哪个说法正确?( B )
A. if语句和else语句必须成对出现
B. if语句可以没有else语句
C. switch结构中每个case语句中必须用break语句
D. switch结构中必须有default语句
2.while循环和do…while循环的区别是:( D )
A. 没有区别,这两个结构任何情况下效果一样
B. while循环比do…while循环执行效率高
C. while循环是先循环后判断,所以循环体至少被执行一次
D. do…while循环是先循环后判断,所以循环体至少被执行一次
3.下列说法哪个是正确的?( C )
A. 程序执行到break语句时一定会结束所有的循环
B. 程序执行到continue语句时会结束当前循环
C. break语句和continue语句都可以和标签协同使用
D. continue语句和break语句的作用相同
4.方法内的变量:( B )
A. 一定在方法内所在有位置可见
B. 可能在方法内的局部可见
C. 可以在方法外可见
D. 方法外也可用
5.void的含义:( B )
A. 方法体为空
B. 方法没有返回值
C. 没有意义
D. 定义方法时必须使用
6.throws的作用:( C )
A. 没有意义
B. 表示后面是方法的输出值
C. 表示方法可能会抛出例外
D. 方法的标志,每个方法都必须有
7.下列说法哪个正确?( D )
A. 不需要定义类,就能创建对象
B. 对象中必须有属性和方法
C. 属性必须是简单变量
D. 属性可以是简单变量,也可以是一个对象
8.下列说法哪个正确?( A )
A. 一个程序可以包含多个源文件
B. 一个源文件中只能有一个类
C. 一个源文件中可以有多个公共类
D. 一个源文件只能供一个程序使用
9.被声明为private,protected及public的类成员,在类外部:( B )
A. 只能访问声明为public的成员
E. 只可能访问到声明为protected和public的成员
B. 都可以访问
C. 都不能访问2 去取6
10.抽象方法:( C )
A. 可以有方法体
B. 可以出现在非抽象类中
C. 是没有方法体的方法
D. 抽象类中的方法都是抽象方法
11.关于类中类的说法哪个正确?( D )
A. 类中类不能使用上层类的私有属性和方法
B. 类中类可以广泛使用,不受任何限制
C. 类中类可以单独编译
D. 类中类可以使用上层类的私有属性和方法
12.下列说法哪个正确?( B )
A. Java中允许一个子类有多个父类
B. 某个类是一个类的子类,它仍有可能成为另一个类的父类
C. 一个父类只能有一个子类
D. 继承关系最多不能超来4层
13.在调用构造函数时:( C )
A. 子类可以不加定义就使用父类的所有构造函数
B. 不管类中是否定义了何种构造函数,创建对象时都可以使用默认构造函
数
C. 先调用父类的构造函数
D. 先调用形参多的构造函数
14.this和super:( C )
A. 都可以在main()方法中
B. 都是指一个内存地址
C. 不能用在main()方法中
D. 意义相同
15.关于抽象类哪个正确?( B )
A. 抽象类中不可以有非抽象方法
B. 某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方
法
C. 绝对不能用抽象类去创建对象
D. 接囗和抽象类是同一回事
16.如果一个程序段中有多个catch,程序会:( C )
A. 每个catch都执行一次
B. 把每个符合条件的catch都执行一次
C. 找到适合的例外类型后就不再执行其他catch
D. 找到适合的例外类型后继续执行后面的catch
17.下面关于例外控制器排序说法正确的是:( B )
A. 应先捕捉父类例外,再捕捉子类例外
B. 应先捕捉子类例外,再捕捉父类例外
C. 有继承关系的例外不能在同一try块的控制器中使用
D. 如果先匹配到父类例外,后面的子类例外仍然可以被匹配到
18.下列关于finally说法正确的是:( C )
A. finally语句应该放在所有例外控制器的最前面
B. 如果程序在前面的例外控制器中匹配了合适例外,就不再执行finally语
句了
C. 无论程序是否找到合适的例外控制器,都会去执行finally语句
如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally语句了
19.如果程序逻辑要求在很多情况下输出一个固定的提示信息,下列说法正确的是:( A )
A. 使用String和StringBuffer都可以
B. 使用String和StringBuffer,程序的执行效率一样
C. 使用StringBuffer效率比较高
D. 以上都不对
20.Vector类对象中的元素可以是:( C )
A. int型整数
B. 浮点数
C. 对象
D. 属性
21.如果程序逻辑要求对集合中的元素需要经常进行查找定位,应该使用哪些组件来实现?( B )
A. Vector
B. Hashtable
C. Iterator
D. Map
22.Character流与Byte流的区别在于:( A )
A. 每次读入的字节数不同
B. 前者带有缓冲,后者没有
C. 前者是块读写,后者是字节读写
D. 二者没有区别,可以互相使用
23.为了实现多线程程序中线程间通讯,需要使用的流是:( B )
A. File stream
B. Piped stream
C. Random access stream
D. Filter stream
24.用最简单的代码输出某个文件内容,最好采用:( A )
A. File stream
B. Piped stream
C. Random access stream
D. Filter stream
25.下列属于图形用户界面元素的有:( C )
A. Applet
B. 窗口
C. 按钮 C. 线程
26.每个作用Swing组件的程序都必须至少有一个:( B )
A. 按钮
B. 顶层容器
C. 标签
D. 菜单
27.监听事件和处理事件:( B )
A. 都由Listener完成
B. 都由在相应事件Listener处登记过的组件完成
C. 由Listener和组件分别完成
D. 由Listener和窗口分别完成
28.进程是指:( B )
A. 一段程序
B. 正在运行的程序
C. 一个.java文件
D. 一个.class文件
29.在JSP中引用其他Java包,应该使用指令:( C )
A.i mport B. include
C. page
D. package
30.关于forward动作的说法正确的有:( C )
A. forward动作跳转到的页面执行完毕后,程序将返回到原来的页面
B. 无论跳转到什么页面都可以传递参数过去
C. forward以下的代码将不能执行
D. 不能直接利用forward动作本身向跳转的页面传递参数
31.下列说法正确的是:( A )
A. 只要.class文件放在同一个目录下,引用其他类不需要做任何说明
B. 要引用同目录下的其他.class文件,必须在classpath变量中设置该路径
C. 在一个类中引用其他自定义类,必须将两个类定义放在一个.java文件中
D. 引用不同目录下的类,只要在classpath变量中设置好该路径即可
32.通过如下语句定义的StringBuffer,其length()方法与capacity()方法的返回值分别为:( B )
StringBuffer greeting=new StringBuffer(50);
String a=”Happy new Year”;
greeting.append(a);
A. 15,15
B. 15,50
C. 50,15
D. 50,50
33.BitSot的最小长度是:( D )
A. 8位
B. 16位
C. 32位
D. 64位
34.如果要读取一个大文件的末尾的一段内容,并且知道该段落的确切位置,最方便的流是:( C )
A. File stream
B. Piped stream
C. Random access stream
D. Filter stream
Partial Answers:
20.C 21.B 22.A 23.B 24.A 25.C 26.B 27.B 28.B 29.C
30.C 31.A 32.B 33.D 34.C
二、多项选择题
1.面向过程程序设计的核心是:( C D )
A. 商业逻辑
B. 客观实体
C. 算法
D. 要解决的问题
2.符合对象和类关系的是:( C D )
A. 人和老虎
B. 书和汽车
C. 楼和建筑物
D. 汽车和交通工具
3.下列哪些是指线程的状态?( A B C )
A. Runnable
B. Dead
C. new Thread
D. Non Runnable
4.网络应用的3层结构指哪些层?( A C D )
A. Web层
B. 用户层
C. 业务层
D. 数据层
5.J2EE组件有:( A B D )
A. Servlet
B. Java Beans
C. AWT
D. EJB
6.记录页面访问历史事件可以使用的方法有:( A B )
A. 使用cookie
B. 改写URL
C. 使用session
D. 使用表单隐藏
Partial Answers:
3.A、B、C
4.A、C、D
5.A、B、D
6.A、B
三、试说出以下程序的功能:
class Account1 {
private String name;
private int value;
void put(int i) {
value = value + i;
}
int get(int i){
if (value>i)
value = value - i;
else
{
i = value;
value = 0;
}
return i;
}
int howmatch(){
return value;
}
}
class Save2 extends Thread{
private Account1 a1;
private int amount;
public Save2(Account1 a1,int amount){
this.a1 = a1;
this.amount = amount;
}
public void run(){
synchronized (a1){
int k = a1.howmatch();
try{
sleep(1);
} catch(InterruptedException e){
System.out.println(e);
}
a1.put(amount);
System.out.println("现有"+k+", 存入"+amount+", 余额
"+a1.howmatch());
}
}
public static void main (String args[]){
Account1 a1 = new Account1();
(new Save2(a1,100)).start();
(new Save2(a1,200)).start();
(new Fetch2(a1,500)).start();
}
}
class Fetch2 extends Thread{
private Account1 a1;
private int amount;
public Fetch2(Account1 a1,int amount){
this.a1 = a1 ;
this.amount = amount;
}
public void run(){
synchronized (a1){
int k = a1.howmatch();
try{
sleep(1);
} catch(InterruptedException e){
System.out.println(e);
}
System.out.println("现有"+k+", 取走"+a1.get(amount)+ ", 余额
"+a1.howmatch());
}
}
}
四、本程序为银行账户的存取款线程设计,通过synchronized互斥锁实现存取款的同步。程序中包含三个类,银行账户类Account,存款线程类Save2和取款线程类Fectch2.
在主函数中先创建一个新账户a1,并创建三个线程,分别调用函数start()使线程处于可运行状态,该函数再调用run()函数使线程处于运行状态,由于账户对象a1用synchronized修饰,故账户a1在任一时刻只能有一个线程访问。这样实现多个存取款线程的同步,保证账户金额的一致性。
输出结果:
现有0, 存入100, 余额100
现有100, 存入200, 余额300
现有300, 取走300, 余额0
四、编程题
有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个 String)。如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。Server的程序如下文件Server.java:
public class Server{
public static void main(String args[]){
MemoController memoController = new MemoController();
try{
ServerSocket ss = new ServerSocket(1999);
while (true){
Socket s = ss.accept();
try{
UserThread t = new UserThread(s, memoController);
t.start();
}catch(Exception e){
e.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
memoController.close();
}
}
}
类UserThread程序如下:
文件UserThread.java:
public class UserThread extends Thread{
Socket s;
MemoController memo;
public UserThread (Socket s, MemoController memo){
this.s = s;
this.memo = memo;
}
public void run(){
try{
BufferedReader br = new BufferedReader(new
InputStreamReader(s.getInputStream()));
PrintWriter pw = new PrintWriter(new
OutputStreamWriter(s.getOutputStream()));
String req = br.readLine();
if (req.equals("plain")){
pw.println("hello");
}else{
memo.append(req);
pw.println("OK");
}
pw.flush();
pw.close();
br.close();
s.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
请根据题目的要求和现有的Server.java, UserThread.java的程序完成类MemoController.java的程序。
Reference Answer:
import java.io.*;
public class MemoController{
FileOutputStream fos;
OutputStreamWriter osw;
BufferedWriter bw;
public MemoController(){
try{
fos=new FileOutputStream("memo.txt",true);
osw=new OutputStreamWriter(fos);
bw=new BufferedWriter(osw);
}catch(FileNotFoundException e){};
}
public synchronized void append(String s){
try{
bw.write(s,0,s.length());
bw.flush();
bw.close();
osw.close();
fos.close();
}catch(IOException e){}
}
public static void main(String args[]){
MemoController mmc=new MemoController();
mmc.append("I am xubin ");
}
}
五、详述出以下程序的功能:
import java.sql.*;
import javax.swing.*;
class jdbcExample1 {
public static void main(String args[]) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url ="jdbc:odbc:studyDSN";
String login = "sa";
String password ="";
Connection conn =
DriverManager.getConnection(url,login,password);
Statement statement =conn.createStatement();
String sqlQuery="select * from course";
ResultSet rs= statement.executeQuery(sqlQuery);
while(rs.next()){
System.out.print(rs.getString(1)+" ,");
System.out.print(rs.getString(2)+",");
System.out.println(rs.getInt(3));
}
statement.close();
conn.close();
}
catch ( SQLException sqlException ) {
JOptionPane.showMessageDialog( null, sqlException.getMessage(),
"Database Error", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
catch ( ClassNotFoundException classNotFound ) {
JOptionPane.showMessageDialog( null, classNotFound.getMessage(), "Driver Not Found", JOptionPane.ERROR_MESSAGE );
System.exit( 1 );
}
}
}
五、class jdbcExample1
通过JDBC存取studyDSN数据库中的表course,输出所以字段的值。同时说明java应用程序通过jdbc存取数据库时应遵循的五个步骤:(注意其在程序中的相应位置)
1.加载JDBC驱动程序
2.建立数据库连接
3.建立SQL语句对象,执行查询
4.处理结果集
5.关闭数据库连接
六、试说出以下程序的功能:shuben289
//WageCalculator application
//by Yongjie Wang
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
public class WageCalculator extends JFrame
{
// JLabel and JTextField for hours
private JLabel hoursJLabel;
private JTextField hoursJTextField;
// JLabel and JTextField for overtime worked in a week
private JLabel overtimeJLabel;
private JTextField overtimeJTextField;
// JLabel and JTextField for gross wages
private JLabel grossWagesJLabel;
private JTextField grossWagesJTextField;
// ButtonGroup to control manager,subManager, cashier and cleaner JRadioButtons
private ButtonGroup choiceButtonGroup;
// JRadioButtons to choose manager,subManager, cashier and cleaner private JRadioButton managerJRadioButton;
private JRadioButton subManagerJRadioButton;
private JRadioButton cashierJRadioButton;
private JRadioButton cleanerJRadioButton;
// JButton to initiate wage calculation
private JButton calculateJButton;
// no-argument constructor
public WageCalculator()
{
createUserInterface();
}
// create and position GUI components; register event handlers
public void createUserInterface()
{
// get content pane for attaching GUI components
Container contentPane = getContentPane();
// enable explicit positioning of GUI components
contentPane.setLayout( null );
// set up hoursJLabel
hoursJLabel = new JLabel();
hoursJLabel.setBounds( 16, 20, 90, 25 );
hoursJLabel.setText( "Hours:" );
contentPane.add( hoursJLabel );
// set up hoursJTextField
hoursJTextField = new JTextField();
hoursJTextField.setBounds( 120, 20, 90, 25);
hoursJTextField.setHorizontalAlignment(
JTextField.RIGHT );
contentPane.add( hoursJTextField );
// set up overtimeJLabel
overtimeJLabel = new JLabel();
overtimeJLabel.setBounds( 16, 75, 90, 25 );
overtimeJLabel.setText( "Overtime:" );
contentPane.add( overtimeJLabel );
// set up overtimeJTextField
overtimeJTextField = new JTextField();
overtimeJTextField.setBounds( 120, 75, 90, 25 );
overtimeJTextField.setHorizontalAlignment(
JTextField.RIGHT );
contentPane.add( overtimeJTextField );
// set up choiceButtonGroup
choiceButtonGroup = new ButtonGroup();
// set up managerJRadioButton
managerJRadioButton = new JRadioButton();
managerJRadioButton.setBounds( 210, 16, 160, 30 );
managerJRadioButton.setText( "Manager" );
managerJRadioButton.setSelected( true );
choiceButtonGroup.add( managerJRadioButton );
contentPane.add( managerJRadioButton );
// set up subManagerJRadioButton
subManagerJRadioButton = new JRadioButton();
subManagerJRadioButton.setBounds( 210, 45, 170, 23 );
subManagerJRadioButton.setText( "Submanager" );
choiceButtonGroup.add( subManagerJRadioButton );
contentPane.add( subManagerJRadioButton );
// set up cashierJRadioButton
cashierJRadioButton = new JRadioButton();
cashierJRadioButton.setBounds( 210, 70, 160, 23 );
cashierJRadioButton.setText( "cashier" );
cashierJRadioButton.setSelected( true );
choiceButtonGroup.add( cashierJRadioButton );
contentPane.add( cashierJRadioButton );
// set up cleanerJRadioButton
cleanerJRadioButton = new JRadioButton();
cleanerJRadioButton.setBounds( 210, 100, 160, 23 );
cleanerJRadioButton.setText( "cleaner" );
cleanerJRadioButton.setSelected( true );
choiceButtonGroup.add( cleanerJRadioButton );
contentPane.add( cleanerJRadioButton );
// set up grossWagesJLabel
grossWagesJLabel = new JLabel();
grossWagesJLabel.setBounds( 235, 136, 90, 30 );
grossWagesJLabel.setText( "wages:" );
contentPane.add( grossWagesJLabel );
// set up grossWagesJTextField
grossWagesJTextField = new JTextField();
grossWagesJTextField.setBounds( 280, 136, 140, 30 );
grossWagesJTextField.setHorizontalAlignment(
JTextField.RIGHT );
grossWagesJTextField.setEditable( false );
contentPane.add( grossWagesJTextField );
// set up calculateJButton
calculateJButton = new JButton();
calculateJButton.setBounds( 80, 136, 150, 30 );
calculateJButton.setText( "Calculate" );
contentPane.add( calculateJButton );
calculateJButton.addActionListener(
new ActionListener() // anonymous inner class
{
// event handler called when calculateJButton is pressed
public void actionPerformed ( ActionEvent event )
{
calculateJButtonActionPerformed( event );
}
} // end anonymous inner class
); // end call to addActionListener
// set properties of application's window
setTitle( "Wage Calculator" ); // set title bar text
setSize( 460, 200 ); // set window size
setVisible( true ); // display window
} // end method createUserInterface
// method called when user presses calculateJButton
private void calculateJButtonActionPerformed( ActionEvent event )
{
// get hours
double hours =
Double.parseDouble( hoursJTextField.getText() );
// get number of overtime
double overtime =
Double.parseDouble( overtimeJTextField.getText() );
// gross wages for week; calculated in if...else statement
double wages=0.0;
if ( managerJRadioButton.isSelected() )
{
wages = hours * 30+overtime*60 ;
}
else if ( subManagerJRadioButton.isSelected() )
{
wages = hours * 15+overtime*30 ;
}
else if ( cashierJRadioButton.isSelected() )
{
wages = hours * 10+overtime*20 ;
}
else if ( cleanerJRadioButton.isSelected() )
{
wages = hours * 4+overtime*8 ;
}
// specify output format
DecimalFormat pounds = new DecimalFormat( "$0.00" );
// display gross wages
grossWagesJTextField.setText( pounds.format( wages ) );
} // end method calculateJButtonActionPerformed
// main method
public static void main( String[] args )
{
WageCalculator application = new WageCalculator();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } // end method main
} // end class WageCalculator
七、计算一周中不同员工的加班工资:
两个输入框:一个是Hours(时间)、一个是Overtime(额外工作时间),一个输出标签wages(总工资)
选择Manager,输出工资=hours * 30+overtime*60
选择SubManager,输出工资=hours * 15+overtime*30
选择cashier,输出工资=hours * 10+overtime*20
选择cleaner,输出工资=hours * 4 +overtime* 8
三、请说出以下程序的作用:
abstract class SuperAbstract{
void a(){
System.out.println("Defined method a() in SuperAbstract.");
}
abstract void b();
abstract int c(int i);
}
interface AsSuper{
void x();
void y();
}
abstract class SubAbstract extends SuperAbstract implements AsSuper{ public void b(){
System.out.println("In SubAbstract,implements method b() from
SuperAbstract.");
}
abstract String f();
abstract void g();
}
public class InheritAbstract extends SubAbstract{
public void x(){
System.out.println("In mainclass,must implement method x() from
interface!");
}
public void y(){
System.out.println("In mainclass,must implement method y() from
interface!");
}
public int c(int i){
System.out.println(i+"in mainclass,implement method c() from SuperAbstract.");
return i;
}
public String f(){
return "In mainclass,implemented method f() from SubAbstract.";
}
public void g(){
System.out.println("In mainclass,implemented method g() from
SubAbstract.");
}
public static void main(String args[]){
InheritAbstract instance=new InheritAbstract();
System.out.println(instance.f());
instance.g();
instance.a();
instance.b();
instance.c(1314520);
instance.x();
instance.y();
}
}
三、abstract class SuperAbstract
继承父类,实现接口
SubAbstract声明一个为SuperAbstract的抽象类
SubAbstract继承SuperAbstract类;b()方法是父类中的方法,在子类中进行重写
也就是说,在不改变参数和返回值的前提下重新编写方法体
AsSuper实现了AsSuper接口、
实现接口必须重写接口中的所有方法
重写在类InheritAbstract中实现
信息与电子工程学院 课程设计报告 Java程序设计课程设计课程名称: 名:姓 学号: 级:班 指导老师:完成时间:月6年2016 学生考勤系统 问题描述:以班为单位,可以以日期为标识记录每个学生的考勤情况(正常、旷课、请假、迟到、. 早退)、可以查看某个学生的考勤情况、可以查看全班的考勤情况 0.5需求分析(标题,黑体,小四,段前段后行)1.(1)用户需求描述:
学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。 在线请假中,学生可以随时查看请假的进展情况。另外学生还可以修改本人的密码。 教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。另外,教师还可以修改自己的密码。 (2)系统功能划分: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这两大模块。 在线请假模块: 该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。 考勤管理模块: 该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。 2.总体设计 ; 功能结构图 : 图ER : 数据库设计数据库需求分析1 学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教 学生表:学生流水号、师用户两类用户的功能模块。然后,据此分析出数据需求。 请假表:请假开始时间、请学生学号、学生名字、性别、宿舍号、联系方式、密码。、ID假结
Java程序设计__复习要点 第一讲Java语言概述 1、Java语言的特点:简单、完全面向对象;平台无关性;多线程;直接支持分布式的网络应用,高效的网络编程;可靠性;安全性。 2、运行机制:Java程序是半编译半解释的。Java源程序经编译器编译后产生字节码,Java解释器解释执行字节码。 3、Java程序的开发流程: (1)安装JDK,设置环境变量; (2)编写Java源程序:文件以.java作为后缀; (3)javac将源程序编译成字节码文件(.class文件); (3)由运行系统解释和执行字节码文件。 4、Java程序的分类:分两类 (1)Java application(Java应用程序):能独立运行的应用程序,有控制台和图形用户界面两种运行方式。main()方法是类首先执行的方法,语句必须写在类的方法中。编写完源代码首先通过javac编译,生成.class字节码文件,通过Java解释器(如java.exe)来运行字节码文件。 (2)Java applet(Java小应用程序):Applet是可以嵌入Web页面的最小应用,不能独立运行,必须嵌入到超文本(*.html)中,由浏览器中的Java解释器解释执行。对于Applet源程序,首先要编译生成字节码文件,再将字节码文件嵌入到超文本中。 简而言之: application:应用程序,编译:javac 源文件名;运行:java 字节码文件(含主函数) Applet:嵌入网页中运行的小应用程序,需有相应的html文件; 5、一个完整的Java源程序结构: package语句:该部分至多只有一句,必须放在源程序的第一句; import:该部分可以有若干import语句或者没有,必须放在所有的类定义之前;
《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。
一、填空题(每题1分,共50分) 1.Java程序可以分为两种基本的类型,分别是_________________和_________________。 2.如果一个类不显示地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3.Java对内存的释放是采用____________________机制。 4.接口的所有成员方法都具有________________和________________属性。 5.设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6.如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为 ___________________________________________________。 7.Java系统提供了方法____________________来强制立即回收垃圾。 8.运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9.通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10.JAVA小应用程序一般是_____________的子类。 11.JAVA语言通过____________机制简化了程序的内存管理。 12.JAVA字符(char)采用的是___________字符集。 13.面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14.JAVA语言中,捕获异常是通过________________语句结构来实现的。 15.编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种:(1)____________________________________________ (2)____________________________________________ 16.假设用JAVA语言为清华大学(网址为https://www.wendangku.net/doc/ba9308860.html,)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17.JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18.JAVA程序以________为单位进行组织的。 19.如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。
《JAVA程序设计基础课程设计》指导书 课程名称:JAVA程序设计基础课程设计 设计题目:班级通信录电子万年历简单计算器聊天小程序 图书管理系统学生成绩管理系统英汉电子小字典 使用班级:通信151-2 指导教师:宫淑兰、张明玉 一、课程设计的目的和要求 1、通过面向对象程序设计课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出来,并掌握继承与派生,基类、虚函数和多态性的概念。 2、通过这次课程设计掌握面向对象的编程思想,为后续课程打下基础。 3、培养学生实际操作能力和团结协作能力,为以后的工作打下坚实的基础。 二、课程设计内容 运用Java语言描述各种类,每一个类应包含数据成员和成员函数。设计基类和派生类,并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。 不得从网上下载或者抄袭别人的资料,一经发现,课程设计不及格。 三、课程设计进度表 时间为一周,大致划分如下: 第一天布置任务及分组,总体需求分析,编写相关文档,设计说明,查找资料第二天基类、各派生类设计及代码实现,各模块的编程设计 第三天各模块的调试与修改,系统组装,程序总调试,修改 第四天~第五天撰写课程设计说明书,课程设计检查与答辩 四、课程设计步骤与方法 1、需求分析:为提出的问题找出解决的办法和思路。用自顶向下的方法创建主程序和子程序,控制对象间的相互作用。 2、根据需求,设计系统功能模块,并设计相应的类结构。 3、根据基本思路,确定输入和输出,设计程序的算法。
Java程序设计复习题 一、选择题 1.下面哪些是java语言中的关键字? A.sizeof B.abstract C.NULL D.Native 2.switch语句中表达式的值必须是 A.布尔型或字符型 B.整型或字符型 C.整型或布尔型 D.浮点型或整型3.以下程序测试String 类的各种构造方法,试选出其运行效果。 class STR{ public static void main(String args[]){ String s1=new String(); String s2=new String("String 2"); char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,6); byte bytes[]={0,1,2,3,4,5,6,7,8,9}; StringBuffer sb=new StringBuffer(s3); String s5=new String(sb); System.out.println("The String No.1 is "+s1); System.out.println("The String No.2 is "+s2); System.out.println("The String No.3 is "+s3); System.out.println("The String No.4 is "+s4); System.out.println("The String No.5 is "+s5); } } A.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is string The String No.5 is a string B.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is tring The String No.5 is a string C.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is strin The String No.5 is a string D.以上都不对 4.按访问权限从高到低的排列顺序是 A.友好的,public,protected, private. B.public,protected,private,友好的. C.public,友好的,protected,private. D.public,protected,友好的,private
《JA V A语言程序设计》期末考试试题及答案3 一、单项选择题 1、如下哪个是Java中的标识符() A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count); A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、p.add(b); B、p.add(b,"North"); C、p.add(b,"South"); D、b.add(p,"North"); 9、声明并创建一个按钮对象b,应该使用的语句是() A、Button b=new Button(); B、button b=new button();
第一章:初识Java (一)Java可以做什么? 1、开发安装和运行在本机的上桌面程序。 2、开发通过浏览器访问的面向Internet的应用程序。 (二)应用最广泛的两种Java技术 1、JavaSE:全称是Java Platform Standard Edition(Java 平台标准版),提供基础的Java开发工具、执行环境和应用程序接口(API),主要用于桌面应用程序的开发。 2、JavaEE:全称是Java Platform Enterprise Edition(Java 平台企业版),主要用于网络程序和企业级应用的开发。 JavaSE是Java语言的核心,JavaEE是在JavaSE的基础上扩展的,JavaSE提供了Java的运行环境,使用开发出的应用程序能够在操作系统上运行。 (三)开发Java程序的步骤 1、编写源程序。可以使用记事本编写,使用Java语言编写,保存后将扩展名改为.java即可。 2、编译。编译器将.java程序代码翻译转换为计算机能够识别的机器代码,扩展名为.class。 3、运行。在Java平台上运行编译后的文件,便可查看到运行的结果。 Java 开发工具包为:JDK 6(Java Development Kit),由Sun 公司免费提供,可从Oracle公司网站上下载。
例1.1:编写第一个程序HelloWorld.java 1、打开记事本,输入以下内容并保存为文件HelloWorld.java。 public class HelloWorld{ public static void main(string[],args){ System.out.println(“Hello World!!!”); } } 2、进入DOS控制台,输入“javac HelloWorld.java”后回车,编译生成HelloWorld.class。 3、继续在DOS控制台中输入“java HelloWorld.clss”后回车,显示运行结果: Hello World!!! | (四)Java程序结构(使用注释说明) //我的第一个Java程序 public class HelloWorld{ //命名类名 public static void main(string[],args){ /* *上一行使用main()方法 *是Java程序的入口,起始点 *一个Java程序中只能有一个main()方法 */
史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资
深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。
JA V A程序设计课程设计指导书 一、课程设计的目的与要求: 1.掌握JA V A语言中面向对象的概念,并能在程序中熟练运用。 2.了解面向对象程序设计(JA V A)的基本概念以及运用面向对象技术进行程序设计的基本思 想。 3.能正确编写和调试JA V A程序。 4.了解在JA V A环境下进行程序设计的基本思想和方法。 二、设计内容 2.1项目一:项目描述与设计要点(数据结构算法要求较高) 1.设计一个连连看的游戏程序。 2.在JAVA环境下,将上述程序使用GUI、数据结构等内容完成 3.设计思路: (1)界面设计 1)初始测试界面可以考虑使用简单的按钮来代表连连看游戏中的图标。 2)布局可以考虑使用GRID方式。 3)设计菜单选择连连看难度等内容,具体可参照QQ连连看,也可自定义。 4)考虑完善界面,例如图片、声音、动画等。 (2)代码设计 1)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章节,合理设计 算法,将界面中各按钮的分布映射入数学矩阵进行路径规划。(可以上网搜索相关算法)。 2)完成连连看游戏的图形、算法等代码的设计。 3)有能力的同学可以考虑网络对战,设计SOCKET服务器,使得CLIENT之间通信是否已完 成游戏。 4.实验步骤(包括操作方法、数据处理) (1)界面设计 (2)算法设计 (3)代码设计 (4)网络通信设计 2.2项目二:项目描述与设计要点(计算机图形、网络编程要求较高) 1.一个类似于电子白板的“你画我猜”游戏设计(若不知道此游戏,请上网查找),游戏要求 一方绘图后通过网络将绘图内容显示于另外一方界面中,由另外一方猜测绘制的内容,并通过键盘输入告知绘图方。 2.在JAVA环境下,将上述内容设计成为应用程序。
一、单选题:在下列各题的备选答案中选择一个正确的。(每题2分,共20分) 1、下列方法中不是键盘事件KeyEvent实现方法的是() A .keyPressed(KeyEvent e) B .keyReleased(KeyEvent e) C .mouseClicked(MouseEevent e) D .keyTyped(KeyEvent e) 2、下列关于接口的描述,正确的是( C ) A 抽象类可以使用extends关键字来继承接口 B 接口可以被实例化 C 接口可以继承多个父接口 D 接口具有继承性,但不能继承父接口的所有属性和方法 3、下面的方法,当输入为2的时候返回值是多少?( C ) public int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; } A)0 B)2 C)4 D)10 4、下列叙述中,正确的是( A ) A)声明变量时必须制定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是“//” D)源文件中public类可以有0个或者多个 5、如下Java代码段,体现了( B )概念。 public void aMethod(String s){....} Java程序设计2 第1页共6页
public void aMethod(int i){.........} public void aMethod(int I,float f){.....} ..... A)多继承 B)重载 C)重写 D)多态 6、下列标识符(名字)命名原则中,正确的是( D ) A)类名的首字母小写 B)变量和方法名的首写字母大写 C)接口名的首写字母小写 D)常量完全大写 7、Java的核心包中,提供编程应用的基本类的包是( A ) A)https://www.wendangku.net/doc/ba9308860.html,ng B) Java.util C) Java.applet D) Java.rmi 8、Panel默认的布局管理器是( A ) A) FlowLayout B) GridLayout C) BorderLayout D) FlowLouLayout 9、File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( B ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A)创建C:\test.dat B) 删除C:\test.dat C) 打开C:\test.dat文件输出流 D) 移动C:\test.dat 10.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B ) A)ClassNotFoundException B)IOException C)FileNotFoundException D)UnknownHostException 11、下列属于合法的Java标志符是( D ) A “ABC” B &5678 C +newer D saler 12、下列数组的初始化正确的是()b Java程序设计2 第2页共6页
目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)
第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记
武汉科技大学城市学院 课程设计报告 课程设计名称JAVA程序设计课程设计 题目ACM 院系信息工程学部 专业软件工程 班级15级3班 姓名洪汉山 指导教师于海平 2017 年 6 月23 日
课程设计评分表
JA V A编程课程设计指导书 学时:1周,学分:1 1.课程设计目的:JAVA编程课程设计属于软件开发类课程设计。该课程设计培养学生熟练应用当前主流的JAVA软件开发语言,检验软件的设计、编码与测试,具备较强的JAVA语言软件开发能力。 2.课程设计方式: (1)JAVA编程课程设计方式采取ACM测试的方式,利用所学的面向对象程序设计(JAVA)知识,培养学生具有分析应用问题的能力,能够独立完成应用程序的编制与调试工作。 (3)每个同学必须完成8-12道题,每题写出解题报告,解题报告内容:○1.题目标题○2.题目描述○3.解题思路○4.源码○5.小结 3.课程设计平台: eclipse或Myeclipse 4.课程设计考核方式 (1)学生独立提交软件设计作品和“课程设计报告书”,指导教师根据学生组提交的软件设计作品和“课程设计报告书”的质量,为学生组评定“优”“良”“中”“及格”或“不及格”; (2)根据各组学生所选题目的难易程度以及验收结果,为学生评定“优”“良”“中”“及格”或“不及格”。 “课程设计报告书”包括:课程设计项目名称,课程设计任务, 课程设计任务(功能)说明及功能模块图,数据库设计,各模块功能说明,使用的算法描述(如果需使用算法),各模块界面设计,各模块中关键代码段功能说明与代码行注释,测试说明,参考文献等。 5.参考文献 [1] 张思民. Java语言程序设计(第2版)[M].北京:清华大学出版社,2012.1 [2] 姜华. Java项目实战教程[M]. 北京:清华大学出版社,2012.9 [3] 陈喧. Java程序设计教程[M]. 北京:清华大学出版社,2011.5 [4] [美]Echel,B .Java编程思想(第四版)[M].北京:机械工业出版社,2007 [5] Michael Main. 数据结构:Java语言描述(第二版)(国外经典计算机科学教材)[M]. 北京:中国电力出版社,2007
JA V A程序设计复习资料
选择题 答题要求:单选题,每题只有一个正确答案,选择正确给分,不正确不给分。 1、下面( A )数据类型可用于main()方法中传递的参数 A、String B、Integer C、Boolean D、Variant 2、以下的选项中能正确表示Java语言中的一个整型常量的是( B ) A、12. B、-20 C、1,000 D、4 5 6 3、下列的变量定义中,正确的是( D ) A、boolean b1="true"; B、float x=6.6; C、byte i=200; D、double y; 4、在屏幕上显示的消息正确的语句是( A ) A、System.out.println("I am Java Expert"); B、system.out.println("I am Java Expert"); C、System.Out.Println("I am Java Expert"); D、System.out.println('I am Java Expert'); 5、下面( B )命令可用于编译Java程序 A、java B、javac C、appletviewer D、javadoc 6、Java编译器会将Java程序转换为( A ) A、字节码 B、可执行代码 C、机器代码 D、以上所有选项都不正确 7、以下字符常量中不合法的是( C )
A、'@' B、'&' C、"k" D、'整' 8、以下的选项中能正确表示Java语言中的一个double型常量的是( C ) A、Float.MIN_VALUE B、1.8e-6F C、2.0 D、'abc' 9、以下的变量定义语句中,合法的是( C )。 A、float $_*5= 3.4F; B、byte b1= 15678; C、int $abc=5; D、int class=5; 10、在一个类中定义的成员变量和成员方法时,不允许( A )。 A. 两个成员变量名相同. B. 成员变量及成员方法名相同. C. 两个成员方法名相同 D. 成员方法中的参数及成员变量名相同 11、下列叙述正确的是( B ) A. 在类中的构造方法的名字及类的名字相同,而且不能重载 B. 在类中的构造方法的名字及类的名字相同,但没有返回类型. C. 在类中的构造方法的名字及类的名字相同,而且有返回类型. D. 在类中的构造方法的名字及类的名字相同,而且不能初始化. 12、Java application中的主类需包含main方法,main方法的返回类型是什么?(D ) A、int B、float C、double D、void
Java程序设计期末考试试题、试卷、习题A卷 一、选择题。本题共20小题,每题2分,满分40 分。 1、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行……… () A)init() B)start() C)destroy() D)stop() 2、有以下方法的定义,请选择该方法的返回类型() ReturnType method(byte x, double y) { return (short)x/y*2; } A)byte B)short C)int D)double 3、以下哪项可能包含菜单条()。 A)Panel B)Frame C)Applet D)Dialog 4、Java application中的主类需包含main方法,main方法的返回类型是什么?()A)int B)float C)double D)void 5、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A)String args B)String ar[] C)Char arg D)StringBuffer args[] 6、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A). java B) .class C) . html D) .exe 7、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A)3 B)3. 5 C)4 D)5 8、不允许作为类及类成员的访问控制符的是( )。 A)public B)private C)static D)protected 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A)static void method( ) B)public void method( ) C)final void method( ) D)abstract void method( ) 10、以下哪一个不是JAVA的标准数据流( )。 A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流 11.设有下面两个赋值语句:( ) a = Integer.parseInt(“123”); b = Integer.valueOf(“123”).intValue(); 下述说法正确的是()。 A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。 12、下列代表十六进制整数的是( ) A)0123 B)1900 C)fa00 D)0xa2
第1章Java语言概述 本章知识目标: ?了解面向对象程序设计的特性。 ?掌握Java应用程序和Applet程序的调试过程。 ?了解Java的开发与运行环境。 ?了解Java语言的特点。 Java语言从1995年问世至今,得到众多厂商的支持,成为软件开发的主流技术。Java 是面向对象的程序设计语言,拥有跨平台、多线程等众多特性,在网络计算中得到广泛应用。 1.1 面向对象程序设计的特性 早期的编程语言如Fortran、C等都是面向过程的语言,面向过程编程的一个明显特点是数据与程序是分开的。但随着计算机软件的发展,程序越做越大,软件维护也日益困难。面向对象编程贴近于人类思维方式,面向对象的软件开发将事物均看作对象,对象有两个特征:状态与行为,对象可以通过自身的行为来改变自己的状态。最新的程序设计语言一般为面向对象的语言,面向对象程序设计具有如下四大特性。 1.封装性(Encapsulation) 面向对象的第一个原则是把数据和对该数据的操作都封装在一个类中,类的概念和现实世界中的“事物种类”是一致的。例如,电视机就是一个类,每台电视机都有尺寸、品牌、频道等属性。我们可用on/off开关来开启电视,通过更改频道让电视机播放不同的节目。 对象是类的一个实例化结果,对象具有类所描述的所有属性以及方法。对象是个性化的,在程序设计语言中,每个对象都有自己的存储空间来存储自己的各个属性值,有些属性本身又可能由别的对象构成。 每个对象都属于某个类。面向对象程序设计就是设计好相关的类,类中有属性和方法。在统一建模语言UML中使用如图1-1所示的符号来描述对象和类的结构,其中,属性用来描述对象的状态,而方法则用来描述对象的行为。 2.继承性(Inheritance) 继承是在类、子类以及对象之间自动地共享属性和方法的机制。类的上层可以有父类,下层可以有子类,形成一种层次结构,如图1-2所示。一个类将直接继承其父类的属性和方法,而且继承还具有传递性,因此,它还将间接继承所有祖先类的属性和方法。例如,
《Java语言程序设计》填空题 1.Java程序主要分为两种类型:应用程序和Applet程序。 2.Java程序用{}将多条语句组合在一起,语句之间必须用分号隔开。 3.通常Applet程序在init()方法中完成初始化工作。 4.在类声明中提供类标志的关键字是class。 5.一个Java源程序编译后会生成一个扩展名为java的字节码文件。 6.应用程序编译后生成字节码文件,由java虚拟机直接解释执行。 7.Applet程序编译生成字节码文件,然后将该字节码文件嵌入到一个HTML文件 中,由浏览器解释执行。 8.要编译一个文件名为Test的Java源程序,需在命令控制台窗口输入编译命 令:javac Test.java。 9.通常类名可由字母、数字、下划线以及美元符号组成,但类名的第一个字符不 能是数字。 10.当一个方法中有多个参数时,参数之间是用逗号隔开。 11.运行一个Applet程序,可通过双击其相应的超文本文件(A.html)来显示运行 结果,或在命令控制台窗口下输入执行浏览器的命令:iexplore a.html。 12.执行退出(结束)程序的语句是System.exit(0);。 13.语句System.exit(0);所执行的功能是退出(结束)程序。 14.在Java程序中,用"//"符号表示单行注释,那么用/**/符号表示多行 注释。 15.在Java程序中使用注释的目的在于帮助了解程序的功能。 16.编写一个Applet程序,需在程序的开头引用一条表示Applet类包的语句,该 语句为:import java.applet.*;。 17.Applet的生命周期是有init()、start()、stop()、destroy()这4个方法 构成的,在程序执行过程中,init()方法只被调用执行一次,但start()方法可以多次被调用执行。 18.Java的数据类型可以分为两大类:基本数据类型和引用数据类型。 19.Java定义了8个基本数据类型:字节型、短整型、整型、长整型、字符型、 布尔型、单精度型和双精度型。 20.int类型的数据占用存储空间是32位。 21.在Java中,使用变量遵守先定义后使用的原则。 22.Java表示逻辑值的基本数据类型,称为布尔型。 23.布尔型的数据不对应于任何整数值,它只有两个值true和false。 24.假若x=5;y=9,则表达式x>y的逻辑值为false。 25.变量的数据类型转换分为自动类型转换和强制类型转换两种。 26.假若int x=10;float y;y=x;这时y的值为10.0。 27.自动类型转换是把级别低的变量的值赋给级别高的值。
Java程序设计期末考试题 一、选择题 下列说法中,不正确的是( A ) A) 一个java源程序编译通过后,得到的结果文件数也只有一个。 B) 一个java源程序经过编译后,得到的文件的扩展名一定是.class。 C) 一个java源程序只能有一个public class类定义,且源文件的名字与public class的类名相同,扩展名必须是.java。 D) 一个java源程序可以包含多个class类。 请问,以下哪些描述是正确的? 请选择所有正确答案: (1)如果package语句存在,则必须出现在源文件的非空白首行。(2)如果import语句存在,则必须出现在源文件的非空白首行。(3)如果main()方法存在,则必须出现在源文件的非空白首行。(4)如果在源文件中声明了一个public接口,则其名称必须和源文件名一致。 请问,以下哪些是Java中的合法标识符? 请选择所有正确答案: (1)my-id (2)my_id
(3)101ids (4)id101 请问,以下哪些是合法的标识符? 请选择所有正确答案: (1)%abcd (2)$abcd (3)1abcd (4)package (5)_a_long_name 以下哪个不是Java的关键字?() A、FALSE B、const C、this D、void 以下哪个不是Java的关键字?() A、TRUE B、goto C、this D、void Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。 A、8 B、16
C、32 D、64 请问一下哪些修饰符用于声明一个常量?请选择一个正确答案:static final abstract public 给出以下代码,该程序的运行结果是什么? public class Example{ final int x=0; Example(){ x=1; } final int aMethod(){ return x; } } 请选择所有正确答案: 代码编译错误,因为非final类中存在final方法。 代码编译成功。
珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制
目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题
的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书