作者的话
由于该系列教程为本人原创,请勿随意转载,文章内容为课堂笔记,最好结合后面提供视频链接,均免费分享,后续陆续增加内容….
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. 使用和制作patch文件
  2. hdu 3853 LOOPS (概率dp 逆推求期望)
  3. linux 2.6.35 arm map_lowmem,第一次玩arm和linux,9261移植2.6.39无法挂载jiffys2文件系统,谁能指点一下...
  4. C语言 字符串相关的函数
  5. Apollo 刨析:简介
  6. inux中限制用户进程CPU和内存占用率
  7. 不止 Java,Oracle 向 JavaScript 开炮!
  8. Zabbix监控Dell服务器主机和网络设备
  9. 【CF-Round-458:D】Bash and a Tough Math Puzzle(判断是否可以通过修改区间内的一个数使区间gcd=x)
  10. sem_timedwait的用法
  11. 候鸟浏览器cookie登录教程
  12. HDU_4379_The More The Better
  13. 理解COCO的评价指标:AP,AP50,AP70,mAP,AP[.50:.05:.95]
  14. 数据库读写分离(单主单从+双主双从)
  15. 自学抓去淘女郎所有模特美女的图片 手稿
  16. 海思芯片图形层的开发指南与方案
  17. conway生命小游戏,实现细胞普通行为
  18. pytorch函数之torch.normal()
  19. 路由表构成简介(Destination/Gateway/Genmask/Iface)
  20. Python 生成8位必含数字、大小写字母的字符串(密码)

热门文章

  1. php 获取array的长度_php中获取数组长度的方法
  2. UninstallToo卸载软件
  3. docker查看内部tcp长连接
  4. 【CSS】背景样式(颜色、图片、平铺、附着和位置)
  5. Pycharm完整中文教程及安装配置
  6. 向日葵资深产品总监技术分享:“国民远控”如何在AD域环境下应用
  7. linux v4l2架构分析之v4l2_ctrl_handler初始化及添加v4l2_ctrl的过程分析
  8. 解决windows有线连接不上问题
  9. 尚硅谷YYDS (课件资料)
  10. python填写问卷星_Python填写问卷星