作者的话
由于该系列教程为本人原创,请勿随意转载,文章内容为课堂笔记,最好结合后面提供视频链接,均免费分享,后续陆续增加内容….
Java系列课程简介
章节安排
1-5:java语法,流程结构,函数,数组
6-17:面向对象
18:jdk8新特性。

关于Java
前期知识
硬件,设备,软件,操作系统,应用软件。
编程语言是什么?
编程语言本质是用来做什么的?
本质是:工具。
1. 用编程语言实现我们美好的梦想。
2. 赚钱。

学习好java我们可以做些什么?
Java工程师
JavaEE工程师
Web工程师
UI工程师
Android工程师
微信开发
云计算Hadoop
Java架构师

Java的由来和发展历程
Java创始人及java的由来:

创始人: 高斯林

为啥要开发Java语言?
C语言自身问题1.内存溢出。2.exe不能跨平台

Java名字由来
由于简化了C语言开始叫做C–。
编程语言 oak—-爪哇岛JAVA bean javabean,netbean,entitybean

Java历史:
95年发布 Sun公司发布java 1.跨平台2.自动内存回收
99年SUN公司发布Java的三个版本:标准版(JavaSE,以前是J2SE)Standard、企业版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME) android
Java1.1,java1.2 ,1.3
2004年发布java5 javase javaee,javame
2009年归oracle,并在2011年出来1.7版本 74亿美元 CTO
2014年3月19日,甲骨文公司发布java8.0的正式版
www.oracle.com

为何大家都在用java做开发?(什么特性吸引了他们)
简单:
C++语言等都有指针的概念,在java里面没有这个概念,并且由程序产生的内存被自动回收
当然更重要的还是后面学习的面向对象才有体现。对象完成所有工作。

Java跨平台:一次写好,处处运行。不需要针对每个使用者重新写一个程序。
95年java一公布就受到热捧,并在此后迅速发展,成为最受欢迎的开发语言,恰好internet高速发展,java与网络天生搭档。最适合做b/s程序。B指browser,S指server。

安全性:严格遵循面向对象的规范。这样封装了数据细节,只提供接口给用户。增加了数据级的安全性
无指针运算。java中的操作,除了基本类型都是引用的操作。引用是不能进行增减运算,不能被直接赋予内存地址的,从而增加了内存级的安全性。
数组边界检查。

面向对象(开发思维区别):与面向过程的c语言是有差别的。
造车。
“面向过程”,就是先造车轮,再造发动机,再造机壳。。。。。依次制造,造完前面的,才能造后面的。
“面向对象”,就是不分前后,造完所有的(车轮,发动机,机壳。。。),再组装起来。面向的是具体的事物。
银行卡
Class Card{
String cardNo;
Double banlance;
Public void deposit(){

}
Public void withdraw(){

}

}

Card a=New Card();
Card b=New Card();
a.withdraw(100);

垃圾回收:c语言析构函数,回收变量占用的内存,java则是自动回收,不用担心内存溢出。
内存溢出:内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存

开放性:
Java的jdk是完全开放的,所以他获得了巨大成功,不断使用java,不断改进java。

Java语言的运行机制是什么?
想想c语言咋整的?开发源代码——编译文件生成.obj二进制文件,和一些库文件结合成exe文件,这些文件都直接就是二进制机器码,并且跟当前操作系统有关。(与操作系统相关所以转到别的操作系统可能不能运行)—-计算机运行

开发源代码—-编译源文件生成中间字节码文件.class文件(不是二进制代码)——-jvm根据操作系统翻译该中间文件(这个文件与具体机器和操作系统无关)—-机器指令—运行

Java是跨平台,但是jvm是否是跨平台?jvm因操作系统而异。所以jvm不跨平台

安装一个虚拟机,jre,注意与jdk区别。包含与被包含的关系
Jre:java runtime environment java运行时环境,包括了jvm
Jdk:java development kit java开发工具包,为开发人员服务的。包含了jre

Jvm< jre < jdk

Java编程初体验(重要)
Java环境搭建(其实就是要个能跑java程序的环境)
常用的dos命令:
cd—切换目录
notepad 文件名—创建记事本
mkdir 文件夹名称—创建文件夹

dir—–显示文件列表

  1. 下载:java官网就是oracle官网。
    http://www.oracle.com/technetwork/java/index.html
    jdk-7u4-windows-x64.exe

  2. 根据操作系统位数安装对应版本,目前准备采用java1.7(注意32位和64位不同)
    默认java安装完毕,会安装到C:\Program Files\Java\jdk1.7.0_04

  3. 设置环境变量

为何配置path和classpath?
设置path:因为我们的控制台要运行可执行文件,那么这个文件必须在当前目录下。
或者在path下。
.; 搜索当前目录 C:\Program Files\Java\jdk1.7.0_04\bin;自动搜索jdkbin目录
配置classpath:C:\Program Files\Java\jdk1.7.0_04\lib 因为这个路径下面全部都是class文件
搜索当前目录,classpath配置的目录

  1. 写第一个java程序。HelloOracle.java
    public class HelloOracle{

//属性+功能

public static void main(String[] args){

System.out.println(“Oracle,一个靠谱的平台!”);

}

}
任何一个java文件都必须定义一个类,类里面有一个main函数,这个函数就是程序执行的开始。

Java编码规范:
http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-139411.html

  1. 编译,运行

编译命令采用javac HelloOracle.java
运行命令 java HelloOracle
一定注意:javac后面跟的是java文件名和扩展名。Java后面跟的是java的类名。
Java运行的时候会用到jdk里面的库包lib。通过java –verbose:class可以清楚看到class
加载到内存的全部过程。
Java –verbose:gc 可以查看垃圾回收情况。

注意:如果你写的java程序放到某个包里面,要注意编译和运行的时候命令
注意:如果有包名 javac d:/test/com/action/HelloAction.java 假设HelloAction在包com.action
运行:java –classpath d:/test com.action.HelloAction 或者先切换到d:/test 然后运行java com.action.HelloAction

Dos常用命令:
切换盘符,比如从c盘到d盘:d: 回车
如果是相同盘符下面的路径切换:cd 路径
直接在当前盘符路径下面建立一个java文件,notepad HelloOracle.java 回车
查看当前路径下面的所有文件 dir
也可以查看以exe或者其他扩展名结尾的文件:dir *.exe 回车

将生成的Hello.class演示跨平台。在Linux下是否运行。

编程工具IDE使用(integrated development enviroment)
免费的,出现是因为java当时比较火。IBM公司投巨资开发eclipse 日蚀 java sun

Eclipse kepler,galio
工具一:Eclipse Kepler版本下载
http://www.eclipse.org/downloads/

使用:
解压即可。进入eclipse文件夹点击exe文件,运行即可。

工具二:NetBeans
https://netbeans.org/downloads/

近期部分企业采用的: IntelliJ IDEA—适合开发复杂项目,提示智能化。但是商业版都是收费的,也有社区版。

探索一下虚拟机做了些什么

用javap –c XXX.class生成一个jvm指令集组成的方法体集合。

Java被编译之后class文件分为头部和常量区。
头部包含Java的版本信息,以16进制打开。

每个class文件的头4个字节称为魔数(Magic Number),其值为:0xCAFEBASE,它的唯一作用是用于确定这个文件是否为一个能被虚拟机接受的class文件。使用魔数而不是扩展名来进行识别主要是基于安全的考虑,因为文件的扩展名可以随意地被改动。

笔记对应的讲解视频
Java零基础入门上:http://v.youku.com/v_show/id_XODQ3MDY4ODcy.html
Java零基础入门下:http://v.youku.com/v_show/id_XODQ3MDcxNDQ0.html

Java菜鸟逆袭之入门篇(附讲解)相关推荐

  1. Java菜鸟逆袭之基础语法下

    前提知识点2:原码,反码,补码  有符号数据表示法 • 在计算机内,有符号数有3种表示法:原码.反码和补码.所有数据的运算都是采用补码进行的. • 原码 • 就是二进制定点表示法,即最高位为符号位, ...

  2. 【菜鸟逆袭记】之初识操作符

    操作符 1.算术操作符 (1)前置和后置 (2)取膜(%)和除法(/) 2.移位操作符 3.位操作符 4.赋值操作符 5.单目操作符 (1)逻辑反操作( !) (2)sizeof (3)强制类型转化 ...

  3. 读书笔记:《谁说菜鸟不会数据分析-入门篇》第1-4章

    读书笔记:<谁说菜鸟不会数据分析-入门篇> 第一章:数据分析是神马 数据分析分类: 1.数据分析分类: 描述性数据分析:常见方法:对比分析法.平均分析法.交叉分析法 探索性数据分析–发现数 ...

  4. Java中的集合List - 入门篇

    前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的集合List - 入门篇>,希望对大家有帮助,谢谢 简介 说实话,Java中的集合有很多种,但是这里作为入门级别,先简单介绍第一种 ...

  5. 菜鸟逆袭记之操作符详解

    菜鸟逆袭记之操作符详解 1.算术操作符 2.移位操作符 (1)左移操作符 (2)右移操作符 3.位操作符 4.赋值操作符 5.单目操作符 (1)取地址(&) (2)sizeof与数组 (3)前 ...

  6. 《谁说菜鸟不会数据分析——入门篇》读书笔记

    刘夏璐,狄松. 谁说菜鸟不会数据分析(入门篇)[M]. 电子工业出版社, 2013 文章目录 第一章 数据分析那些事 何谓数据分析 数据分析的作用 1.1 数据分析六部曲 1.1.1 明确分析的目的和 ...

  7. Java中的映射Map - 入门篇

    前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的映射Map - 入门篇>,希望对大家有帮助,谢谢 简介 前面介绍了集合List,这里开始简单介绍下映射Map,相关类如下图所示 正 ...

  8. CCF中学生计算机程序设计入门篇练习题讲解

    CCF中学生计算机程序设计入门篇练习题讲解 全部代码下载地址在文末链接 1.温度转换(10001) 2.三角形面积(1002) 3. 猜数游戏(1003) 4.矩形填充(1004) 5.存款收益(10 ...

  9. 《谁说菜鸟不会数据分析 入门篇》学习笔记

    前言: 最近疫情原因,在家准备把从图书馆借的书都看看,好好为将来做准备.这本书主要是EXCEL的操作,对于使用要求不高的我,感觉够用了.毕竟是入门篇,我感觉是跟数据分析的关系不太紧密,更多的是应该这么 ...

最新文章

  1. 常用对照表之TCP及UDP常见端口参照
  2. asp.net 无法获取客户端请求的真实协议https
  3. python中调用c库
  4. C语言课程设计题库及答案,C语言课程设计题目.docx
  5. vue 表格中有列需要异步加载_Vue中使用async/await解决异步请求问题
  6. ASP.NET Web API参数与模型绑定
  7. TurboMail邮件服务器帮你应付电子邮件归档危机
  8. ThinkPHP V5.0 正式版发布
  9. IT奶爸的育儿学习之路
  10. S7-300 PLC的一次系统故障
  11. python3.8如何正确安装使用ExcelLibrary
  12. 服务程序访问共享文件_最佳的免费程序和在线服务,用于发送和共享大文件
  13. SourceTeee 设置拉取时使用rebase
  14. 弱威胁感知时代的企业安全--360安全实战
  15. C#程序开发范例宝典(第三版)(奋斗的小鸟)_PDF 电子书
  16. SDNUOJ 1168.FBI树
  17. 解读!10篇人机交互领域高引论文合集
  18. 钱多多软件制作第三天
  19. [Vue warn]: Unknown custom element: vhead - did you register the component correctly? For recursiv
  20. 多模态机器学习综述翻译(转载)

热门文章

  1. 情话套路大全,哈哈哈~~~
  2. foxmail怎么设置服务器才能登陆网易企业邮箱
  3. 升级版飞机大战来袭,手把手教学,万字详解,你还学不会嘛?
  4. 语料库数据处理个案实例(分词和分句、词频统计、排序)
  5. python课程回顾复习记录简要6
  6. [JavaScript 刷题] 搜索 - 腐烂的橘子, leetcode 994
  7. 我所经历的Android面试|掘金技术征文
  8. 【报告分享】2021年中国智能运动健身行业研究报告-艾瑞咨询(附下载)
  9. Invalid regular expression: invalid group specifier name safari白屏 chrome正常
  10. 计算机毕业设计基于Android二手车交易网站系统app