Java学习笔记1
来源于室友的Java学习笔记
1, 从今天开始大家就是java软件工程师了!!!
2, 什么是软件工程师呢?
是一种职位的名称
通常是通过计算机的某种编程语言完成软件的开发。
3,什么是软件呢?
大家眼前的笔记本电脑就是一台计算机。
计算机包括两部分:
*硬件:鼠标,键盘,显示器,主机箱内部的cpu,内存条,硬盘等...
注意:计算机只有硬件是无法工作的,需要软件驱动硬件才能工作。
*软件包括:系统软件和应用软件
系统软件:
直接和硬件交互的软件,例如:window7,wipxp,win8,win10,linux操作系统
应用软件:应用软件通常运行在系统软件中,例如:qq运行在windows操作系统上。
qq就是应用软件。
win7就是操作系统。
我们通常所说的软件开发一般都是指使用计算机编程语言完成应用软件的开发。
4,开发需要计算机编程语言,计算机编程语言有很多,例如:C语言、c++、Java、.NET、C#、php...
主要学习java编程语言。Java系列的技术。通过学习Java系列的技术完成软件开发。
5,java软件工程师:
通过java编程语言完成应用软件的开发。我们不是搞硬件的,我们是搞软件开发的。
6,学习之前要安装一个文本编辑器:Editplus3
*安装Editpuls3之后取消文件自动备份
*设置字体
*********
7,作为程序员要求掌握最基本的windows相关dos命令
*dos命令在那里编写?
在dos命令窗口当中编写dos命令
*dos命令窗口怎么打开?
开始菜单-->运行-->输入cmd-->回车【默认打开的是黑色的命令窗口,这就是dos窗口】
*常见的dos命令?
- exit 退出当前dos命令窗口
- cls 清屏
- dos窗口中的内容怎么复制:
在dos窗口的任意位置,点击鼠标有右键,然后选择标记,
接下来
- dir 列出当前目录下所有子文件/子目录
- cd命令
* cd命令表示:change directory【改变目录】
*cd命令怎么用呢?
cd 目录的路径
*但是路径包括绝对路径和相对路径
*绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径
*相对路径:表示该路径从当前所在的路径下作为出发点的路径
*假设当前所在的路径是C:\Users\YiDao>,那么在此时输入cd desktop,那么其中desktop就是一个相
对路径,从当前所在的C:\Users\YiDao>这个路径作为出发点,开始找desktop目录。
*假设是这样写的:cd C:\Users\YiDao\desktop其中C:\Users\YiDao\desktop路径就是一个绝对路径。
- cd .. 回到上级目录。
- cd \ 直接回到根目录。
- 怎么切换盘符:
c:回车
d:回车
e:回车
8、关于windows操作系统的文件扩展名的设置:
作为java程序员,以后要新建以.java结尾的文件,所以必须保证文件扩展名是.java
9、计算机语言发展史:
9,1、什么是计算机<编程>语言?
提前的人为制定好的一套交流规则,有的时候,有的语法是需要死记硬背的,不要问为什么。而只要遵守这套
语法规则,那么人和计算机之间就可以很好的沟通,交流。这就是计算机编程语言。计算机编程语言也有很多语种:
如、c语言,java,php等
9,2、计算机语言的发展史:
第一代语言:机器语言
*主要以二进制码,直接编写1001010010101这样的二进制。
以打孔机为代表。
第二代语言:低级语言
*主要以汇编语言为代表
在低级语言中已经引入了一些英文单词,例如变量赋值采用mv
第三代语言:高级语言
*几乎和人类语言完全相同,即使是没有学过计算机编程,只要看到这段代码就知道该代码主要完成什么功能。
例如:C语言,c++,Java。。。。
10、java语言发展史
*Java 语言诞生于1995年。
*其实在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle(甲骨文:做数据库)收购了)为了占领智能电子
消费市场,派James Gosling领导团队开发了一个Oak(橡树)语言。
*1996年:JDK1,0诞生
———什么是JDK?
java开发工具包
做Java开发必须安装的一个工具包,该工具包需要从官网下载。
目前SUN被Oracle收购了,所以下载需要去Oracle下载。http://www.oracle.com
*Java包括三大块:
——JavaSE(标准版)
——JavaEE(企业版)
——JavaME(微型版)
*其中JavaSE是基础,以后主攻方向是JavaEE。
11、java语言特性【开源、免费、纯面向对象、跨平台】
*简单性:
相对而言的,例如java中不再支持多继承,c++是支持多继承的多继承比较复杂
c++中有指针,java中屏蔽了指针的概念。
所以相对来说java是简单的。
java语言底层是c++实现的。不是C语言。
*面向对象
java是纯面向对象的。更符合人的思维模式。更容易理解。
*可移植性
什么是可移植性?
java程序可以做到一次编译,到处运行。
也就是说java程序可以在windows操作系统上运行,不做任何修改
同样的java程序可以直接放到linux操作系统上运行,
这个被称为java程序的可移植性,或者叫做跨平台。
windows操作系统内核和Linux操作系统的内核肯定不同,他们这两个操作系统执行指令的方式也是不
一样的。
结论: 显然java程序不能直接和操作系统打交道。因为java程序只有一份。操作系统执行原理都不同。
SUN的团队很聪明,他们想了一个办法,他们让Java程序运行在一台虚拟的计算机上,这个虚拟的计
算机叫java虚拟机简称JVM。java虚拟机再和底层的操作系统打交道。
*多线程
*健壮性:自动垃圾回收机制有关,自动垃圾回收机制简称GC机制
java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心
*安全性
........
12、java的加载与执行:
*java程序的运行包括两个重要的阶段
- 编译
- 运行
*编译阶段
- 主要任务检查java源程序是否符合java语法,不符合java语法则无法生成字节码文件
符合java语法则能够生成正常的字节码文件(***.class)
- 字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行。
- 编译阶段的过程:
* 程序员需要在硬盘的某个位置<位置随意>新建一个.java扩展名的文件,该文件被称为java源文件,
源文件中编写的是java源代码/源程序。
而这个源程序是不能随意编写,必须符合java语法规则<java语法规则是需要记忆的>
* java程序员需要使用JDK当中自带的javac.exe命令进行java程序的编译。
javac.exe怎么用?在哪用?
- javac.exe使用规则:
Javac java源文件的路径
- 在dos命令窗口中使用。
javac是一个java编译器工具/命令。
*一个java源文件可以编译生成多个<.class>文件。
*字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行。
但一般java源程序不要删除,因为class文件最终执行效果可能不是我们想要的
那么这个时候需要回头重新修改java源程序,然后将java源程序重新编译生成新的class文件,然后再运行这个class
程序,生成新的效果。
*编译结束之后可以将class文件拷贝到其他操作系统当中运行。【跨平台】
*运行阶段
- JDK安装之后,除了自带的javac.exe之外,还有另一个工具/命令,叫java.exe。java.exe命令主要负责运行阶段。
- java.exe在哪里用?怎么用?
- 在dos窗口中使用。
- java.exe怎么使用?
java 类名
例如:
硬盘上有一个A.class,那么就这样用:java A
B.class,那么就这样用:java B
千万注意:不要写成:java A.class【这种方式是错误的】
- 运行阶段的过程是:
* 打开dos命令窗口
* 输入:java A
* java.exe命令会启动java虚拟机(JVM),JVM会启动类加载器classLoader
*classLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件载到JVM当中。
*JVM将A.class字节码文件解释成二进制的数据。
*然后操作系统执行二进制和底层硬件平台进行交互。
13、开始第一个java程序
* 保证计算机当中已经安装了文本编辑器
*安装JDK【需要从Oracle官网下载】
*JDK,JRE,JVM的关系搞清楚
*JDK目录的介绍:
JDK/bin:该目录下存放了许多命令,例如javac.exe和java.exe
javac.exe负责编译
java.exe负责运行
*开发HelloWorld.java源程序【照抄,不要问为什么,注意大小写】
*将HelloWorld.java源程序通过javac工具进行编译:
——首先需要解决的问题:javac命令是否可用
——打开dos命令窗口,直接输入javac,然后回车,出现以下:
’javac‘不是内部或外部命令,也不是可运行程序或批准文件
出现以上问题是因为:windows操作系统无法找到javac命令文件
——怎么解决以上javac不可用的问题?
windows操作系统是如何搜索硬盘上的某个命令的呢?
*首先会从当前目录下搜索
*当前目录搜索不到的话,就会从环境变量path指定路径当中搜索某个命令
*如果都搜索不到,则报以上错误。
——配置环境变量path
*注意:path环境变量和Java语言没有关系,path环境变量是属于windows操作系统的一个知识点。
path环境变量是专门给windows操作系统指路的。
*javac要想能随时使用,需要将javac所在的目录配置到环境变量path中:
path=xxx;c:Program Files\Java\jdk1.7.0_80\bin
——javac命令怎么用?
java java源文件路径
注意:路径包括相对路径和绝对路径,都可以。
*运行java程序:
——需要使用java.exe命令
——首先测试java命令是否可用
——使用方式:
java类名
硬盘上有HelloWorld.class,那么类名就是:HellWorld
java HelloWorld
一定要注意Java命令后跟的不是文件路径,是一个类的名字。
——首先你需要先将dos窗口中的目录切换到HelloWorld.class文件所在目录。
——然后执行java HelloWorld