Java程序设计需要学习的内容

Java程序设计需要学习的内容,第1张

Java 程序设计基础,包括 J2sdk基础、Java面向对象基础、Java API使用、数据结构及算法基础、Java AWT图形界面程序开发;

J2SE平台Java程序设计,包括Swing图形程序设计, Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,流和文件,多线程程序设计;

………………………………

看你问的问题,应该是对java很感兴趣,其实你可以自学java。关于如何学习java,我刚才看到一篇很不错的文章,是一个农民工介绍自己如何自学java,并找到Java的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。

我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息,我从小到大学习一直很好,从小学到高一都,成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借了不少钱,才让我读上高中。我知道我读到高中家里已经欠了好多债,为了减轻家里的负担,我选择了退学。

2009年我高一退学,为了给家里还债,干过建筑工地的小工,搞过塑料制品加工,送水工等等。很工资都很低,一个月也就1000多,加上加班费一个月能拿2000多一点,我每个月都向家里寄回800-1000元,到了2011年末,一次偶然的机会我接触了Java,听说Java的前景挺不错,工资相对于我一个农民工来说简直是天文数字,于是我在新华书店买了几本Java的书,尽管白天辛苦工作,晚上回来还是坚持看书,但有于基础太差很多都很不明白,但还是坚持看,一有看1-2个小时Java的书,看着看着许多基础都慢慢的学会了,但那些比较难的还是看不懂,后来还买了有些关于框架的书,还是看不懂,这样断断续续的持续了半年多,觉得自己Java的基础都差不多懂了,但框架还是看不懂,还有最缺的项目经验,看了很多招聘Java程序员的简介都要项目经验,相对我一个农民工来连框架都弄不明白,想找一份Java工作对我来说简直是奢侈。我只想学Java,并不敢想以后能从事Java的工作。

有一次,在百度上看到一篇让我很鼓舞的文章,是一个Java高手介绍在没有基础的朋友怎么自学入门Java,文章写的很好,包含了如何学习,该怎么学习,他提到一个方法就是看视频,因为看书实在太枯燥和费解的,不少是我们也看不懂,这点我真的很认同,我自己看书都看了很久才学会基础。曾经有想过参加培训,但是上万元的培训费让我望而却步,我工资这么低,每个月还有向家里汇钱,加上城市消费比较高,虽然每个月只有几百剩下,但是相对于上万万学费和四个月的吃住费用逼我连想不敢想。 于是我决定看视频,我就去搜索Java的视频,虽然我零星的找到一些Java的视频,但是都不系统。最重要连项目都没有。后来我找到一份很好的视频,是IT学习联盟这个网站一套视频叫<<零基础Java就业班>>(喜欢《零基础Java就业班》的可以复制 tcn/8sx5z6L 粘贴浏览器地址栏按回车键即打开)的教程还不错,很完整。还赠送11个顶级企业项目。价格很合理,于是我买下来。

于是开始了我的自学Java的路,收到光盘后,我就开始学习,刚开始学习还不错,是从零基础教起,老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情。因为我本来基础还不错,前面的基础看一篇我就过去了,到了框架,我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会Java。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上11,12点。那段时间特别辛苦,特别累。在学习Java的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,只是学了些Java基础,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把Java教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。这套视频还赠送了11个顶级企业项目,对于我没有任何经验的人来说,这个太重要了,还有在学习项目是提升能力最快的方法。项目能把所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。 就这样,我用了两个月也把项目给学完了。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那11个顶级企业项目才去找工作。

接着我就到51job疯狂的投简历,因为我的学历问题,初中毕业,说真的,大公司没有人会要我。所以我头的都是民营的小公司,我希望自己的努力有所回报。没有想过几天后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比价严格,需要有一年的项目经验,所以我没有被选中。 后来陆续面试了几加公司,终于功夫不负有心人,我终于面试上了一家民营的企业。公司规模比较小,我的职务是Java程序员。我想我比较幸运,经理看中我的努力,就决定吕勇我,开的工资是3500一个月,虽然我知道在北京3500只能过温饱的生化,但是我想我足够了,比起以前的工资好了些,以后可以多寄些钱回家。我想只要我继续努力。我工资一定会翻倍的。 把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有自卑,我们不比别人笨,只有我们肯努力,我们一样会成功。

…………………………………………

import javaawtColor;

import javaawteventMouseEvent;

import javaawteventMouseListener;

import javaxswingJFrame;

import javaxswingJPanel;

public class Test extends JFrame{

private static final long serialVersionUID = 1L;

public static void main(String args[]) {

try {

Test frame = new Test();

framesetVisible(true);

} catch (Exception e) {

eprintStackTrace();

}

}

public Test() {

super();

getContentPane()setLayout(null);

setResizable(false);

setTitle("Test");

setBounds(100, 100, 300, 300);

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

final JPanel panel1 = new JPanel();

panel1setBounds(0, 0, 147, 267);

panel1setBackground(ColorWHITE);

getContentPane()add(panel1);

final JPanel panel2 = new JPanel();

panel2setBounds(147, 0, 147, 267);

panel2setBackground(ColorWHITE);

panel2addMouseListener(new MouseListener(){

public void mouseClicked(MouseEvent arg0) {

}

public void mouseEntered(MouseEvent arg0) {

panel1setBackground(ColorGREEN);

panel2setBackground(ColorGREEN);

}

public void mouseExited(MouseEvent arg0) {

panel1setBackground(ColorWHITE);

panel2setBackground(ColorWHITE);

}

public void mousePressed(MouseEvent arg0) {

}

public void mouseReleased(MouseEvent arg0) {

}

});

panel1addMouseListener(new MouseListener(){

public void mouseClicked(MouseEvent arg0) {

}

public void mouseEntered(MouseEvent arg0) {

panel1setBackground(ColorRED);

panel2setBackground(ColorRED);

}

public void mouseExited(MouseEvent arg0) {

panel1setBackground(ColorWHITE);

panel2setBackground(ColorWHITE);

}

public void mousePressed(MouseEvent arg0) {

}

public void mouseReleased(MouseEvent arg0) {

}

});

getContentPane()add(panel2);

}

}

-------------------------------------------------------------------

//这是用两个panel实现的,回复zhangxu1216,如果只用一个panel,可以这样:

-------------------------------------------------------------------

import javaawtBorderLayout;

import javaawtColor;

import javaawteventMouseEvent;

import javaawteventMouseListener;

import javaawteventMouseMotionListener;

import javaxswingJFrame;

import javaxswingJPanel;

public class Test extends JFrame implements MouseMotionListener,MouseListener{

private static final long serialVersionUID = 1L;

JPanel pnl;

public static void main(String args[]) {

try {

new Test();

} catch (Exception e) {

eprintStackTrace();

}

}

public Test() {

super();

setResizable(false);

setTitle("Test");

setBounds(100, 100, 300, 300);

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

pnl = new JPanel();

pnladdMouseMotionListener(this);

pnladdMouseListener(this);

getContentPane()add(pnl, BorderLayoutCENTER);

setVisible(true);

}

public void mouseDragged(MouseEvent e) {

}

public void mouseMoved(MouseEvent e) {

int x = egetX();

if (x < pnlgetWidth() / 2) {

pnlsetBackground(ColorRED);

}

if (x > pnlgetWidth() / 2) {

pnlsetBackground(ColorGREEN);

}

}

public void mouseClicked(MouseEvent e) {

}

public void mouseEntered(MouseEvent e) {

}

public void mouseExited(MouseEvent e) {

pnlsetBackground(ColorWHITE);

}

public void mousePressed(MouseEvent e) {

}

public void mouseReleased(MouseEvent e) {

}

}

已测试:

class Stu{

private String name;

private double english;

private double math;

private double chinese;

public Stu(){}

public Stu(String name){

thisname=name;

}

public void setGrades(double english,double math,double chinese){

thisenglish=english;

thismath=math;

thischinese=chinese;

}

public double getTotalGrades(){

return english+math+chinese;

}

public String toString()

{

return thisname + "\t" + thisenglish + "\t" + thismath + "\t" + thischinese+"\t" + thisgetTotalGrades();

}

}

public class Test

{

public static void main(String[] args)

{

double[] grades={

70,80,90,

71,72,73,

72,73,74,

73,74,75,

76,77,78,

61,62,63,

62,63,64,

63,64,65,

64,65,76,

90,90,90

};

Stu[] stu=new Stu[10];

int i=0;

for(i=0;i<10;i++){

stu[i]=new Stu("stu"+i+1);

}

for(i=0;i<30;i+=3)

stu[i/3]setGrades(grades[i],grades[i+1],grades[i+2]);

Test t=new Test();

tsort(stu);

Systemoutprintln("名次\t姓名\t语文\t数学\t英语\t总分");

for(i=0;i<10;i++)

{

Systemoutprint(i+1 + "\t");

Systemoutprintln(stu[i]);

}

}

public void sort(Stu[] stu){

int least=0;

for(int i=0;i<stulength-1;i++){

least=i;

for(int j=i+1;j<stulength;j++){

if(stu[least]getTotalGrades()<stu[j]getTotalGrades())

least=j;

}

if(i!=least) swap(stu,i,least);//交换

}

}

//两个数交换

private void swap(Stu[] stu,int one,int two){

Stu temp=stu[one];

stu[one]=stu[two];

stu[two]=temp;

}

}

java学习的学习内容涵盖较多方面,大致可以分为以下几个阶段,从基础的语法,到高阶的框架,必须按部就班,才能够走得更远,提升的空间才会更大。

一、预科学习:

HTML5:HTML5标签入门、HTML5表格、表单

CSS3:CSS3选择器和简单属性、CSS3定位和布局、CSS3复杂选择器和高级属性

数据库:mysql数据库安装和数据 *** 作、约束和简单查询、复杂查询、数据库设计、oracle的安装与数据 *** 作、oracle与mysql的对比学习

二、JavaSE

Java语言基础、程序逻辑:环境配置和第一个语言程序-HelloWorld变量运算符条件和循环方法和数组

Java面向对象:面向对象入门面向对象应用_管理系统类Java常用类、String相关、算法相关面向对象深入(重载、this、static)继承(重写、super、初始化顺序)多态(抽象类和接口、final、克隆和比较接口设计模式、对象和类的生命周期)

API:异常、日志集合集合工具类和泛型IOJDBC基础线程网络编程反射NIOJunit

Java面向对象思想:设计模式面向对象原则

Java底层理论:集合底层性能监控工具反编JUC

三、Javaweb

web基础:TOMCAT/WEB程序结构/>

第三方工具包:连接池、事务、分页、文件上传下载、Dom4j/Log4j/Logback

JavaScript和jQuery框架技术:JS入门和DOM基础、DOM模型深入、jQ基础、jQ *** 作DOM

MVC动态Web开发技术:自定义MVC框架、DAO框架、前端框架(layUI)

Web开发高级运用:tomcatserver服务器配置、nginx使用、jetty配置

网络编程:网络原理、>

四、SSM框架

Spring框架、SpringMVC框架、MyBatis框架:mybatis入门、配置文件详解和动态sql的使用、mybatis管理关系映射和延迟加载、查询缓存和逆向工程、Spring入门和集成、myBatisSpringMVC入门、SSM集成、Spring配置详解、SpringAOP、Spring事务配置、SpringMVC高级功能、SpringMVC原理

五、前沿技术

高可用、高并发、高扩展:SpringBoot、缓存、分布式、全文索引、服务中间件、myCat、云服务、人脸识别、语言识别、JVM底层优化

希望能够帮到你!

以上就是关于Java程序设计需要学习的内容全部的内容,包括:Java程序设计需要学习的内容、用JAVA写一个程序~、求写简单JAVA程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10218285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存