JAVA学习_零基础学习JAVA方法_零基础学习JAVA思路

在学习JAVA前,对于一个真正初学者(也就是从零开始学习JAVA人员)的一个问题:什么是JAVA,然后才是怎么学习JAVA?JAVA是sun microsystems在1995年推出的高级编程语言,其分为Java SE、Java EE、Java ME三大体系,而JAVA SE是JAVA的基础,继JAVASE之后是JAVAEE,JAVA ME。JAVASE是JAVAEE的基础,Servlet、JSP是框架的基础。数据库方面个人建议学习oracle,当然其它的像 MySQL,MSSQL,都可以,只要会一个,再学其它的就会发现都是非常类似的。另外就是html,css,javascript,xml,这些是 JAVAWEB编程要用到的。建议学习顺序:1、html,css,javascript,xml2、JAVASE3、JAVAEE,包括 Servlet、JSP、框架至于数据库的学习,在JAVA之前,之中,之后都可以,建议在JAVA之前,至少在JAVAEE之前。
    那么到底怎么学习JAVA,特别针对零基础的初学者,以下是我为大家准备的JAVA学习线路图:


JAVA学习路线图

ps:请按优先级来学习,①代表重点掌握要熟练,②代表要掌握,③有个大体的映像就行,别人问你要说得出来个大概

面向对象的初步了解:

面向过程向面向对象的过渡:
  相信大多数的朋友都应该接触过C语言,C语言是面向过程语言的一个代表,如何区分面向对象与面向过程呢?这里给大家举个例子: 比如我们平时玩的棋类游戏。


JAVA面向对象

笼统定义:将生活中的对象进行描述,通过类的形式,描述事物的属性和行为。面向对象是从宏观来看待问题的,面向过程则是从微观来解析问题。
    面向对象的几个基本概念,我们需要了解清楚:
1.对象:人们要进行研究的任何事物
2.类:具有相同或相似性质的对象的抽象
3.对象的状态与行为:数据与相应的操作
4.类的结构:类间的结构关系,"一般---具体 is a"关系,和"整体---部分" has a"关系

面向对象的基本特征:

①封装(Encapsulation):隐藏对象的实现细节,通过公有方法暴露对象功能
②多态(Polymorphism):子类对象可以直接赋值给父类,但运行时表现出子类的行为特征
③继承(Inheritance):一个类共享一个或多个类定义的结构与行为,表示一种泛化/特化的层次关系
④抽象(Abstraction):忽略主题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面,包含过程抽象与数据抽象

面向对象的方式:ADP
1.OOA(分析):产生系统的类和对象,描述软件要做什么
2.OOD(设计):OOA的细化,强调复杂系统的正确和有效构建,即确定类间的关系,对象间的关系,3.类的状态转换,模块间的依赖等,软件怎么做
4.OOP(编码):三个标准条件:1.使用对象而非算法作为基本逻辑组件;2.任意对象都需为某个类的实例3.类通过继承关系与其他类相关

Java语言简介

大概历史:

Sun公司的,Java的跨平台使得Java深受欢迎,而Java这个名称是因为,某人喜欢喝"爪洼岛"的咖啡,Java的名字就这么来了,在中国又叫"甲骨文",后来sun把Java卖给了Oracle,所以现在的Java考试认证也是由Oracle负责举行的(ps:如果有兴趣了解的可去百度百科瞧一瞧)

四种技术架构:

JAVASE,JAVAEE,JAVEME(嵌入式,已过时),JavaCard(适用于智能卡的Java平台)

Java的主要优点:面向对象,跨平台,多线程,安全,简单和健壮性,以及改进了的解释性:为了弥补解释语言较慢的不足,Java采用预编译方法,生成字节代码,有些JAVA环境用JIT编译器将字节码编译成机械码,直接运行,针对重复执行的服务端软件可以达到C的速度

相关名词解释:

JVM Java虚拟机(Java Vittual Machine)是一种想象中的机器,在实际计算机上通过软件模拟来实现,在Java运行环境中处于可信地位,它使得Java可以跨平台执行,包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域运行原理:在任何一个平台上都给编译程序一个共同的接口,Java源程序经过编译器编译后变成字节码,字节码再由虚拟机解释执行,虚拟机将每条执行的字节码送给解释器,解释器翻译成特定机器上的机器码最后在特定的机器上运行

JRE与JDK

JRE(Java Runtime Enviroment)运行时环境:JVM + 核心类库
JDK(Java Development Kit)开发工具集:JRE + 编译器

JVM的垃圾回收机制(Garbage Collection)

回收的是没有任何引用指向的对象空间,一般情况下Java会自动进行垃圾收集
如果想要手动请求垃圾收集,可以调用system.gc()或者finalize()方法建议;
也仅仅是建议而已,并不能精确地控制垃圾回收机制的执行

开发环境的搭建

jdk的安装:现在最新的是 jdk 1.7,有兴趣的可以去官网下载,笔者用的是1.6,链接:jdk 1.6下载
都是傻瓜式地下一步就可以了

环境变量的配置

右键我的电脑--->高级--->环境变量
JAVA_HOME:jdk的安装目录
Path:在最前面添加:%JAVA_HOME%\bin; !别删掉后面的啊,不然你电脑出毛病了别找我= =
CLASSPATH:%JAVA_HOME%\lib\tools.jar;


JAVA环境变量的配置

新建JAVA_HOME


新建JAVA_HOME

修改Path变量


修改Path变量

CLASSPATH变量的配置:


LASSPATH变量的配置

验证环境是否配置完成

在cmd(win + R)中输入javac,出现如图效果,说明配置环境完成


验证环境是否配置完成

jdk安装目录下的几个包:

bin:工具命令:javac,java等 jre:运行Java所需要的JRE环境
lib:JDK工具指令的实际执行程序 src.zip:核心类库的源代码

第一个Hello World详解:

Java代码的运行原理:


JAVA运行代码原理

dos的几个基本指令

dir:列出目录与文件夹
cd * .. \:进入指定目录
md:创建目录
rd:删除目录,但是只能够删除空的文件夹,这样可以防止误删
del:删文件,多文件时可以,*.txt 删除所有txt文件这样
exit:退出dos

代码编写:

public class HelloWorld //public是一个访问修饰符,class表示声明一个类,HelloWorld类名{ public static void main(String args[]) //主方法,程序的入口 { System.out.println("Hello World!"); //调用System的out对象的println()方法打印出"Hello World!" }}/*这里要注意,文件名需与公共类名相同,既保存的时候要写成:HelloWorld.java,否则报错,缺少什么;还有一个java文件只能有一个公共类或者公共借口!!*/

调试运行:
step 1:打开cmd,来到java文件的存放目录
step 2:编译:javac HelloWorld.java //不要漏.java;如果出错了,要修改java文件中错误的文件再调用javac编译
step 3:运行:java HelloWorld

截图:



JAVA调试运行

综合来说,JAVA是一门语言,学习JAVA,兴趣是最好的老师,只有抱着热枕的心态才能学好一门语言,深度学好一门语言。如果你想利用JAVA制作网站,那么还应该学习什么,那就是所谓的前端,它包括html,css,div。纵深学习也是相当重要的。
  此外,对于零基础学习JAVA初学者建议在自我学习之余,多余行业人沟通交流是必要的,不仅仅是为了学习JAVA这门语言,更多的要全方面的了解JAVA。这是最方便快捷的一种学习方式,其实微信、qq等这些在线沟通工具在拉近我们的距离外,也可以成为我们的学习提供一种工具。如果大家都想学习交流JAVA,编者到是可以推荐一个群,457036818。上面提供有最新的JAVA视频教程,以及最牛的JAVA学习资料,还有一个最值得推荐的一本书《JAVA编程思想》中英文版本。

时间: 2024-10-22 04:27:09

JAVA学习_零基础学习JAVA方法_零基础学习JAVA思路的相关文章

【java基础知识总结】-特别针对零基础学习JAVA的初学者

JAVA基础知识总结,对于大多数想要学习JAVA编程语言的人员来说或者对于那些已经在学习路上的新手来说,掌握以下的JAVA基础知识,或许将更有利于你快速掌握好这门语言.以下是本人对JAVA基础知识做了一下小结,如有纰漏,还望大家不吝赐教. 1.对象的初始化 (1)非静态对象的初始化 在创建对象时,对象所在类的所有数据成员会首先进行初始化. 基本类型:int型,初始化为0. 如果为对象:这些对象会按顺序初始化. ※在所有类成员初始化完成之后,才调用本类的构造方法创建对象. 构造方法的作用就是初始化

Java学习-024-获取当前类名或方法名二三文

今天,看朋友编写程序,打印日志时,需要记录当前类的类名以及当前方法的方法名,我发现 TA 将类名或者方法名直接写死在了代码中...虽说这样可以实现记录类名和方法名,但是当有特殊情况需要修改类名或者方法名时,源码中涉及类名或者方法名的地方必须同步变更,若修改的地方比较多,难免可能发生有遗漏的地方,那么后续通过日志查看分析原因时,就会找不到相应的地方,导致无法分析,查找原因. 为何要获取类名? 调试源码 记录日志 生成报告 统计分析,对调用比例占比大的方法,增强单元测试 构建系统调用关系链,对主要关

Java程序猿的JavaScript学习笔记(9—— jQuery工具方法)

计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Java程

《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回

<深入Java虚拟机学习笔记>- 第19章 方法的调用与返回

Java 基础:hashCode方法

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 一.前言 泥瓦匠最近被项目搞的天昏地暗.发现有些要给自己一些目标,关于技术的目标: 专注很重要.专注Java 基础 + H5(学习) 其他操作系统,算法,数据结构当成课外书博览.有时候,就是那样你越是专注方面越多对自己打击越大学啥啥都不好.今天带来Java基础:hashCode方法 二.hashCode方法 hash code(散列码,也可以叫哈希码值)是对象产生的一个整型值.其生成没有规律的.二者

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册、登录、存取款、本行转账、跨行转账、销户、特殊操作参数、多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合)

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册.登录.存取款.本行转账.跨行转账.销户.特殊操作参数.多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合) 1) 定义bank类 属性有银行名称和存放客户的ArrayList集合, 有开户方法. 销户方法. 存钱方法. 取钱方法. 转账方法(本行转账.跨行转账) 2) 定义customer类 属性有账户名.密码.余额 3) 定义测试类创建一个银行集合用于存放bank对象创建几个bank对象:分别叫华夏银行.工商银行.招商

零基础到精通,新手应该如何学习 PHP 语言?

php是一种通用开源脚本语言,PHP独特的语法吸收了C语言.Java.Perl以及php自创的语法特点.PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通.如果你是php语言的初学者,不妨和w3cschool小编了解一下Php是干什么用的,以及学习php从哪些方面入手. Php的用途是什么? 对于一个php门外汉来说,对php语言存在着较浅的认识,他会觉得php语言就是做网站的.但是,更确切地说,php语言是网站后端开发以及后端处理的.因为这是一项技能,所以在学习p

编程零基础做程序员,该怎么学习?首先要学习什么?

编程零基础做程序员,该怎么学习?首先要学习什么?众所周知程序员是21世纪比较吃香的工作.程序员工资高还不需要和复杂的社会打交道.那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下.零基础的我该如何学习?如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适.笔者是一个Java出身的程序员,学习编程有什么学习问题或者关于Jav

基于java的InputStream.read(byte[] b,int off,int len)算法学习

public int read(byte[] b, int off, int len) throws IOException 将输入流中最多 len 个数据字节读入字节数组.尝试读取多达 len 字节,但可能读取较少数量.以整数形式返回实际读取的字节数. 在输入数据可用.检测到流的末尾或者抛出异常前,此方法一直阻塞. 如果 b 为 null,则抛出 NullPointerException. 如果 off 为负,或 len 为负,或 off+len 大于数组 b 的长度,则抛出 IndexOut