自学Java 怎么入门

在学习Java前,你有必要思考一下:

你对学习Java是否有兴趣2.您是否能静下心学习Java

大家都知道兴趣很重要,如果您对Java没有兴趣,相信你没法能静下心学习Java

Java不是一门独立存在的一门编程语言,它与其他语言都有共同之处也有不同之处。技术的联系都是千丝万缕的。就好比现在Java应用最多之处恐怕就是WEB,那么你就需要了解前端,也就是我们常常说的html等等。所以Java所涉及的技术并不是单一的,你应该要学习Java所涉及的基础知识,对于“CLASSPATH要怎么设置啊”、“跪求JDK下载地址”等等问题,你不该问,因为网上太多答案了,甚至换个角度说,你是不是还不适合直接学习编程?

1)买本Java的书。

关于Java面的书其实有很多,但是并不是每一本适合你自己,其实书不在于多,在于是否适合自己,你自己是否看得懂,此外要求希望比较新版本书籍,因为技术每天都在更新。

2)准备Java学习环境

对于Java初学者,不建议用IDE工具,通过一行行的代码,您会遇上很多问题,只有这样才能培养你怎么去解决问题,并加深你对Java的理解,为日后编程生活积累丰富的知识。

3Java基础学习之路

Java的体系分为Java SE、Java EE和Java ME,Java的敲门砖就是Java SE了,也就是你要入门学习的内容,不论你日后是选择哪个体系领域作为发展方向,你都得从Java SE起步。

4JavaEE学习之路

学完Java SE,别以为掌握Java,那只是完成“万里长征”的第一步。接下来选择学习Java EE或是Java ME(或者你还想不断深入学习Java SE,只要你喜欢,你可以一直深入下去,就像前面所说的,我不会讲到Java ME的学习);估计选择Java EE方面的学习者会多一些,Java EE所涉及技术非常多,考虑到初学者的接受程度,我会尽量从最常用的角度来介绍。

学习Java EE,在开发环境上不建议再用文本编辑器,我感觉NetBeans 比较适合初学者,个人也非常喜欢NetBeans,如果你喜欢用别的IDE如Eclipse,也没什么问题,关键看个人喜欢

4.1 学习JSP/Servlet

在Java EE中,要学习JSP/Servlet(结合Tomcat、MySQL)技术,你还得掌握HTML基础知识,最好再掌握些Java、CSS的技术,而了解XML是必不可少的。在学习JSP/Servlet过程中,应该结合学习 JDBC、数据库开发技术,毕竟绝大多数Java Web项目都是和数据库紧密结合的。

4.2 学习数据库开发技术

数据库技术是做业务系统必备技能,Java Web开发人员最低程度都应该掌握SQL语句的使用!你可以结合实际需要,选择一种数据库,并花大力气掌握其开发技术。

记住,学习数据库开发技术和学习Java EE,是相对独立的,你可以在学习JSP/Servlet的同时,学习数据库开发技术(如SQL语句等),或者先学数据库开发技术,之后再学习JSP/Servlet。

5Java之外的学习

等你对Java EE有些感悟的时候,你自然就会想不断扩充你的知识层面,那么到这个时候你可以学习Spring、Hibernate,以及各种Web框架。随着技术以及经验不断积累,你会逐步分析、设计等更高层次的知识,这时候,你可进一步学习相关的UML、模式等知识这会有空,给一些初学者一些我认为比较靠谱的建议,仅供参考。 1,不一定要把java学深入。有多少人搞程序是喜欢这个的,搞程序一半是因为钱多,一半是因为晋升公平。那么问题就来了,如果是为了钱,那为什么不直接选择一个挣钱多的方向呢? 2,初学者学java至少要脱产半年的时间才能算了解了,才适合被人带,因为至少半年的时间,才知道遇到问题如何解决,有的人需要更长的时间。现在有很多人已经有5年左右的经验了,在他们的压制下,java初学者很难有逆袭的机会了。 3,行业环境,现在数据存储,后台打包的方案的创业公司已经有苗头,也就是说,后台开发已经被集中解决,日后会越来越成熟,这就是意味着,java招聘需要有经验的人,也就是说,必须熬几年后才能有突破。 4,java离市场较远,所以呢?java开发人员很难有一个大的突破。 5,程序里面有变量所以解决了一系列类似的问题,所以注定了程序必须提供大批服务时才能有高收益,不知道大家明白这句的意思不。如果不理解,就思考下云服务器怎么才能赚钱。 6,如果是想挣钱,如果是要公平。那就放弃追求高薪的想发,java只是一门语言,现在辉煌,以后就会凋零;java工程师也只是一个岗位,今天这个岗位很重要,明天就不一定了。任何一个岗位的薪资不是由能力决定的,是市场决定。今天java稀缺,明天如果出来一大批,价位马上下来。我本来想建议一下还没入门,想做java的同学转去学html5,学设计,但是觉得这也不就是一门语言,和java类似。 啰嗦了这么久,我只是了想告诉大家,不要被java限死了,任何时候老板都不会在乎你用什么技术,老板需要的是低成本,高收益,只有这样他们才能活下去,这不怪他们。今天为什么java热,因为成本低,php热,因为成本低,站在老板的角度,站在用户的角度,他们会在乎你用java用php吗 这个思想我提过几遍了,但是还有好些人好些没看见。

java基础知识

学习 JAVA应该要具备什么 基础知识

6.如何去掉JAVA的内存限制

加 -Xmx参数来设置maximum Java heap size,如: java -Xms10M MyClass

7.什么是Java混淆编译器?

?forum_id=19&view_id=916

8.如何将Java应用程序本地编译为EXE?

?forum_id=19&view_id=917

9.jar命令?

?forum_id=19&view_id=918

数据类型与转换

1.int、char、double与byte如何相互转换?

?forum_id=19&view_id=919

2.int与byte array之间的转换程序?

?forum_id=19&view_id=920

3.string和int之间的转换?

a1=Integer.parseInt(s1);

s1=Integer.toString(a1);

4.java如何获得随机整数?

首先利用random()获得一个随机浮点数,然后乘以你希望得到的整数

的最大值,最后对得到的结果取整。

5.怎么把String类型转换成16进制的整数?

public static void main(String args[]){

String x = "0x300C8";

int y = Integer.decode(x).intvalue();

System.out.println(y);

6.int和java.lang.Integer有和区别?

int是数据类型,Integer是类Integer的功能更强,可以将整数转换为浮点数运算,在java这种强类型语言中是很有用的。可以利用Integer的构造函数Integer(int)来对一个整数建立对象。类似的类还有Float,Short,Long等等

数据结构

1.如何实现二维向量?

Vector vector1=new Vector();

Vector vector2=new Vector();

...

HashTable numbers=new HashTable();

numbers.put("vector1",vector1);

numbers.put("vector2",vector2);

2. JAVA中怎么得到现在的系统时间?

比如,当前date,Date today=new Date(System.currentTimeMillis());

3.如何将java.util.Date转化为java.sql.Date?

转化:

java.sql.Date sd;

java.util.Date ud;

//initialize the ud such as ud = new java.util.Date();

sd = new java.sql.Date(ud.getTime());

如果要插入到数据库并且相应的字段为Date类型

那么可以用PreparedStatement.setDate(int ,java.sql.Date)方法

其中的java.sql.Date可以用上面的方法得到

也可以用数据库提供TO_DATE函数

比如 现有 ud

TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"),

"YYYY-MM-DD HH24:MI:SS")

注意java中表示格式和数据库提供的格式的不同

系统相关

1.在JAVA中如何启动一个程序?

String strCommand;

String cmd = "cmd";

if (! System.getProperty("os.name").equals("Windows NT")) cmd = "command";

cmd = cmd + " /c " + strCommand;

try {

Runtime.getRuntime().exec(cmd);

catch (IOException ex) {

strCommand 为命令串,DOS 底下怎么用,这儿就可以怎么用

2.如何得到应用程序的路径

Properties System.getProperties()里面有

3.如何得到当前系统时间?

1.SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");

String time=formatter.format(new Date());

2.Calendar cal = Calendar.getInstance();

int year = cal.get(Calendar.YEAR);

month=..类推

输入输出

1.是否可以用纯JAVA 编写程序来访问串口?

Sun提供了一个叫javax.comm的package,专门用来对serial port进行操作.

2.writeutf和write的区别

?forum_id=19&view_id=921

3.如何利用FileWriter在文本中换行?

\r\n

网络相关

1.如何让我的程序通过proxy访问外部网络?

System.setProperty("java.proxyHost","your proxy here");

本地相关

1.如何调用本地的dll?

jni

2.如何用java编写扫描仪程序?

?forum_id=19&view_id=2741

就着木多了~

看看能不能帮上你的忙Java新手上路大全(问问题之前请先看)

Helloworld功略

?forum_id=19&view_id=84

path和classpath

1.什么是java的path和classpath?

?forum_id=19&view_id=904

2.如何一次把一个目录下的所有.jar加入到classpath?

?forum_id=19&view_id=905

3.classspath 的默认值是什么?

?forum_id=19&view_id=906

4.怎样找到程序运行需要的类?

?forum_id=19&view_id=907

5. Linux下Path和ClassPath是怎么设的?

?forum_id=19&view_id=908

6.如何修改path和classpath?

?forum_id=19&view_id=909

java的帮助和api文档

1.什么是java的api参考?

api是HTML格式的从sun的网站上可以找到一个包

包括api的参考和user guide,本站有做成.chm格式的便于查找。

api参考是用jdk的工具javadoc 生成的是开发者必备的文档。

2.哪里有JAVA基本类库的源代码?

jdk的安装目录下有源码src.zip

3.java web start 是干什么用的?

?forum_id=19&view_id=911

开发环境

1.jre下的lib和jdk下的lib到底有什么区别?

jre是JDK的一个子集。提供一个运行环境。JDK的lib目录是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。JRE的lib目录是为JVM,运行时候用的。包括所有的标准类苦,和扩展类

2.我的jbuilder光标对不齐?

?forum_id=19&view_id=913

3.JDK版本冲突怎么办?

要决定windows使用哪一个JDK(win2000),改注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion

的值,要决定JBuilder使用哪个JDK在project properties中可以设置。

4.editplus能够编译java嘛? 如何设置?

先要将JAVA的运行环境安装并且调试好。

首先,从菜单“工具(Tools)”->“配置用户工具...”进入用户工具设置。

在类别里展开“工具”树形菜单->“用户工具”,选择“组和工具项目”中的“Group 1”,点击面板右边的“组名称...”按钮,将文本“Group1”修改成“编译JAVA程序”。

然后选择修改的组“编译JAVA程序”,点击“添加新工具”按钮,选择程序,建立“新建程序”,选中它。

然后就是最重要的步骤(修改属性):

1.1 添加编译功能

“菜单文字”里的内容修改为“JAVAC”;

“命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE,如果JDK 安装路径为“c:\jdk”,那么此路径为“c:\jdk\bin\javac.exe”;

“参数”选择“文件名称”,即显示为“$(FileName)”;

“初始目录”选择“文件目录”,显示为“$(FileDir)”;

选择“捕获输出”复选框。

1.2 添加执行功能

“菜单文字”里的内容修改为“JAVA”;

“命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE,路径为“c:\jdk\bin\java.exe”;

“参数”选择“文件名(不含扩展名)”,即显示为“$(FileNameNoExt)”;

“初始目录”选择“文件目录”,显示为“$(FileDir)”;

选择“捕获输出”复选框。

这样就完成了基本的配置工作

基础概念

1.public,private,protect的访问机制

?forum_id=19&view_id=914

2.Java中如何定义一个常量?

?forum_id=19&view_id=915

3.异常的throw和throws有什么区别

throw是在程序中抛出异常,而throws是在方法的声明中声明抛出异常

4.upcasting是什么意思

upcasting就是上溯.也就是说把一个子类当作它的父类看待,比如:对方法void do(Object obj){...},你可以把任何对象作为参数来调用.

编译运行

1.怎么把多个.java源文件编译成一个.class?

java -d . a.java b.java

2. depreciated API 是什么意思?

java发展太快,所以你应该尽可能用最新的api,但是老的api还是兼容的,所以回waning 你deprecated api

3.怎么样编译一个目录下的所有java文件?

ant或者jbuilder,或者自己写脚本.

4.如何让执行程序时不会出现dos窗口?

javaw

5.如何运行jar文件?

java -jar ***.jarJava新手上路大全(问问题之前请先看)

Helloworld功略

?forum_id=19&view_id=84

path和classpath

1.什么是java的path和classpath?

?forum_id=19&view_id=904

2.如何一次把一个目录下的所有.jar加入到classpath?

?forum_id=19&view_id=905

3.classspath 的默认值是什么?

?forum_id=19&view_id=906

4.怎样找到程序运行需要的类?

?forum_id=19&view_id=907

5. Linux下Path和ClassPath是怎么设的?

?forum_id=19&view_id=908

6.如何修改path和classpath?

?forum_id=19&view_id=909

java的帮助和api文档

1.什么是java的api参考?

api是HTML格式的从sun的网站上可以找到一个包

包括api的参考和user guide,本站有做成.chm格式的便于查找。

api参考是用jdk的工具javadoc 生成的是开发者必备的文档。

2.哪里有JAVA基本类库的源代码?

jdk的安装目录下有源码src.zip

3.java web start 是干什么用的?

?forum_id=19&view_id=911

开发环境

1.jre下的lib和jdk下的lib到底有什么区别?

jre是JDK的一个子集。提供一个运行环境。JDK的lib目录是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。JRE的lib目录是为JVM,运行时候用的。包括所有的标准类苦,和扩展类

2.我的jbuilder光标对不齐?

?forum_id=19&view_id=913

3.JDK版本冲突怎么办?

要决定windows使用哪一个JDK(win2000),改注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion

的值,要决定JBuilder使用哪个JDK在project properties中可以设置。

4.editplus能够编译java嘛? 如何设置?

先要将JAVA的运行环境安装并且调试好。

首先,从菜单“工具(Tools)”->“配置用户工具...”进入用户工具设置。

在类别里展开“工具”树形菜单->“用户工具”,选择“组和工具项目”中的“Group 1”,点击面板右边的“组名称...”按钮,将文本“Group1”修改成“编译JAVA程序”。

然后选择修改的组“编译JAVA程序”,点击“添加新工具”按钮,选择程序,建立“新建程序”,选中它。

然后就是最重要的步骤(修改属性):

1.1 添加编译功能

“菜单文字”里的内容修改为“JAVAC”;

“命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE,如果JDK 安装路径为“c:\jdk”,那么此路径为“c:\jdk\bin\javac.exe”;

“参数”选择“文件名称”,即显示为“$(FileName)”;

“初始目录”选择“文件目录”,显示为“$(FileDir)”;

选择“捕获输出”复选框。

1.2 添加执行功能

“菜单文字”里的内容修改为“JAVA”;

“命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE,路径为“c:\jdk\bin\java.exe”;

“参数”选择“文件名(不含扩展名)”,即显示为“$(FileNameNoExt)”;

“初始目录”选择“文件目录”,显示为“$(FileDir)”;

选择“捕获输出”复选框。

这样就完成了基本的配置工作

基础概念

1.public,private,protect的访问机制

?forum_id=19&view_id=914

2.Java中如何定义一个常量?

?forum_id=19&view_id=915

3.异常的throw和throws有什么区别

throw是在程序中抛出异常,而throws是在方法的声明中声明抛出异常

4.upcasting是什么意思

upcasting就是上溯.也就是说把一个子类当作它的父类看待,比如:对方法void do(Object obj){...},你可以把任何对象作为参数来调用.

编译运行

1.怎么把多个.java源文件编译成一个.class?

java -d . a.java b.java

2. depreciated API 是什么意思?

java发展太快,所以你应该尽可能用最新的api,但是老的api还是兼容的,所以回waning 你deprecated api

3.怎么样编译一个目录下的所有java文件?

ant或者jbuilder,或者自己写脚本.

4.如何让执行程序时不会出现dos窗口?

javaw

5.如何运行jar文件?

java -jar ***.jar挺简单的,不需要啥技巧先把流程控制整明白了,然后把对数据库的分页,增加,删除,查找,更新整会之后就多练习慢慢的就会了上边这位仁兄,不要这样吗,你这样会把人吓坏的C语言吧 他是基础啊数据结构都是指针呢JAVA 不支持指针学好任何一门高级语言 往另一语言都很好转的!