查字典范文网 >> 2023年java程序设计教学大纲(五篇)

2023年java程序设计教学大纲(五篇)

小编:zdfb

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。

java程序设计教学大纲篇一

class test {

static void main(string args []){

ee e = new employee(“bob”, 48);

atepay();

n(etails());

6.e = null;

7.e = new employee(“denise”, 36);

atepay();

n(etails());

10.}

11.}

only one:

class test {

static void main(string args []){

ee e = new employee(“bob”, 48);

atepay();

n(etails());

6.e = null;

7.e = new employee(“denise”, 36);

atepay();

n(etails());

10.}

11.}

only one:

10

11

7

8

2:exhibit :

class test(e static int j = 0;

e static boolean methodb(int k)(5.j += k;

true;

6.)

static void methoda(int i){

n b:

10.b = i < 10 | methodb(4);

11.b = i < 10 || methodb(8);

12.)

static void main(string args[] }(a(0);

n(j);

17.)

18.)

what is the result?

program prints “0”

program prints “4”

program prints “8”

program prints “12”

3:what is written to the standard output given the following statement:n(4|7);

select the right answer:

a.4

b.5

c.6

d.7

4:

select valid identifier of java:

select valid identifier of java:

a.%passwd

b.3d_game

c.$charge

5:设有变量说明语句int a=1,b=0;

则执行以下程序段的输出结果为()。

switch(a)

{

case 1:

switch(b)

{

case 0:printf(“**0**”);break;

case 1:printf(“**1**”);break;

}

case 2:printf(“**2**”);break;

}

printf(“ ”);

a.**0**

b.**0****2**

c.**0****1****2**

d.有语法错误

6:in the following pieces of code, which one will compile without any error?

buffer sb1 = “abcd”;

n b = new boolean(“abcd”);

c.c: byte b = 255;

fl = 1.2;

7:

what is the result when you compile and run the following code?

public class throwsdemo

{

static void throwmethod()

{

n(“inside throwmethod.”);

throw new illegalaccessexception(“demo”);

}

public static void main(string args[])

{

try

{

throwmethod();

}

catch(illegalaccessexception e)

{

n(“caught ” + e);

}

}

}

choices:

what is the result when you compile and run the following code?

public class throwsdemo

{

static void throwmethod()

{

n(“inside throwmethod.”);

throw new illegalaccessexception(“demo”);

}

public static void main(string args[])

{

try

{

throwmethod();

}

catch(illegalaccessexception e)

{

n(“caught ” + e);

}

}

}

choices:

ation error

e error

e successfully, nothing is ed by caught:laccessexcption: demo

8:which of the following statements are not legal?

l = 4990;

i = 4l;

d = 34.4;

t = 0.9f.9:

give the following java class:

public class example{

public static void main(string args[]){

static int x[] = new int[15];

n(x[5]);

}

}

which statement is corrected?

give the following java class:

public class example{

public static void main(string args[]){

static int x[] = new int[15];

n(x[5]);

}

}

which statement is corrected?

compile, some error will run, some error will is is null.10:下面关于变量及其范围的陈述哪些是错的。

a.实例变量是类的成员变量。

b.实例变量用关键字static声明。

c.在方法中定义的局部变量在该方法被执行时创建

d.局部变量在使用前必须被初始化。

11:

public class x{

public object m(){

object o = new float(3.14f);//line 3

object [] oa = new object[1];//line 4

oa[0] = o;//line 5

o=null;//line 6

return oa[0];//line 7

}

}

when is the float object, created in line 3,eligible for garbage collection?

public class x{

public object m(){

object o = new float(3.14f);//line 3

object [] oa = new object[1];//line 4

oa[0] = o;//line 5

o=null;//line 6

return oa[0];//line 7

}

}

when is the float object, created in line 3,eligible for garbage collection?

after line after line 6

after line 7(that is,as the method returns)

in this method

12:

which is the most appropriate code snippet that can be inserted at line 18 in the following code?

(assume that the code is compiled and run with assertions enabled)

.*;

class asserttest

4.{

e hashmap cctld;

asserttest()

8.{

= new hashmap();

(“in”, “india”);

(“uk”, “united kingdom”);

(“au”, “australia”);

13.// more code...14.}

15.// other methods.... string getcountry(string countrycode)

17.{

18.// what should be inserted here?

country =(string)(countrycode);

country;

21.}

22.}

which is the most appropriate code snippet that can be inserted at line 18 in the following code?

(assume that the code is compiled and run with assertions enabled)

.*;

class asserttest

4.{

e hashmap cctld;

asserttest()

8.{

= new hashmap();

(“in”, “india”);

(“uk”, “united kingdom”);

(“au”, “australia”);

13.// more code...14.}

15.// other methods.... string getcountry(string countrycode)

17.{

18.// what should be inserted here?

country =(string)(countrycode);

country;

21.}

22.}

countrycode!= null;

countrycode!= null : “country code can not be null”;

cctld!= null : “no country code data is available”;

cctld : “no country code data is available”;

13:

give the following code:

public class example{

public static void main(string args[]){

int l=0;

do{

n(“doing it for l is:”+l);

}while(—l>0)

n(“finish”);

}

}

which well be output:

give the following code:

public class example{

public static void main(string args[]){

int l=0;

do{

n(“doing it for l is:”+l);

}while(—l>0)

n(“finish”);

}

}

which well be output:

it for l is 3

it for l is 1

it for l is 2

it for l is 0

14:which statements about java code security are not true?

bytecode verifier loads all classes needed for the execution of a ing code is performed by the runtime runtime the bytecodes are loaded, checked and run in an interpreter. class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.15:a class design requires that a member variable should be accessible only by same package, which modifer word should be used?

ted

modifer

e

16:character流与byte流的区别是

a.每次读入的字节数不同

b.前者带有缓冲,后者没有

c.前者是块读写,后者是字节读写

d.二者没有区别,可以互换使用

简答题

17:找出两个字符串中最大子字符串,如“abractyeyt”,“dgdsaeactyey”的最大子串为“actyet”

18:假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?

19:到底在哪里使用cascade=“...”?

20:使用tomcat部署应用程序 emoryerror 吗?如何解决的。

21:请写一个java程序实现数据库缓冲池的功能?

22:有200个正整数,且每个数均在1000至9999之间。请编制函数,其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。

23:anonymous inner class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

24:找出字符串a中包含的字符可以进行的所有不同组合。例如:abccd中,ab,ac,bc,cc,abd等都是可能的组合。

25:下面的代码在绝大部分时间内都运行得很正常,请问在什么情况下会出现问题?问题的根源在哪里?

import .linkedlist;

public class stack {

linkedlist list = new linkedlist();

public synchronized void push(object x){

synchronized(list){

t(x);

notify();

}

}

public synchronized object pop()

throws exception {

synchronized(list){

if(()<= 0){

wait();

}

return last();

}

}

}

java程序设计教学大纲篇二

《java高级编程》教学大纲

郑州大学软件技术学院

一、课程的性质与任务

本课程是软件开发专业开设的程序设计类高级课程,学生在学习了《程序设计导论》,初步具备了一定的程序以介绍面向对象编程的基本概念、基本理论为重点,结合java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对java技术有一个总体了解,通过本课程学习,使学生掌握java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用java语言进行程序的编写、编译以及调试工作设计基本理念后才可学习本课程。本课程将教给学生如何利用java这一有力工具进行程序设计,如程序逻辑、用户界面、数据处理、多媒体编程方法、网络通讯软件开发等。由于教材采用弱化语法,深入浅出的表达方式,使得学生将主要的注意力放在用软件实现实际问题上,而不是放在程序设计语言这一载体上。

二、教学基本要求

(讲课学时:68;实训学时:32)

1、java概述

 了解java 语言的发展和特点  了解java 语言的工作机制

 掌握jbuilder9.0开发工具的安装和简单使用  了解面向对象程序设计的理念  java应用程序及小程序举例

2、java语言基础

 熟悉java语言的标识符、基本数据类型

 熟悉java语言的运算符、表达式、运算优先级等。 了解java语言的包装类

 熟练掌握if—else语句和 switch语句。

 熟练运用java语言的分支结构进行简单的程序设计。 熟练掌握while语句、do—while语句和for 语句。 熟练运用循环流程控制语句进行简单的程序设计。 基本掌握循环嵌套的使用。 初步掌握break、continue、return语句。 能够初步掌握方法、异常处理的程序设计技术。

 了解面向过程的编程方法的局限性,了解面向对象的编程的基本术语、基本特性等。

 掌握类的定义与对象的生成。 掌握构造方法的特点、作用。 初步掌握类和成员的修饰符。 初步掌握类继承的实现方式。 了解抽象类和抽象方法  了解接口的定义和实现方法  了解接口的继承和多态  了解包的创建及其使用方法

3、java applet程序设计

 了解java applet的特点和运行机制。

 了解html语言,熟悉如何在html文件中嵌入applet。 了解applet的类层次及框架结构。 初步掌握applet的主要方法及生命周期。 awt绘制基础。 掌握应用字体的方法。 掌握应用颜色的方法。 掌握绘制简单图形的方法。

4、图形界面设计

 熟练掌握基本组件的使用  掌握高级组件的使用  掌握面板和布局控制

 掌握窗口、菜单和对话框的使用  会进行一般的图形界面设计

5、输入输出设计

 理解基本i/o流  了解文件i/o流  了解字节流  了解字符流

 会进行稍微复杂的i/o设计

6、多线程  理解多线程的概念  掌握线程的生命周期

 会用多线程编写较为灵活的程序

以介绍面向对象编程的基本概念、基本理论为重点,结合java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对java技术有一个总体了解,通过本课程学习,使学生掌握java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用java语言进行程序的编写、编译以及调试工作

7、多媒体程序设计

 了解java多媒体框架  掌握音频开发的方法  了解视频开发

8、数据库程序开发

 掌握odbc的概念  掌握连接数据库的方法  了解操作数据库的组件  了解管理数据库的方法

9、网络通讯

 理解tcp/ip网络通讯  了解java网络类和接口  了解面向连接的套接字通讯  了解无连接的数据报通讯

 以介绍面向对象编程的基本概念、基本理论为重点,结合java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对java技术有一个总体了解,通过本课程学习,使学生掌握java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用java语言进行程序的编写、编译以及调试工作

 文章由北大青鸟.嘉华教育(深圳大学实训基地&北大青鸟全国三甲校区): 深圳权威it培训学校,欢迎课程咨询交流qq:100236036

java程序设计教学大纲篇三

《java编程》

计算器

班级:****** 姓名:******

学号: ******* 指导老师:******

实验名称:java计算器

1实验目的: java编程语言在编程方面的具体应用,以及使用面向对象方法,对小应用程序进行需求分

析、概要设计、详细设计,最后使用java编程实现的全过程。

2实验意义:

在编程我们使用的java语言,是目前比较流行的编程语言。在当今这个时代,java语言在编程方面的优势使得编程有了更好的选择。java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。实训性质

本课程是计算机信息管理专业的一门实践性课程,是《java编程》课程的实践性教学环节。实训目标

⑴综合应用java程序设计的知识解决实际问题。

⑵学会在应用程序的设计过程中,应用面向对象的程序设计方法。⑶学会应用jdbc创建数据库应用程序。

⑷学会开发基于swing的应用程序及多文档应用程序的设计。实训任务

用java语言开发工具(例如jdk、jcreator、netbeans等)制作一个简单的可运行的完整的应用程序或小型系统,并编制出各阶段必要的文档。

将创建一个计算器,可以进行常用的加减乘除算术运算。本实例的知识点有:窗口布局器gridlayout的应用,对按钮消息的监听和响应。

6实训条件

<软件:>windows xp,netbeans ide 6.52 7开发背景: java是由sun microsystems公司于1995年5月推出的java程序设计语言(以下简称java语言)和java平台的总称。java语言是一个支持网络计算的面向对象程序设计语言。java语言吸收了smalltalk语言和c++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。

8系统部分分析:

1)java语言是简单的。java语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。

2)java语言是一个面向对象的。java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。java语言全面支持动态绑定,而c++ 语言只对虚函数使用动态绑定

3)java语言是分布式的。java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。

4)java语言是健壮的。java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。

5)java语言是安全的。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制.6)java语言是体系结构中立的。java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个java平台的任何系统中运行。

7)java语言是可移植的。这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。java系统本身也具有很强的可移植性,java编译器是用java实现的.8)java语言是解释型的。如前所述,java程序在java平台上被编译为字节码格式,然后可以在实现这个java平台的任何系统中运行。

9)java是高性能的。与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c++。

10)java语言是多线程的。在java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。

11)java语言是动态的。java语言的设计目标之一是适应于动态变化的环境。

目录

课程设计题目 ……………………………… p1

课程设计简介 ……………………………… p2

课程设计源代码…………………………… p5

课程设计运行结果 ……………………… p15 课程设计心得体会 ………………………

p16

package computerpad;import .*;import .event.*;import .*;import .*;import list;import format;public class computerpad extends frame implements actionlistener {

numberbutton numberbutton[];

operationbutton oprationbutton[];

button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮;

panel panel;

jtextfield resultshow;

string 运算符号[]={“+”,“-”,“*”,“/”};

linkedlist 链表;

boolean 是否按下等号=false;

public computerpad()

{

super(“计算器”);

链表=new linkedlist();

numberbutton=new numberbutton[10];

for(int i=0;i<=9;i++)

{

numberbutton[i]=new numberbutton(i);

numberbutton[i].addactionlistener(this);

}

oprationbutton=new operationbutton[4];

for(int i=0;i<4;i++)

{

oprationbutton[i]=new operationbutton(运算符号[i]);

oprationbutton[i].addactionlistener(this);

}

小数点按钮=new button(“.”);

正负号按钮

=new button(“+/-”);

等号按钮=new button(“=”);

求倒数按钮=new button(“1/x”);

退格按钮=new button(“退格”);

清零按钮=new button(“c”);

eground();

eground();

eground();

eground();

eground();

eground();

ionlistener(this);

ionlistener(this);

ionlistener(this);

ionlistener(this);

ionlistener(this);

ionlistener(this);

resultshow=new jtextfield(10);

izontalalignment();

eground();

t(new font(“timesroman”,,14));

der(new softbevelborder(d));

kground();

table(false);

panel=new panel();

out(new gridlayout(4,5));

(numberbutton[1]);

(numberbutton[2]);

(numberbutton[3]);

(oprationbutton[0]);

(清零按钮);

(numberbutton[4]);

(numberbutton[5]);

(numberbutton[6]);

(oprationbutton[1]);

(退格按钮);

(numberbutton[7]);

(numberbutton[8]);

(numberbutton[9]);

(oprationbutton[2]);

(求倒数按钮);

(numberbutton[0]);

(正负号按钮);

(小数点按钮);

(oprationbutton[3]);

(等号按钮);

add(panel,);

add(resultshow,);

addwindowlistener(new windowadapter()

{ public void windowclosing(windowevent e)

{

(0);

}

});

setvisible(true);

setbounds(100,50,240,180);

setresizable(false);

validate();

} public void actionperformed(actionevent e)

{

if(rce()instanceof numberbutton)

{

numberbutton b=(numberbutton)rce();

if(()==0)

{

int number=ber();

(“"+number);

t(”“+number);

是否按下等号=false;

}

else if(()==1&&是否按下等号==false)

{

int number=ber();

string num=(string)first();

string s=(”“+number);

(0,s);

t(s);

}

else if(()==1&&是否按下等号==true)

{

int number=ber();

first();

(”“+number);

是否按下等号=false;

t(”“+number);

}

else if(()==2)

{

int number=ber();

(”“+number);

t(”“+number);

}

else if(()==3)

{

int number=ber();

string num=(string)t();

string s=(”“+number);

(2,s);

t(s);

}

}

else if(rce()instanceof operationbutton)

{

operationbutton b=(operationbutton)rce();

if(()==1)

{

string fuhao=运算符号();

(fuhao);

}

else if(()==2)

{

string fuhao=运算符号();

(1,fuhao);

}

else if(()==3)

{

string fuhao=运算符号();

string number1=(string)first();

string number2=(string)t();

string 运算符号=(string)(1);

try

{

double n1=ouble(number1);

double n2=ouble(number2);

double n=0;

if((”+“))

{

n=n1+n2;

}

else if((”-“))

{

n=n1-n2;

}

else if((”*“))

{

n=n1*n2;

}

else if((”/“))

{

n=n1/n2;

}

();

(”“+n);

(fuhao);

t(”“+n);

}

catch(exception ee)

{

}

}

}

else if(rce()==等号按钮)

{

是否按下等号=true;

if(()==1||()==2)

{

string num=(string)first();

t(”“+num);

}

else if(()==3)

{

string number1=(string)first();

string number2=(string)t();

string 运算符号=(string)(1);

try

{

double n1=ouble(number1);

double n2=ouble(number2);

double n=0;

if((”+“))

{

n=n1+n2;

}

else if((”-“))

{

n=n1-n2;

}

else if((”*“))

{

n=n1*n2;

}

else if((”/“))

{

n=n1/n2;

}

t(”“+n);

(0,”“+n);

last();

last();

}

catch(exception ee)

{

}

}

}

else if(rce()==小数点按钮)

{

if(()==0)

{

是否按下等号=false;

}

else if(()==1)

{

string dot=el();

string num=(string)first();

string s=null;

if(f(dot)==-1)

{

s=(dot);

(0,s);

}

else

{

s=num;

}

(0,s);

t(s);

}

else if(()==3)

{

string dot=el();

string num=(string)t();

string s=null;

if(f(dot)==-1)

{

s=(dot);

(2,s);

}

else

{

s=num;

}

t(s);

}

}

else if(rce()==退格按钮)

{

if(()==1)

{

string num=(string)first();

if(()>=1)

{

num=ing(0,()-1);

(0,num);

t(num);

}

else

{

last();

t(”0“);

}

}

else if(()==3)

{

string num=(string)t();

if(()>=1)

{ num=ing(0,()-1);

(2,num);

t(num);

}

else

{

last();

t(”0“);

}

}

}

else if(rce()==正负号按钮)

{

if(()==1)

{

string number1=(string)first();

try

{

double d=ouble(number1);

d=-1*d;

string str=f(d);

(0,str);

t(str);

}

catch(exception ee)

{

}

}

else if(()==3)

{

string number2=(string)t();

try

{

double d=ouble(number2);

d=-1*d;

string str=f(d);

(2,str);

t(str);

}

catch(exception ee){

}

}

}

else if(rce()==求倒数按钮)

{

if(()==1||()==2)

{

string number1=(string)first();

try

{

double d=ouble(number1);

d=1.0/d;

string str=f(d);

(0,str);

t(str);

}

catch(exception ee){

}

}

else if(()==3)

{

string number2=(string)t();

try

{

double d=ouble(number2);

d=1.0/d;

string str=f(d);

(0,str);

t(str);

}

catch(exception ee){

}

}

}

else if(rce()==清零按钮)

{

是否按下等号=false;

t(”0“);

();

}

} public static void main(string args[])

{

new computerpad();

}

}

package computerpad;import .*;import .event.*;import .*;public class numberbutton extends button {

int number;

public numberbutton(int number)

{

super(”"+number);

=number;

setforeground();

}

public int getnumber()

{

return number;

} }

import .*;import .event.*;import .*;public class operationbutton extends button {

string 运算符号;

public operationbutton(string s)

{

super(s);

运算符号=s;

setforeground();

}

public string get运算符号()

{

return 运算符号;

} } 14 java实训心得:

未接触java之前,听人说java这门语言如何的强大和难以入门,但学习之后,给我的感觉却是语言没有所谓的难于不难,关键是自己有没有真正投入去学,有没有花时间去学。java是一门很好的语言,经过周围人对java的宣传,我一开始不敢去学习这门语言,因为一门高级语言总是让人想到一开始的学习会很难,但是后来在自己的努力和老师同学的帮助下,我加入了java学习者的行列。

老师把我们带进了门,那么,以后漫长的深入学习还是要靠自己。经常性的编写一些程序,或则去看懂、研究透别人编写的程序对于我们打好基础是非常有利的。让我们怀着对java的一腔热情,用自己的刻苦努力去把java学好。将来,用自己的成绩去回报有恩于我们的社会、家人和朋友。

java程序设计教学大纲篇四

java编程心得

计算机3班

窦金霞

20104773

最近几周一直在弄程序,说实话真的很累,但累中也有成功的快乐。我觉得学到了很多东西,这是只看课本知识所不能学到的。

说实话,以前我一直没学过java虽然我也知道java的重要性,可是即使上课听了,不实践还是掌握不了。因为种种原因,今年我没有买笔记本。没有机器,仅仅靠每周一次的上机练习是绝对不够的。所以我就插空调程序,在舍友们不用的时候自己再接她们的电脑调。

调上一个web版的通讯录程序时我已经感觉到学的很吃力,好多东西都不懂。这次做的这个学生成绩管理系统更复杂了,所以一开始调的时候感觉特别吃力.所以我告诉自己不能放弃,慢慢来,就这样我从最基本的sql语句session对象开始学起,我觉得我还有太多不懂得所以要比别人付出更多的努力。就这样我一点一点的学着„„

说心里话,在做上一个web版的通讯录时,我就感觉到成功的喜悦。好多地方我都是一点一点的问的,在问的过程中,我也学会了很多,像:servlet和jsp之间跳不过去时有两种解决办法,;二是将servlet中的throws exception改成try catch以捕捉异常;我还学到了集中查找错误的方法,可以加上两个双斜杠“//”将具体的方法屏蔽掉,一检查是方法错误还是servlet错误,n()将获得的数据输出,用来检查数据传输过程有没有错误等等。

虽然在别人看来,这些方法可能都很常规,但是确实我自己学会的,我觉得很有成就感。我已经做好计划了,暑假的时候去买本本用自己的本本练习一下java,虽然下学期不学java了,但是我对java的热情不会因为这个而削减的!

做完这个学生成绩管理系统后,我觉得我对java的看法已经改变了。一前总以为java很繁琐很难,听同学说java不好学,开始又有一些听不懂,所以一直很畏惧java。但真正做了这个系统以后我才感觉到其实任何事都没有难与不难之分,只要你肯努力的去做,世上无难事只怕有心人!

我现在对java学习充满了热情,我知道我还有很多的不足

还有很多需要努力的地方,所以我的java之旅将继续进行„„

java程序设计教学大纲篇五

《jav程序设计》教学大纲

一、课程性质与教学目的

课程性质:《java程序设计》是计算机软件技术专业的一门职业技术课程,本课程主要讲述当前非常流行的面向对象程序设计的基本知识和编程思想,为学员建立初步的面向对象程序设计的基本知识体系结构,为以后的就业打下坚实基础。

课程目的:让学生真正掌握面向对象程序设计技术,使用 awt和swing包开发图形用户界面和事件驱动的程序,并能从事java applet小应用程序及网络通信等程序的开发。理解java多线程概念,并可以利用多线程技术开发相应程序。能够以面向对象的角度思考和设计小型应用程序。初步具备一个优秀的软件开发人员所应有的基本能力。

参考书目:1.《java语言基础教程》刘其成等编石油大学出版社

2.《java语言及应用》张为民 等编 清华大学出版社

二、基本要求

本课程有三部分组成:理论教学50学时+实验教学50学时+项目实战240学时。

学完本课程后,对于一般问题,学生应能够独立地进行相应的程序设计,并熟练地运用面向对象方法,在java语言的环境下进行程序的编辑、调试运行,得出正确的结果。学习完本课程应该基本具备如下知识和能力:

1.利用java支持的多种布局管理开发图形用户界面(gui),并使用java语言的事件委托机制开发gui应用程序;

2.掌握面向对象编程的基本思路和知识,能在具体实际中运用面向对象思想考虑问题; 3.掌握java的多线程机制;

4.初步掌握jdbc-api的基本知识,并能够开发有一定规模的数据库管理系统; 5.掌握了初步的java网络编程技术,能利用sockets机制进行网络通信软件的开发; 6.理解并掌握applet的原理,能够开发简单的applet程序; 7.掌握java的异常处理机制,能开发容错性良好的程序; 8.掌握初步的jsp知识,能够编写简单的jsp应用程序;

9.了解设计模式的基本知识,能够在程序设计中引用简单的设计模式。10.小型软件设计开发能力。

三、教学内容 1.java语言概述

1)了解java语言的历史与现状。

2)掌握java虚拟机的概念。

3)掌握java语言的安全性、跨平台性特点;了解java applet和java类库。

4)了解常见的java开发工具。

5)掌握java application程序结构、开发过程,了解java applet结构。2.java编程基础

1)掌握标识符的定义规则。

2)掌握表达式的概念、组成。

3)掌握数据类型的划分,简单数据类型的概念。

4)掌握布尔型常量、字符型常量、整型常量、浮点型常量、字符串常量。

5)掌握变量的概念、声明、有效范围、赋值、类型转换。

6)掌握算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、运算符的优先级和结合性。

7)掌握注释语句的作用,//和/* */的使用。3.java的控制结构

1)掌握条件语句if(if-else-if)、多分支语句switch的结构和程序流程,编写相应的程序;了解分支语句的嵌套。

2)掌握while语句、for语句的结构和程序流程,编写相应的程序;了解do-while语句,循环的嵌套。

3)了解continue语句、break语句的用法。4.方法

掌握方法的定义及使用 5.数组合字符串

1)掌握一维数组的概念、定义,静态数组初始化,数组元素的引用。

2)掌握string和stringbuffer类的使用。6.面向对象编程

1)掌握类声明,类体(变量和方法)的定义,构造函数的概念和定义。

2)掌握对象的生成,变量和方法的引用,方法参数的传递,构造函数的引用。7.类的封装、继承和多态

掌握继承关系的定义,成员变量的继承和隐藏,方法的继承、重载和覆盖;了解this和super。8.接口和基本类库

1)掌握接口的基本概念,接口的实现。

2)了解常用的java类库 9.异常处理

1)了解编译错误、运行错误。

2)掌握异常处理机制概念。

3)掌握try-catch结构;了解finally。10.图形用户界面

1)掌握窗口的创建。

2)掌握绘制图形、显示文字、控制颜色、显示图像的方法。

3)掌握常用组件及其事件处理(label、button、checkbox、checkboxgroup、textfield/textarea、choice、list、frame)以及flowlayout、borderlayout、gridlayout以及null布局。11.多线程机制

1)了解基本概念(程序、进程、线程)。

2)了解实现多线程的两种方法:创建thread类的子类和实现runnable接口。

3)线程的同步和互斥。12.输入/输出处理

1)了解流的概念,输入/输出流层次。

2)了解文件与目录管理,文件的顺序处理和随机访问。13.applet

1)了解html文件作用与结构。

2)掌握applet基本工作原理。

3)掌握applet程序结构与开发过程,applet的创建,生命周期与绘图周期,与html文件协同工作及参数传递。

4)了解applet和浏览器之间的通信。

5)掌握applet 中的标准组件、图形/文本/颜色控制、图像显示、声音播放。14.jdbc技术

了解并掌握如何使用java语言编程实现对数据库的管理(建表、插入记录、条件查询等)。15.网络编程

了解并掌握初步的java网络程序设计。

四、学时分配 章次 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

五、项目实战 章名 java语言概述 java语言基础 java控制结构

方法 数组与字符串 面向对象程序设计 类的封装继承多态 接口与基本类库 异常处理 gui设计 多线程机制 输入/输出处理 applet基础 jdbc技术 网络编程 总计

学时分配

合计 4 4 4 4 8 8 4 8 4 12 8 4 8 12 8 100

讲授 2 2 2 2 4 4 2 4 2 6 4 2 4 6 4 50

实验 2 2 2 2 4 4 2 4 2 6 4 2 4 6 4 50

上机

实践

习题

考核

机动

八周的项目实战,主要的目的就是培养学生简单java项目的开发能力。使其对小型的java项目开发流程,开发方法和工具有一个实际的了解。通过小项目的设计开发进一步巩固所学的基础知识。在作为实战教材的《java高级开发指南与项目实战》中,我们增加了swing技术、设计模式、uml、集合类和java编程规范的内容,并通过一个简单的数据库管理系统介绍了java项目开发的基本过程。

具体项目实战的安排如下:

java项目实践为期八周,每人一题,每个题目只给出总体要求,相关资料和知识由学员自己搜集整理学习。每周5天,每天6学时(上午4学时,下午2学时),共计240学时。具体安排如下:

序号 1 2 3 4 5 6 7 8 总计

六、实验(上机)

一)、java实验一:jdk开发工具 1.实验目的

1)熟悉jdk开发环境。

2)熟悉jcreator编辑器的使用。

3)掌握java application的程序结构和开发过程。

4)了解java applet的功能与程序结构。

内容

动员,开题并完成开题报告 调研,查找资料,并完成需求规格说明书

概要设计,并完成概要设计说明书 详细设计,并完成详细设计说明书

程序实现,编码阶段

系统测试,并设计测试用例及测试报告 项目扫尾工作,并完成项目总结报告

项目验收

学时 6 24 30 30 60 30 30 30 240 2.实验要求

1)jdk开发环境

2)jcreator编辑器

3)掌握java application程序开发过程

4)了解下面的java applet的程序结构和开发过程。3.项目及学时分配:2学时

4.实验考核:100分(jdk环境熟练程度50分、application与applet程序运行50分)二)、java实验二:java语言基础 1.实验目的

1)掌握标识符的定义规则。

2)掌握表达式的组成。

3)掌握各种数据类型及其使用方法,熟悉自动转换与强制转换的含义。

4)理解定义变量的作用,掌握定义变量的方法。

5)掌握各种运算符的使用及其优先级控制。2.实验要求

1)掌握变量定义与数据类型。

2)掌握算术运算。

3)掌握关系运算与逻辑运算 3.项目及学时分配:2学时

4.实验考核:100分(正确用数据类型定义变量30分、能熟练使用关系运算符和逻辑运算符70分)三)、java实验三:控制结构 1.实验目的

1)掌握if语句、if-else-if结构的使用。

2)掌握switch语句的使用。

3)掌握使用while语句实现循环。

4)了解使用do-while语句实现循环。

5)掌握使用for语句实现循环。

6)了解continue语句和break语句的使用。2.实验要求

1)使用简单if语句编程,从键盘键入三个整数,然后按照从小到大的顺序将其输出。

2)分别使用if-else-if语句和switch语句编程,确定某一月在哪个季节。

3)分别使用while、do-while和for语句编程,求1~100的和。

4)使用continue语句实现:将100~300之间的不能被3整除的数输出。

5)使用break语句实现记数:从1~100,当数到78时程序终止。3.项目及学时分配:2学时

4.实验考核:正确使用控制结构,程序运行正确无错误。四)、java实验四:方法 1.实验目的

1)掌握方法的概念和创建。

2)掌握方法的参数传递。2.实验要求

1)利用递归算法实现汉诺塔问题的求解。

2)编辑程序要求参数a、b、c由键盘输入。即先打印“本程序求方程ax^2+bx+c=0的根!”,然后依次提示“请输入参数a:”、“请输入参数b:”、“请输入参数c:”,最后计算结果。

3)编写一个方法用于计算n个数中取m个的组合数,并用该方法输出杨辉三角。3.项目及学时分配:2学时 4.实验考核:100分(每题50分)五)、java实验五:数组 1.实验目的

掌握一维数组的概念、定义和使用。2.实验要求

1)编写一个程序,通过屏幕提示输入二维数组的行列个数(假设是方阵),然后提示依次输入各个整数元素(一个元素一行,),然后编写三个方法分别求数组的每行最大值、每列最小值以及将数组主对角线元素成绩;

2)编程实现fibonacci数列;

3)编程采用冒泡法实现对数组元素由小到大排序。3.项目及学时分配:2学时

4.实验考核:100分(正确解决所给题目)六)、java实验六:类和对象的创建和使用 1.实验目的

1)掌握类的声明。

2)掌握对象的创建。

3)掌握方法的定义和调用。

4)掌握构造函数的使用。2.实验要求

1)创建5个学生对象给一个学生数组赋值,每个学生属性有:学号、姓名、年龄。

(1)将学生按学号排序输出;

(2)给所有学生年龄加1;

(3)统计大于20岁的学生人数。

2)编程创建一个point类,在其中定义两个变量表示一个点的坐标值,再定义构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。并创建一个对象验证。

3)定义一个类实现银行帐户的概念,包括的变量有“帐号”和“存款余额”,包括的方法有“存款”、“取款”和“查询余额”。定义主类,创建帐户类的对象,并完成相应操作。3.项目及学时分配:2学时

4.实验考核:100分(题目1 20分、题目2 40分、题目3 40分)七)、java实验七:类的封装 1.实验目的

1)掌握类的继承方法。

2)掌握变量的继承和覆盖。

3)掌握方法的继承、重载和覆盖。2.实验要求

1)制作一个类person,有三个字符串变量肤色、发色、姓名(变量名自己定义),有两个方法吃和住(方法名自己定义),自己决定如何封装;

2)借助上面的people类,再编写两个子类中国人、欧洲人,分别增加一个变量:语言,以及一个方法tostring用于输出对象信息。3.项目及学时分配:2学时

4.实验考核:100分(题目1 40分、题目2 60分)八)、java实验八:接口和基本类库 1.实验目的

1)掌握接口的实现方法。

2)掌握常用类库的基本使用方法。2.实验要求

1)制作一个接口animal,有三个方法吃、睡和外部特征(方法名自己定义);

2)编写两个类人、老虎,分别实现animal接口。3.项目及学时分配:4学时

4.实验考核:100分(能正确定义及使用接口和常用类)九)、java实验九:异常处理 1.实验目的

掌握异常的概念以及如何定义、抛出和捕捉处理异常。2.实验要求

1)理解异常的抛出、捕捉与处理。

2)理解异常类的常用方法的使用。3.项目及学时分配:2学时

4.实验考核:100分(能否捕捉异常 50分、能否正确使用异常类方法 50分)十)、java实验十:java绘图 1.实验目的

1)掌握简单窗口的创建。

2)掌握绘制图形、控制字体和颜色、显示图像的方法。2.实验要求

1)建立一个最简单的空白窗体。

2)编辑一个小程序,显示一个半径为150的圆内接五角星(要求正放,不可以偏),要求圆为黄色填充,五角星为红色,背景为蓝色,在图片的正下方显示文字“圆内接五角星”,字体为楷体12号,白色,在下方画一个边框为5,长300,高180的红色矩形。

3)编程显示图像文件。3.项目及学时分配:2学时

4.实验考核:100分(题目1 20分、题目2 60分、题目3 20分)十一)、java实验十一:gui标准组件及事件处理 1.实验目的

掌握常用gui控制组件及其事件处理。2.实验要求

1)在应用程序窗体中安排1个文本框,一个标签。在文本框输入一个数字(0-9),按回车键,在标签处显示对应的英文单词。0---zero,1---one,.....。

2)编辑一个小程序,界面上加入一个标签,显示内容为你的姓名和班级,并注明是x月xx日作业,在标签下面增加列表、两个单选框(控制列表是否为多选状态),一个文本框,三个按钮,分别控制将文本框的内容加入列表、删除、删除全部列表内容,当选择列表时,按照当前状态(是否多选),在文本框中显示用户选择的列表内容。再加入一个文本区,用来显示用户操作的过程,比如:您输入了文字xxx,您单击了加入按钮等。

3)实现一个简单的图像浏览器,部署“上一张”、“下一张”两个按钮,点击按钮可前后翻阅图片。

4)仿照记事本的gui编写一个java简易记事本程序。只要菜单及界面,具体功能除[退出]外均不用实现。

十二)、java实验十二:多线程机制 1.实验目的

1)线程的概念、线程的生命周期。

2)多线程的编程:继承thread类与使用runnable接口。

3)使用多线程机制实现动画。2.实验要求

1)理解用创建thread子类的方法实现多线程。

2)理解用实现runnable接口的方法实现多线程。

3)利用多线程编程实现一个正在旋转的地球。3.项目及学时分配:4学时

4.实验考核:100分(能否对thread子类正确使用 20分、题目完成 80分)十三)、java实验十三:输入输出流 1.实验目的

1)了解流式输入输出的基本原理。

2)掌握类file、fileinputstream、fileoutputstream、randomaccessfile的使用方法。2.实验要求

1)编写一个程序实现任意文件的拷贝功能,源文件和目的文件名由命令行参数提供。

2)设计一个图形界面的文本文件查阅工具,在窗体中安排一个文本域和一个按钮,文本域用来显示文件的内容,点击打开按钮将弹出文件选择对话框,从而可以选择要查看的文件。3.项目及学时分配:2学时

4.实验考核:100分(题目1 40分、题目2 60分)十四)、java实验十四:applet 1.实验目的

1)掌握java applet程序结构和开发过程

2)了解applet运行机制

3)学会编写applet对应的html文件,掌握从html文件向applet传递参数的方法。

4)了解applet与浏览器的通信。

5)掌握在applet图形界面设计。2.实验要求

1)java applet程序开发过程

2)制作一个applet,要求传入四个参数,分别表示操作数类型(如整数、浮点数等)、两个操作数以及一个操作符。applet接收到参数后,按照参数类型和操作符计算两个操作数的值。

3)编写applet,显示heep://的页面内容。

4)编写applet,包含一个文本框和一个按钮,单击按钮时,在浏览器的状态行显示文本框中的内容。

5)编写applet播放两段音乐,一段是连续播放的背景音乐,一段是独立的整段音乐。3.项目及学时分配:4学时

4.实验考核:100分(题目2 30分、题目3 20分、题目4 30分、题目520分)十五)、java实验十五:jdbc技术 1.实验目的

1)了解jdbc的概念和工作原理。

2)掌握使用jdbc实现简单的数据库管理。2.实验内容

1)配置odbc数据源。

2)建立一张表book,字段有:id int(4)bname string(20)bauthor string(10)bvalue float

3)编辑一个程序,对该表进行记录插入,程序运行后,如果表中没有数据,则显示:表中没有记录!是否添加(y/n)?,如果选择y则分别要求输入各字段,输入完毕后,更新表,并显示所有记录,继续询问是否添加,直到用户输入n后退出系统。

4)编写程序,在“book”表中分别查询所有记录以及满足条件“ bvalue>10”的记录。

5)设计删除记录模块。3.项目及学时分配:6学时

4.实验考核:100分(题目1 10分、题目2 20分、题目3 20分、题目4 50分)十六)、java实验十六:网络编程 1.实验目的

1)了解并掌握socket的概念和工作原理。

2)掌握使用socket实现简单的网络程序的设计。2.实验内容

1)制作一个相互控制的applet程序,要求applet1也可以将文本框中的内容写到applet2中,但不要按钮,要求输入内容后回车写入applet2。

2)设计一个两个客户通讯的程序。3.项目及学时分配:4学时

4.实验考核:100分(题目1 40分、题目2 60分)

实验项目及课时分配

章 次 实验一 实验二 实验三 实验四 实验五 实验六 实验七 实验八 实验九 实验十 实验十一 实验十二 实验十三 实验十四 实验十五 实验十六 章 名

学时分配

实验项目

jdk开发工具 java语言基础 控制结构 方法 数组与字符串

类和对象的创建和使用 类的封装 接口和基本类库 异常处理 java绘图

gui标准组件及事件处理 多线程机制 输入输出流 applet jdbc技术 网络编程 总计

七、课程的重点、难点和深广度

1、重点

1)java语言基础

2)面向对象构件

3)applet基础

4)多线程

5)jdbc技术

2、难点 2 2 2 4 4 2 4 2 2 4 4 2 4 6 4 50

学时分配

备注

1)面向对象编程思想

2)多线程机制

3)输入/输出处理

4)jdbc技术

3、深广度

1)网络应用

2)jdbc技术

八、说明与建议

1.该课程实践性较强,需要学员多作练习

2.主持教师需要有比较熟练的编程经验,对jdk1.x比较熟悉

3.针对所留习题,可以组织两到三次讨论,以便学员掌握面向对象编程的基本思

热点推荐

上一篇:2023年农民工培训现状与问题分析 农民工培训工作(五篇)

下一篇:最新人人讲安全 个个会应急征文范文800字