文档库 最新最全的文档下载
当前位置:文档库 › 新手如何学习java(java学习建议路线图)

新手如何学习java(java学习建议路线图)

新手如何学习java(java学习建议路线图)
新手如何学习java(java学习建议路线图)

怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:

首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java,适合企业的大型应用开发。

J2SE:

新手最初学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。

重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等

难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等

视频教程推荐:孙鑫的Java基础视频教程、张孝祥的Java基础视频教程,讲的都很细,而且这两位老师在教学方面都有很好的经验。

J2EE:

在学习了J2SE之后,你可以尝试着慢慢过渡到J2EE,当然,学习J2EE海需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等等,待会我会详细介绍这两方面的内容。J2EE有三个必学的框架,如果你说你学了J2EE,但又不会这三个框架的话,那会让人笑掉大牙,这三个框架分别是Struts、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE,J2EE还有很多其他的东西,比如EJB,作为一款重量级(此重量级不是指重量级选手那个意思,此重量级非彼重量级)框架,虽然这个应用慢慢的再被其他框架所取代,但EJB3.0的出现也给它带回一些生机,作为一个分布式应用的框架,也是大家要去学习和了解的知识。

当然,刚才说到J2EE包含的范围很广,即使我把我所了解的所有技术说出来,也并不能代表J2EE,这是一个很深很广的学问,需要大家以后再工作的时候慢慢去发现了。我所了解的还包括:

JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已JNDI: Java 命名与目录接口,J2EE重要规范之一

EJBS: 上面已经提到过了

RMI: 提供远程调用方法的支持,主要用于程序分布式开发

JMS: Java消息服务,中间件技术

JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术

JTS: 组件事务监视器

JTA: 事务划分的一个技术

JAVAMAIL: Java中的邮件技术

JAF: Java启动框架,没研究过

Log4j,一款日志处理的框架应用

Junit:单元测试的好帮手

freemarker、velocity:两款不错的模板引擎

与Flash的交互Flex:目前很多的SNS应用就是使用到了这个技术

Web services:想知道我们论坛天气预报的效果是怎么做的吗?请关注这个技术SOA:面向服务架构,未来技术发展的趋势之一

……

不过前面介绍到得这些都不是J2EE的基础,是属于框架应用级别的.要真正把上面说到的知识掌握好,还是的学习J2EE最核心的东西:JDBC、JSP、servlet和JavaBean,后面三个也是学习SSH的基础(Struts\Spring\Hibernate的简称).鉴于J2EE的内容太过复杂,建议大家最初只学习: JSP,servlet和JavaBean,等这个基础掌握好再把SSH学习了,再对其他J2EE技术有个大致的了解就可以出去找工作了。当然,找工作的前提除了把Java学习好,还会有一些其他的技术也是必须要掌握的。

-_- 我很简单,Java却要求我学这么多复杂的东西。除了这些技术的东西,在这阶段,大家更多的是会接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例模式等等,还要学习建模思想(比如UML建模等等)和软件生命周期等等。这些是升华大家编程思想的手段和途径。

数据库技术:

数据库几乎是程序中不可或缺的一部分,在整个软件开发中更是占据了重要作用.数据库在整个软件中扮演的是地基的角色,你要修房子,就要先打好地基,你要做软件,就要先设计好的数据库.目前数据库几乎都是关系型数据库,代表的有:

SQL Server/MySQL---不建议学这个没有多大意义。

ORACLE.甲骨文公司的产品,大型数据库,正版的一般公司买不起.只有看看了,不过现在Java开发60%都是会使用到这个数据库,再加上现在甲骨文已经把sun公司收购了,JAVA和ORACLE得关系更加暧昧,各位得多花些时间在这上面了.

除了这些,你还应该了解一些桌面应用软件开发用到的数据库,比如说sqlite。你在制作安装程序的时候可以把这个数据库打包进你的安装程序。

网页编程基础:

网页编程基础要学的内容也比较多,但主要集中在以下这三个技术之上,大家每天看的各种样式的网页都是它们呈现的:

HTML:超文本标记语言

CSS:层叠样式表

Javascript:浏览器客户端脚本语言

现在更是流行各种JavaScript库,比如:Jquery、ExtJs等,你要是会其中的某一个库的使用,找工作so easy。

J2ME:

如果你在学习了以上技术还不过瘾,可以再学习手机程序的开发,就我个人看来,开发手机程序技术其实蛮简单的,难点在于优化,比如怎么让你写的程序尽量的节约手机资源,“代码诚可贵,手机价更高“,所以不得不比PC机多考虑很多成本和实用性问题。J2ME的学习的话,切忌不要单纯的再模拟器上测试,一定要找真机测试,真机和模拟器的效果之间差别是很大的。更多手机开发技术,有兴趣的朋友可以和我一起探讨。

开发工具:

开发工具的选择主要还是看大家的习惯,我个人比较喜欢使用eclispe,功能很强大,也很好拓展其他的功能。当让初学你也可以选择JCreator,或者最好就直接用记事本。等你熟悉了Java代码之后,就可以使用JBuilder、eclispe或者netbeans这一类的工具了。

先说到这里先,以后大家一起完善这个帖子。尽量再给大家整理一些学习的资源在这里。也欢迎大家一起整理我文章中提到的一些技术资源和开发工具。最后,再和大家分享一句话:生命欣欣向荣,唯奋斗不息。也和大家分享一幅Java学习路

线图:

Java入门基础代码

例1-1 DoubleVariableDemo.java class DoubleVariableDemo{ public static void main(String args[]){ double dRadius=2.0d; double dArea=Math.PI*dRadius*dRadius; System.out.println("半径为2的圆的面积:"+dArea); } } 例1-2 BooleanConstantDemo.java class BooleanConstantDemo{ public static void main(String args[]){ final boolean BFLAG=true; if(BFLAG) System.out.println("Always Print Out Me!"); else System.out.println("Never Print Out Me!"); } } 例1-3 DecisionDemo.java class DecisionDemo{ public static void main(String args[]){ short x=1,y=2,z; // 错误代码 // z = x + y; // 正确代码 z=(short)(x+y); System.out.println(z); } } 例1-4 IntegerConstantDemo . java class IntegerConstantDemo{ public static void main(String args[]){ final byte nMaxValue_1=100; final short nMaxValue_2=200; final int nMaxValue_3=300; final long nMaxValue_4=400; System.out.println("整数常量的nMaxValue_1值"+nMaxValue_1); System.out.println("整数常量的nMaxValue_2值"+nMaxValue_2); System.out.println("整数常量的nMaxValue_3值"+nMaxValue_3); System.out.println("整数常量的nMaxValue_4值"+nMaxValue_4); // nMaxValue_1 = nMaxValue_1 + 1; 不能更改常量的值

java初学者学习心得

学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并且有自己的老师讲解,还有了上机的机会,比自己自学省事多了,于是鼓足信心,开始了漫长的java征途。 还记得我编写的第一个经典程序“hello W ord”。从那时起我已开始走进Java的世界。当时自己不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?问了好多同学,他们告诉我的答案是一样的“java本身要求就是这样子的”,但我自己不甘心,就进行了下面的好多操作:把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;把main的public取掉,在试试看,报什么错误;static去掉还能不能运行;不知道main方法是否一定要传一个String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。结果把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么了main方法是这样定义的了。接着在以后的学习中我也采用这样的方法解决问题,却发现自己的速度比别人慢了好多,我就把自己的课余时间也分一部分给了java。因为基

础是最重要的,只有基础牢固才有可能对后面的学习有更加深刻的认识! 学习一门新的语言,参考书是离不开的。听老师说订的教材偏难,不适合我们初学者,于是我在图书馆借了参考书(一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等)。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。 在学习Java的语法时,Java的语法是类似c语言的,所以学习的比较轻松。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,和同学一起讨论了好久才得以解决。 在学习Java的面向对象的编程语言的特性。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C语言的经验,花了很长时间,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了很多遍,才彻底领悟了。 开始熟悉Java的类库。基础类库里面的类非常非常多。据说有3000多个。但是我真正使用的只有几个,比如说java.io.*; java.util.*; java.sql.*;等。

作为一个新手java程序员该如何成长

作为一个新手程序员该如何成长? 引言 “哦,天那。相比其他开发者,我又笨又没准备。老板会知道我是多么无能,我要被炒鱿鱼了。” 这种想法,在我们作为一名软件开发人员刚进入工作领域的时候,非常常见。我也不例外。这种想法会让人觉得自己不如其他的开发者,感觉自己是滥竽充数的,感觉自己像一个全面的傻瓜,当涉及到写代码的时候。 在短短的几个月后,我第一次获得一份真正编程工作的兴奋——改善和维护一个基于web 的研究平台——终于变成了绝对的恐惧,那些消极负面的想法在我的脑海里不断地涌入。即使在我去了更大节奏更快的组织机构,以及之后终于开创了我自己的企业,这些想法也在不断地蚕食我。 我总是觉得自己写的每一行代码都那么笨重,低效,如果展示给任何其他有才干的开发者看绝对会被批判得体无完肤。我感觉自己很笨,他们发现这一点不过是时间问题。 听起来很熟悉?如果你有我这种想法,有绝大多数软件开发者都有的这种想法,很大的可能是会惶惶而不可终日。 下面我要介绍一些我发现的有助于,你作为一个初出茅庐的开发人员,提升你自己和你的职业生涯前景的关键策略,并在推动职业发展时保持一种健康的心态。 作为一个初出茅庐的开发人员提升自己和职业生涯前景 无论你是正在找你的第一份工作,还是盯上了潜在的晋升,在一定程度上你都需要与其他的开发者竞争。为了确保你能从中脱颖而出,这里有一些关键的步骤可以帮助你迈向成功。 1.找一种你喜欢用到工作中的语言。 要成为一个更优秀的程序员,需要定时经常性地练习编程并用不同的语言和技术扩宽你的经验,但是语言是如此之多,很多时候你不知道从哪里开始,也不知道该选择什么语言才最适合你要解决的问题风格。

Java初学者

总结 1. 用记事本编写程序输出“HelloWorld” public class B1{ public static void main (String[] args) { System.out.print("hello world");}} 2. 结合\n,\t,空格等,在控制台输出下图所示效果。 public class B1{ public static void main (String[] args) { System.out.print("日\t一\t二\t三\t四\t五\t六\n\t\t \t1\t2\t3\t4\n5\t6\t7\t8\t9\t10\t11\n12\t13\t14\t15\t16\t17 \t18\n19\t20\t21\t22\t23\t24\t25\n26\t27\t28\t29\t30\t31"); }} 3. 结合\n,\t,空格等,在控制台输出下图所示效果。 public class B1{ public static void main (String[] args) { System.out.print("*************************\n\t人事管理系统\n\t1.添加用户\n\t2.管理用户\n\t2.退出系统");} } 4. 结合\n,\t,空格等,在控制台输出下图所示效果。 public class B1{ public static void main (String[] args) { System.out.print("*********\n*******\n*****\n***\n*");} }

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

java初学者48个小例子

【程序 1】 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println(" 第 1 个月的兔子对数: 1"); System.out.println(" 第 2 个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println(" 第" + i +" 个月的兔子对数: "+f2); } } } 【程序3】 题目:打印出所有的"水仙花数",所谓" 水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个" 水仙花数",因为153=1 的三次方+ 5 的三次方+ 3 的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) { b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) { System.out.println(m+" 是一个水仙花数"); } } } } 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90 分的同学用 A 表示,60-89分之间的用 B 表示,60分以下的用 C 表示。 import java.util.*; public class lianxi05 { public static void main(String[] args) { int x; char grade; Scanner s = new Scanner(System.in); System.out.print( " 请输入一个成绩: "); x = s.n ext In t(); grade = x >= 90 ? 'A

java编写的简单局域网聊天室(适合初学者).

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.Panel; import java.awt.Point; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileWriter; import java.io.IOException; import https://www.wendangku.net/doc/b69530546.html,.DatagramPacket; import https://www.wendangku.net/doc/b69530546.html,.DatagramSocket; import https://www.wendangku.net/doc/b69530546.html,.InetAddress; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class GUI_Chat extends Frame { private static final long serialVersionUID = 1L; private TextArea viewTextArea = new TextArea(20, 1; private TextArea sendTextArea = new TextArea(; private TextField ipTextField = new TextField(20; private Button sendButton = new Button(" 发送" ; private Button clearButton = new Button(" 清屏" ; private Button logButton = new Button(" 记录" ; private Button shakeButton = new Button(" 震动" ; private Panel panel = new Panel(; private DatagramSocket socket ;

初学者怎么学习java

初学者怎么学习java 1.买一本很好的Java书 相信我这会有效果的,买一本Java书。我知道有很多网络资源,诸如新闻刊物,Java辅导博客,但是这些都比不过一本好的旧书, 无论是印刷版本的,还是Kindle形式的书。电脑上的pdf版本可能 不是很合适。电脑带有很多附加的干扰,反正这对我来说不行。 如何确定一本好书。与有经验的人讨论,或者在合适的论坛咨询。我能告诉你对我什么书起作用了。我很久之前用CayS.Horstmann和GaryCornell的Java核心技术卷1和卷 2(CoreJavaVolumeIandIIbyCayS.HorstmannandGaryCornell)开始我 的Java旅程。 2.加入一个开源的Java项目 在你买了一本书后,不用说你得通读它。我知道,这是一个困难而乏味的事情。阅读书中的每一行内容。有一个扎实的基础非常重要。那么怎么从阅读中获得兴趣呢?加入一个开源的Java项目。你 可能一开始不懂,那么就呆在那,看着他们的活动。阅读他们的清 单邮件。 你将感受到一种气氛和一种学习产生的兴趣。这会给你阅读书籍带来兴趣。保持这种兴趣,并继续下去。我这有10个有趣的Java 项目,你可以去参与并学习。这些项目来自不同的领域,并处于不 同的阶段。这些项目可能点燃你学习Java的兴趣。 3.创建一个Java应用 好了,动力够了,你需要更多激励方式。自己着手做一些新鲜的事情。创建一个Java应用。为这个应用做设计,开发以及测试。全 部都靠你自己。如果你需要一些项目的点子, 4.加入一个Java论坛

解决问题对于了解一种语言的细微差别非常重要。选择一个活动频繁的Java论坛。加入他们,从其他人的问题中学习,并且也尝试 给予自己的贡献。你想了解的优秀的Java论坛 5.订阅JUG和Java博客 你应该知道Java周遭正在发生的事情。加入你当地的Java用户组。Java发展的重要影响因素就是JUG(Java用户组)。每个JUG在 他们的运营力度上都各不相同。但通常每个JUG都会有一个邮件列表。 1、明确面向对象的范畴 我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有所浪潮(看看Borland为什么有TurboProlog),但未来5-10年工业界广泛承认并接受的将是面向对象式的编程。 工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就可以了。而且完全可以同时掌握。 2、掌握Java的精华特性 掌握Java的精华特性的同时,一定要知道为什么。比如,Interface和multi-thread。用interface是更好的多继承的模型,而多线程则是设计到语言一级的重要特性。要完全理解interface 是为什么,用多线程又有几种常用的编程模型。 3、开始进行设计 理解了语言的特性是为什么了之后,就可以试着上升到设计这个层次,毕竟学习语言是要用的。目前比较好的开发模式是采用自定 向下的面向对象的设计,加上MVC的模式(你可以看一下我介绍的关 于MVC的内容)。首先要找出最顶层的对象(这往往是最难的),然后 一层一层往下递归,记住每次应符合7+/-2的原则,因为我们人的 短记忆就是这样。一般有图形用户界面的应从界面开始设计。 4、学习设计模式

Java教学资源(初学者必备)

新手入门:写Java程序的三十个基本规则 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。 (2) 为了常规用途而创建一个类时,请采取“经典形式”,并包含对下述元素的定义: equals() hashCode() toString() clone()(implement Cloneable) implement Serializable (3) 对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。 (4) 应将方法设计成简要的、***能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将其分割成较短的几个方法。这样做也便于类内代码的重复使用(有些时候,方法必须非常大,但它们仍应只做同样的一件事情)。(5) 设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可把它们变得更简单)。 使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议: ■一个复杂的开关语句:考虑采用“多形”机制 ■数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现 ■许多成员变量在特征上有很大的差别:考虑使用几个类。 (7) 让一切东西都尽可能地“私有”——private。可使库的某一部分“公共化”(一个方法、类或者一个字段等等),就永远不能把它拿出。若强行拿出,就可能破坏其他人现有的代码,使他们不得不重新编写和设计。

新手如何学习编程

新手如何学习编程 新手如何学习编程?这个对于初入行的程序员来说比较困惑的问题就让传智播客老师来帮你解答吧。首先能不能学会,跟是不是计算机专业没有太大的关系,只能说计算机专业的因为以前学过,上手快一点,所以最主要的还是你感不感兴趣,或者说你急需要掌握一门技能来养活自己。新手程序员在学习编程之前首先要考虑清楚你是否适合这个行业,是否喜欢编写代码,如果是肯定,那么你就可以开始求学之路了。 一开始,先不要管算法和数据结构。大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后找一些相关的论文去理解算法并动手编程实践。如果没有现成的函数库(其他程序员提供的可重用代码),你用自己喜欢的编程语言来实现它。 1.选择一门好的编程语言,一门你喜欢的语言,不管是.net还是java。 选择一种你觉得语法(文档)让你使用起来更舒服的编程。为此,你可能需要花费一些时间来在几种不同的语言之间进行比较。这么做目的不是为了让你感觉更好或者让编程更容易。而是让你更快的入门,运用自己学习的知识实现一个效果,才是激励你编程的源动力。 2.如果你选择了.net。 下面给大家展示一下国内最权威的.net就业班学习路线图:

课程深:因为微软的高度封装,开发人员不需要学太多即可在几分钟内通过拖控件的方式开发出一个“某某管理系统”,因此社会上充斥着大量这种“只会拖控件”的开发人员,他们不懂Http协议!不懂JavaScript!不懂https://www.wendangku.net/doc/b69530546.html,工作原理!只会拖控件!这种“不不不”开发人员能找到两千多的工作就已经非常值得庆幸了。企业中最需要的是对“Http协议、Javascript、https://www.wendangku.net/doc/b69530546.html,工作机制、.Net程序调优、反射、委托事件”等技术熟悉的人,而这样的人是非常难招的。传智播客课程有深度,比如讲https://www.wendangku.net/doc/b69530546.html,培训课程的时候就按照“自己动手写Web服务器→Http协议→原生方式开发CRUD程序→https://www.wendangku.net/doc/b69530546.html,工作原理→WebForm控件一天通→基于JQuery的原生AJAX”这样的思路进行讲解,学生从根本上掌握了https://www.wendangku.net/doc/b69530546.html,的精髓,非常受企业欢迎。 课程广:招聘.Net软件工程师的公司都要求掌握AJAX、大型互联网调优、SEO、JQuery、SQL 高级技术,因此传智播客在培训课程中加入了这些内容,让求职者在面试时就一拔头筹,遥遥领先

初学者java代码学习整理

JavaBean是一种可重复使用的、且跨平台的软件组件。 JavaBean可分为两种:一种是有用户界面的(有UI的);另一种是没有用户界面的(无UI的),无UI的JavaBean主要负责处理事务(如数据运算,操纵数据库)。 JSP通常访问的是后一种JavaBean。 使得HTML与Java程序分离,这样便于维护代码。 如果把所有的程序代码都写到JSP网页中,会使得代码繁杂,难以维护。 可以降低开发JSP网页人员对Java编程能力的要求。 JSP侧重于生成动态网页,事务处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性特点,提高开发网站的效率。 MVC设计模式(Model View Controller)。 一个标准的JavaBean有以下几个特征: JavaBean是一个公共(public)的类。 JavaBean有一个不带参数的构造方法。

JavaBean通过setXXX方法设置属性,通过getXXX方法获取属性。 1.导入JavaBean类。 通过<%@ page import>指令导入JavaBean类, 例如: <%@ page import="mypack.MyJavaBean" %> 2.声明JavaBean对象。 标签用来声明JavaBean对象, 例如: 3.访问JavaBean属性。 JSP提供了访问JavaBean属性的标签,如果要将JavaBean的某个属性输出到网页上,可以用标签。 例如: 如果要给JavaBean的某个属性赋值,可以用标签,

全新java初学者实践教程1

全新java初学者实践教程1(Java SE5.0版)--配置环境变量 作者:100jq 最近我发现不少初学者,学习java的时候,看了好多java的历史、优点和应用范围。对于这些知识,并不难理解。我也当然同意java是一种优秀的计算机语言。但是对于我们来说要了解的并不是,这些历史等知识。而是掌握java这套技术。要想掌握这套技术实践是非常重要的。那么很多初学者,在第一步实践的时候就遇到了困难,就是配置环境变量。以至于,因无法继续实践而苦恼。下面为了帮广大爱好者解决这个问题,“百家拳软件项目研究室”特别写了这个教程来与大家共享。 环境变量这个概念,是我们平时用电脑时不常用的概念,所以大家在下载完jdk之后,不知如何配置环境变量。下面我解释一下,环境变量相对于给系统或用户应用程序设置的一些变量。应该怎么理解呢?我们来做一个实验吧! 实践:鼠标单击开始――>运行――> cmd,进入了DOS的窗口。我们在任意目录下敲QQ。会出现“ 'QQ' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这段话 其实也是啊,在当前的目录根本就没有QQ这个文件啊。我的QQ程序安装在 D:\Tencent\QQ 下了。你们做的时候找到这个目录。在dos下进入这个目录,再敲QQ。就会发现弹出了QQ的登陆窗口。那么怎样能使,我们在任何目录下都可以敲QQ就可以执行呢。那就是设置环境变量了。 实践:我们现在桌面上,右键单击我的电脑――>属性――>选择“高级”选卡――>环境变量。现示的结果如图1-1 图 1-1 环境变量分为两类,一个是上半部分区域用户变量,另一个是下半部分系统变量。用户变量是只适用于当前用户使用,换了用户就不管用了。而系统变量则是任何用户都可以使用。呵呵,这样说可以理解吧。我们现在在用户变量里面按“新建”。在变量名里面输入path(不区分大小写)

Java编程五大经典实例(初学者版)

一、实验目的: 1、掌握 Java 基本数据类型、运算符与表达式、数组和字符串的使用方法。 2、掌握各种变量的声明方式。 3、理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 4、通过以上内容,掌握 Java 语言的编程规则。 5、了解Java程序文件名和类名的说明方法。 二、实验内容(或步骤)提要 1、输入一个学生的成绩,给出相应的等级(分别用if和switch语句实现)。 85分及以上为A级;70分及以上为B级; 60分及以上为C级;60分以下为D级。 【参考程序1】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); if(s<60) System.out.println("D"); else if(s<70) System.out.println("C"); else if(s<85) System.out.println("B"); else System.out.println("A"); } } 【参考程序2】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); int x=s/10; switch (x) { case 0: case 1: case 2: case 3: case 4:

case 5: System.out.println("D");break; case 6: System.out.println("C");break; case 7: case 8: if (s <85) { System.out.println("B"); break; } case 9: case 10: System.out.println("A"); } } } 2、输入某人的应纳税所得额,计算个人所得税。税率表如下: 级数全月应纳税所得额税率%速算扣除法(元) 1不超过500元的50 2超过500元至2000元的部分10 25 3超过2000元至5000元的部分15 125 4超过5000元至20000元的部分20 375 5 超过20000元至40000元的部分251375 6 超过40000元至60000元的部分30 3375 7 超过60000元至80000元的部分356375 8 超过80000元至100000元的部分40 10375 9 超过100000元的部分45 15375 计算公式是:应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数 例:王某当月应纳税所得额6400元。则应纳个人所得税税额=6400×20%-375=905元。【参考程序】 import java.util.Scanner; public class TaxCompute {

新手学习Java最高效的10个计划

新手学习Java最高效的10个计划新手学习Java最高效的10个计划 计划一:了解未来技术发展方向 两耳不闻窗外事,在如今是不合适的,尤其是在瞬息万变的互联网时代,作为一个开发者技术跟不上可以去专研,思想要跟不上,你辛辛苦苦刚做出来的产品可能已经落后了,或者只是一个微不足道的小功能,思想跟不上,就不能掌握主动,还可能会被产品经理抱怨技术落后什么功能都实现不了,这绝对是一个打击!所以在低头看代码的时候,一定要打开双耳,洞察技术的发展方向,保持领先才能立于不败。 计划二:收集有用代码和工具 计划三:记录你的想法和创意 在学习中你可能灵光一闪,有了一个特别好的想法,或者突然想明白了一个一直困扰自己的麻烦,用笔记录下来,时间长了你的思维越来越广阔,你会清楚的发现自己属于什么类型的学习者,在遇到困难时又是以何种心态何种方法解决的,它就是你的成长日记。同时,作为一个热爱分享的人,你的经验和想法不要忘记拿出来分享到你的论坛和博客,帮助一些曾和你一样需要帮助的人,在Java 的世界里,资源共享是推动技术进步的主要力量。 计划四:加入好的交流论坛 记住,你不是一个人在战斗,有很多人他们和你一样,在同一个起跑线上奋斗着。使用框架实现一个简单的程序不是真正的挑战,当你真正成为一个开发工程师的时候,你会发现很多奇怪的问题是靠说明解决不了的,你需要依靠一些人给你提供学习线索,哪怕是只言片语都有可能帮你走出困境,领你感恩不已。

孔子曰:三人行,必有我师,在开发领域这句话绝被奉为经典并不断的得到验证,作为初学者,不要放过一个可能领你提升的机会,寻找一些好的论坛,不懂就问,问题解决一个少一个,自己也会不 断进步。当然你也要学会分享,把自己的经验和想法分享给和到和 你曾经遇到一样问题的人,帮助他们的同时也巩固了自己的知识, 懂得分享亦是进步。 计划五:寻找经典技术博客 上一条刚说了,你不是一个人在战斗,在网络上有很多技术牛人都通过博客来分享自己的技术经验和编程心得,你只需要勤奋一些 去发现这样的博客,每天去阅读他们的技术文章,能吸收到不同人 对同一技术的经验可看法,或许他们会为某一项功能而争执不休, 你不需要去理会,在“观战”的时候要去分析各种观点,逐渐形成 自己的思想,久而久之你会明显感觉到自己在程序设计上的提升, 这就是进步。 计划六:阅读开源框架源码 一个合格的开发者必先能灵活的使用各种框架,而要想成为一个出色的开发者,就应该不断的去学习流行框架的源码,这样在深入 了解框架内部机制的同时还能得到大量的练习,逐步丰富自己的代 码设计思想,做一个代码的创造者而不是代码的复制者。 计划七:接受指导或参加培训 在编程的路上别人的指导有着至关重要的作用,有效的指导可以让你免走弯路,更快的得到自我提升。优秀的开发工程师为什么待 遇高而且在项目中有着举足轻重的作用,主要是因为他们不仅能够 把握项目开发的正确方向,还能带领团队其它成员提升自己的开发 水平,这是任何一个企业都企求的也是初出茅庐的Java人员所渴望的。 在Java的学习阶段,专业的Java培训可以大大缩短学习时间,提高学习效率。Java初学者眼中不可逾越的困难,很可能是一个Java开发经验丰富的人几句话就能搞定的。你所学的知识不可能都

Java基础入门(第二版)

《Java基础入门(第二版)》试卷 得分 单选题(每题2分,共计30分) 1.阅读下列代码片段: public class Example{ public static void main(String[] args) { { int a = 1; System.out.print(a); } { int a = 2; System.out.print(a); } int a = 3; System.out.print(a); }} 下列选项中,哪一个是程序正确的运行结果() A、123 B、111 C、121 D、编译不通过 2.下列关于super关键字的说法中,正确的是() A、super关键字是在子类对象内部指代其父类对象的引用 B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法3.请阅读下面的程序,程序的运行结果是()。 class Person { String name; int age; public Person() {} public Person(String n, int a) { 总分题型单选题多选题填空题简答题题分 得分

name = n; age = a; } public void show() { System.out.print(name + "---" + age +" "); } } public class Test { public static void main(String[] args) { Person p1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); } } A、null---0周星驰---27 B、null---27周星驰---27 C、周星驰---0null---27 D、周星驰---27null---274.下列有关HashSet集合的描述中,错误的是() A、HashSet是Set接口的一个实现类 B、向HashSet存入对象时,对象一般会重写hashCode()和equals()方法 C、向HashSet存入对象时,对象的equals()方法一定会被执行 D、HashSet存储的元素是不可重复的 5.请阅读下面的程序 public class Test { public static void main(String[] args) { int a = { 2, 0, 4, 1, 8, 3, 5 }; int temp; for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (aj < aj - 1) { temp = aj; aj = aj - 1; aj - 1 = temp; } }

Java初学者编程练习锦集(1)

Java编程练习: 1.下面有一串字符串,处理后让其倒序输出。 原字符串:i am a student 输出:tneduts a ma i 代码如下: public class StringPractic { public static void main(String args[]){ String s = "i am a student"; for(int i=s.length()-1;i>=0;i--){ System.out.print(s.charAt(i)); } } } 输出结果入下: tneduts a ma i 2.下面的一串字符,请统计其中‘0’到‘9’的各个数字的个数。 原字符串:91254782354987012345978 输出:0:1 1:2 2:3 3:2 4:3 5:3 7:3 8:3 9:3 程序代码如下: public class Digit { public static void main(String args[]){ String s = "91254782354987012345978"; int a[] = new int[10]; for(int i=0;i

新手如何学习java(java学习建议路线图)

怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java,适合企业的大型应用开发。 J2SE: 新手最初学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。 重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等 难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等 视频教程推荐:孙鑫的Java基础视频教程、张孝祥的Java基础视频教程,讲的都很细,而且这两位老师在教学方面都有很好的经验。 J2EE: 在学习了J2SE之后,你可以尝试着慢慢过渡到J2EE,当然,学习J2EE海需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等等,待会我会详细介绍这两方面的内容。J2EE有三个必学的框架,如果你说你学了J2EE,但又不会这三个框架的话,那会让人笑掉大牙,这三个框架分别是Struts、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE,J2EE还有很多其他的东西,比如EJB,作为一款重量级(此重量级不是指重量级选手那个意思,此重量级非彼重量级)框架,虽然这个应用慢慢的再被其他框架所取代,但EJB3.0的出现也给它带回一些生机,作为一个分布式应用的框架,也是大家要去学习和了解的知识。 当然,刚才说到J2EE包含的范围很广,即使我把我所了解的所有技术说出来,也并不能代表J2EE,这是一个很深很广的学问,需要大家以后再工作的时候慢慢去发现了。我所了解的还包括: JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已JNDI: Java 命名与目录接口,J2EE重要规范之一 EJBS: 上面已经提到过了 RMI: 提供远程调用方法的支持,主要用于程序分布式开发 JMS: Java消息服务,中间件技术 JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术

相关文档
相关文档 最新文档