Java菜鸟逆袭之入门篇(附讲解)
作者的话
由于该系列教程为本人原创,请勿随意转载,文章内容为课堂笔记,最好结合后面提供视频链接,均免费分享,后续陆续增加内容….
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—–显示文件列表
下载:java官网就是oracle官网。
http://www.oracle.com/technetwork/java/index.html
jdk-7u4-windows-x64.exe根据操作系统位数安装对应版本,目前准备采用java1.7(注意32位和64位不同)
默认java安装完毕,会安装到C:\Program Files\Java\jdk1.7.0_04设置环境变量
为何配置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配置的目录
- 写第一个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
- 编译,运行
编译命令采用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菜鸟逆袭之入门篇(附讲解)相关推荐
- Java菜鸟逆袭之基础语法下
前提知识点2:原码,反码,补码 有符号数据表示法 • 在计算机内,有符号数有3种表示法:原码.反码和补码.所有数据的运算都是采用补码进行的. • 原码 • 就是二进制定点表示法,即最高位为符号位, ...
- 【菜鸟逆袭记】之初识操作符
操作符 1.算术操作符 (1)前置和后置 (2)取膜(%)和除法(/) 2.移位操作符 3.位操作符 4.赋值操作符 5.单目操作符 (1)逻辑反操作( !) (2)sizeof (3)强制类型转化 ...
- 读书笔记:《谁说菜鸟不会数据分析-入门篇》第1-4章
读书笔记:<谁说菜鸟不会数据分析-入门篇> 第一章:数据分析是神马 数据分析分类: 1.数据分析分类: 描述性数据分析:常见方法:对比分析法.平均分析法.交叉分析法 探索性数据分析–发现数 ...
- Java中的集合List - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的集合List - 入门篇>,希望对大家有帮助,谢谢 简介 说实话,Java中的集合有很多种,但是这里作为入门级别,先简单介绍第一种 ...
- 菜鸟逆袭记之操作符详解
菜鸟逆袭记之操作符详解 1.算术操作符 2.移位操作符 (1)左移操作符 (2)右移操作符 3.位操作符 4.赋值操作符 5.单目操作符 (1)取地址(&) (2)sizeof与数组 (3)前 ...
- 《谁说菜鸟不会数据分析——入门篇》读书笔记
刘夏璐,狄松. 谁说菜鸟不会数据分析(入门篇)[M]. 电子工业出版社, 2013 文章目录 第一章 数据分析那些事 何谓数据分析 数据分析的作用 1.1 数据分析六部曲 1.1.1 明确分析的目的和 ...
- Java中的映射Map - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的映射Map - 入门篇>,希望对大家有帮助,谢谢 简介 前面介绍了集合List,这里开始简单介绍下映射Map,相关类如下图所示 正 ...
- CCF中学生计算机程序设计入门篇练习题讲解
CCF中学生计算机程序设计入门篇练习题讲解 全部代码下载地址在文末链接 1.温度转换(10001) 2.三角形面积(1002) 3. 猜数游戏(1003) 4.矩形填充(1004) 5.存款收益(10 ...
- 《谁说菜鸟不会数据分析 入门篇》学习笔记
前言: 最近疫情原因,在家准备把从图书馆借的书都看看,好好为将来做准备.这本书主要是EXCEL的操作,对于使用要求不高的我,感觉够用了.毕竟是入门篇,我感觉是跟数据分析的关系不太紧密,更多的是应该这么 ...
最新文章
- 常用对照表之TCP及UDP常见端口参照
- asp.net 无法获取客户端请求的真实协议https
- python中调用c库
- C语言课程设计题库及答案,C语言课程设计题目.docx
- vue 表格中有列需要异步加载_Vue中使用async/await解决异步请求问题
- ASP.NET Web API参数与模型绑定
- TurboMail邮件服务器帮你应付电子邮件归档危机
- ThinkPHP V5.0 正式版发布
- IT奶爸的育儿学习之路
- S7-300 PLC的一次系统故障
- python3.8如何正确安装使用ExcelLibrary
- 服务程序访问共享文件_最佳的免费程序和在线服务,用于发送和共享大文件
- SourceTeee 设置拉取时使用rebase
- 弱威胁感知时代的企业安全--360安全实战
- C#程序开发范例宝典(第三版)(奋斗的小鸟)_PDF 电子书
- SDNUOJ 1168.FBI树
- 解读!10篇人机交互领域高引论文合集
- 钱多多软件制作第三天
- [Vue warn]: Unknown custom element: vhead - did you register the component correctly? For recursiv
- 多模态机器学习综述翻译(转载)
热门文章
- 情话套路大全,哈哈哈~~~
- foxmail怎么设置服务器才能登陆网易企业邮箱
- 升级版飞机大战来袭,手把手教学,万字详解,你还学不会嘛?
- 语料库数据处理个案实例(分词和分句、词频统计、排序)
- python课程回顾复习记录简要6
- [JavaScript 刷题] 搜索 - 腐烂的橘子, leetcode 994
- 我所经历的Android面试|掘金技术征文
- 【报告分享】2021年中国智能运动健身行业研究报告-艾瑞咨询(附下载)
- Invalid regular expression: invalid group specifier name safari白屏 chrome正常
- 计算机毕业设计基于Android二手车交易网站系统app