java编程可以自学吗优质(5篇)

格式:DOC 上传日期:2023-05-24 07:04:31
java编程可以自学吗优质(5篇)
时间:2023-05-24 07:04:31     小编:cyyllee

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。

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 说『write once,run anywhere』

但还有人说 『write once,debug anywhere』

有人说他语法简单,功能强大。

可也有人说与许多新兴语言相比,他有些细节上的不足。

所以,java 对你来说究竟是什么?

你可曾想过,学习java编程之后,你就只能做java程序员吗?其实。。

学习java编程可以往很多方向发展

java的应用非常广,有erp等大型系统方面的,有web方面的,还有游戏方面的。作为小白,你需要从java初级学,然后中级,之后你还需要再学习更多的技术,这些技术不仅仅局限于java,如js和数据库等,当你对整套技术都非常精通时,你便是一个真正的高级工程师,而java则只是你所掌握的主要技术之一罢了。

做软件测试是一个方向

不少人学到java se基础阶段,可能往软件测试方向发展,这个时候参与具体的编码工作不会那么多,主要要做的工作是对软件产品的需求文档、设计文档等检查是否有歧义,对软件产品本身的功能、性能通过运用专业的软件测试技术以及工作去发现软件产品中隐藏的软件问题。

转android开发是一个方向

android是主流智能手机的操作系统,java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择。学android从事移动互联方向开发,学java从事软件、网站开发。而安卓上的应用大多是java编写的,所以学习了java编程,转android开发也是可以的。

转web前端开发、php开发、大数据。。

其实,java对你来说,不过是众多恋人之一,作为初恋,她打开了你学习编程的大门。至于以后你是从事前端开发,或php开发,亦或android开发,甚至搞大数据、数据库,这些都是互不干扰的。

你的程序猿生涯,从踹开java大门开始 围观知了堂java大咖竹迩【提神的咖啡】

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 课程设计开云官网app下载安装手机版 ………………………

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高手[tomjava原创]

很多网友问我学习java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!

要想学好java,首先要知道java的大致分类。我们知道,自从sun推出java以来,就力图使之无所不包,所以java发展到现在,按应用来分主要分为三大块:j2se,j2me和j2ee,这也就是sun one(open net environment)体系。j2se就是java2的标准版,主要用于桌面应用软件的编程;j2me主要应用于嵌入是系统开发,如手机和pda的编程;j2ee是java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和erp系统。j2se开发桌面应用软件比起vc,vb,dephi这些传统开发语言来说,优势好象并不明显。j2me对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是j2ee了。j2ee又包括许多组件,如jsp,servlet,javabean,ejb,jdbc,javamail等。要学习起来可不是一两天的事。

那么又该如何学习j2ee呢?当然java语法得先看一看的,i/o包,util包,lang包你都熟悉了吗?然后再从jsp学起。如果你学过html,那么事情要好办的多,如果没有,那你快去补一补html基础吧。其实jsp中的java语法也不多,它更象一个脚本语言,有点象asp。然后你就该学一学servlet了。servlet就是服务器端小程序,他负责生成发送给客户端的html文件。jsp在执行时,也是先转换成servlet再运行的。虽说jsp理论上可以完全取代servlet,这也是sun推出jsp的本意,可是servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下javabean了,可能你早就看不管jsp在html中嵌java代码的混乱方式了,这种方式跟asp又有什么区别呢?还好,sun提供了javabean可以把你的jsp中的java代码封装起来,便于调用也便于重用。接着就是ejb了,ejb就是enterprise javabean,看名字好象它是javabean,可是它和javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的weblogic,websphere这些j2ee服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于jdbc,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用java编发送电子邮件的程序,你就得看看javamail了。

好了,对java和j2ee有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接ctrl+c再ctrl+v,也不用劳您老大架再亲自把它再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的java编程文章,有好的文章要cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的java方面的编程网站:

csdn论坛 http:///那里java资料比较全;

://.cn/看这域名就知道有多牛,注册用户快接近一万了,同时在线人数也在一千左右,人气很旺的;

ibm的开发者网络http://ibm永远的蓝色巨人;

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些

凭空想出来的程序。所以你快去找一份java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他还愿意不厌其烦地教你,这样好象有点难哦!

还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。学java必读的两个开源程序就是jive和pet store.。jive是国外一个非常著名的bbs程序,完全开放源码。论坛的设计采用了很多先进的技术,如cache、用户认证、filter、xml等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的jive版本—j道。jive(j道版)是由中国java界大名鼎鼎的banq在jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站http:///去下载,或到同济技术论坛的服务器上ftp://去下,安装上有什么问题,可以到论坛上去提问。pet store.(宠物店)是sun公司为了演示其j2ee编程规范而推出的开放源码的程序,应该很具有权威性,想学j2ee和ejb的朋友不要错过了。

你一定会高兴地说,哈哈,原来成为java高手就这么简单啊!记得tomjava也曾碰到过一个项目经理,号称java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是tomjava泼你冷水,你现在只是学到了java的骨架,却还没有学到java的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体“技术”,它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。关于设计模式的资料,还是向大家推荐banq的网站http:///,他把gof的23种模式以通俗易懂的方式诠释出来,纯java描述,真是经典中的经典。有时间再研究一下mvc结构(把model-view-control分离开的设计思想)吧,现在很流行的structs就是它的一种实现方式,不过structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的mvc结构。然后你再研究一下软件refactoring(重整)和极限xp编程,相信你又会上一个台阶。

做完这些,你不如整理一下你的java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧,你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以money就哗啦啦的来了。。。当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用cvs合作开发,用qq,msn,e-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

下面介绍两个好的开源项目网站:

湖北省软件公共开发平台http:///

共创联盟http:///

哇,好高兴哦,我终于成为高手了!非也,非也。古人云:“识时务者为俊杰”。你知道计算

机界现在的发展形势吗?蓝图和sun one计划之间的明争暗斗吗?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“web服务将是下一代互联网应用的制高点”,蓝图和sun one计划的斗争焦点,也就是web服务。web服务就是一个崭新的分布式计算模型,它是一系列标准的综合(xml,soap,uddi,wsdl和wsfl等)。它使得不同语言编写的软件能够轻易的集成起来,使网络资源和web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,定好房间等。请注意,这所有的一切都是web站点间自动完成的,再也不用象现在一样,表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过就近的说,你也很有可能承接一个项目,要集成两个企业的erp系统。很有可能上游企业的系统是用dephi编的,而下游企业的系统是用java编的。你说你是java高手,大家都看者你怎么做呢。所以啊,你还得学习新技术,如web服务,而且你dephi也要懂一点吧(dephi6现在已经提供web服务的控件了)。你编的java系统,集成,要懂一点吧?到最后,你可能发现你已经成为java高手了,但很多时间却在搞别的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!

因为刚刚兴起,所以网上web服务的资料不是很多,我还是给大家推荐几个网站吧: 中国uddi技术联盟http:///developerworks/cn/xml/?csdnibm可是web服务的力推者

呜„你费劲千心万苦,总算成为java高手了,怎叫人不由喜极而泣呢!是啊,真不容易,真不简单,真叫人感动啊!那么打个电话告诉我吧,什么?我的电话号码是多少?昏到,你打电话问不就知道了吗,真是的„„

java编程可以自学吗篇五

1.第一阶段 掌握要点:java语基础知识。包括异常、io流、多线程、集合类、数据库。

(切记基础知识一定要时时刻刻巩固)eg:java编程思想、java2 核心技术

2.第二阶段掌握要点:tomcat,毋庸置疑,tomcat为学习web服务首选。而应用服务器

目前主要有:jboss , ere.而tomcat和jboss是首选。

3.第三阶段掌握要点:java网络编程。包括:socketrmlhtmljspjavabean

servlet.开发工具:myeclipsedreamweaver顺序:

1、学习web 知识:htmldreamwavejavascript2、先学习jsp设计、javaservlet编程

3、学习jdbc数据库编程

4、学习,他和学习ejb可以结合起来《《精通ejb》》学习ejb设计模式和看代码(最重要)《jsp2.0 技术手册》 在jsp上不要花太多时间,在时间放在servlet多一些

4.第四阶段 掌握要点:流行mvc 架构和java对象持久化技术。包括struts

springhibernate jsf.学习过程:先学struts,再学习hibernate,最后学习spring

【本文地址:http://www.pourbars.com/zuowen/2997339.html】

全文阅读已结束,如果需要下载本文请点击

下载此文档
Baidu
map