标签:文件 Java javac 知识 HelloWorld 由来 java class
day01课堂笔记
1、什么是软件工程师呢?
是一种职位的名称<br>通常是通过计算机的某种编程语言完成软件的开发
2、什么是软件呢?
大家眼前的笔记本电脑就是一台计算机。<br>计算机包括两部分:<br> * 硬件:鼠标、键盘、显示器、主机箱内部的CPU,内存条、硬盘<br> 注意:计算机只有硬件是无法工作的,需要软件驱动硬件才能工作<br> * 软件:软件包括:系统软件和应用软件<br> 系统软件:<br> 直接和硬件交互的软件<br> 应用软件<br> 应用软件通常运行在系统软件中
3、开发软件需要计算机编程语言,计算机编程语言很多,咱们主要学习哪个编程语言呢
java编程语言。java系列的技术<br>通过学习java系列的技术完成应用软件开发
4、Java软件工程师
通过Java编程语言完成应用软件的开发。<br>我们不是搞硬件的,我们是搞软件开发的
5、作为程序员要求掌握最硼酸的windows相关dos命令
* DOS命令在哪里编写?<br> 在DOS命令窗口当中编写DOS命令<br> <br>* DOS命令窗口怎么打开呢?<br> ...<br> <br>* 常见的DOS命令?<br> - exit退出当前窗口<br> - cls清空屏幕<br> - dir列出当前目录下的子目录或者文件<br> - cd命令<br> * cd命令怎么用呢?<br> cd 目录的路径<br> * 但是路径包括绝对路径和相对路径<br> * 绝对路径:表示该路径从某个磁盘的盘符下作为出发点的路径<br> * 相对路径:表示该路径从当前所在的路径下作为出发点的路径<br> * 假设当前所在路径是C:\Users\Administrator,那么在此时输入<br> cd Desktop,那么其中Desktop就是一个相对路径,从当前所在的<br> C:\Users\Administrator这个路径作为出发点,开始找Desktop目录 <br> - 切换盘符<br> c:<br> d:<br> f:
6、计算机语言发展史
6.1、什么是计算机<编程>语言?<br> 提前的人为制定好的一套交流规则,有的时候,有的语法需要我们死记硬背<br> 而只要遵守这套语法规则,那么人和计算机之间就可以很好的沟通交流。这就是计算机编程语言<br> 计算机编程语言也有很多语种。:例如:c语言 c++ Python Java<br> <br>6.2、计算机语言发展史:<br> 第一代语言:机器语言<br> 主要编写二进制码,直接编写101010101010这样的二进制<br> 以打孔机为代表<br> 第二代语言:低级语言<br> 主要以汇编语言为代表<br> 第三代语言:高级语言<br> 几乎和人类的语言完全相同,即使是没有学习过计算机编程,只要看到这段代码就知道该代码主要完成什么功能<br> 例如:c语言、c++、python、Java、...<br> 总之,大家看到了编程语言的发展方向是:向着人类更加容易理解的方向发展
7、Java语言发展史
* Java语言诞生于1995年<br><br>* 其实在1995年之前SUN公司(太阳微电子公司:该公司目前被oracle收购了),为了占领智能电子㴯市场,派James Gosling领导团队开发了一个Oak语言。<br><br>* 1996年:JDK1.0诞生 <br> - 什么是JDK?<br> Java开发工具包<br> 做Java开发必须安装的一个工具包,该工具包需要从官网下载<br> 目前SUN被Oracle收购了,所以需要去oracle下载<br> <br>* 目前JDK最高版本是:<br><br>* Java包括三大块:<br> - JavaSE(Java标准版)<br> - JavaEE(Java企业版)<br> - JavaME(Java微型版)<br> 其中JavaSE是基础,以后主攻方向是JavaEE
8、Java语言特性
* 简单性:<br> 相对而言的,例如Java中不再支持多继承,c++是支持多继承,多继承比较复杂,c++中有指针,Java中屏蔽了指针的概念,所以相对来说Java是简单的。Java语言底层是c++实现的。不是c语言。<br> <br>* 面向对象<br> Java是纯面向对象的。更符合人的思维模式。更容易理解<br> <br>* 可移植性<br> 什么是可移植性?<br> java程序可以做到一次编译,到处运行,也就是说java程序可以在windows操作系统上运行,不做任何修改,同样的java程序可以直接放到Linux系统上运行。Windows操作系统内核和Linux操作系统的内核肯定不一同,他们这两个操作,系统执行指令的方式也是不一样的。<br> 结论:显然java程序不能直接和操作系统打交道。操作系统执行原理都不同。SUN的团队很聪明,他们想了一个办法,他们让java程序运行在一台虚拟的计算机上。当中,这个虚拟的计算机叫做Java虚拟机,简称JVM。Java虚拟机再和底层的操作系统打交道。<br> <br>* 多线程<br><br>* 健壮性:<br> 和自动垃圾回收机制有头,自动垃圾回收机制简称GC机制。<br> Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。<br> <br>* 安全性
9、Java的加载与执行
* Java程序的运行包括两个非常重要的阶段<br> - 编译阶段<br> - 运行阶段<br> <br>* 编译阶段<br> - 编译阶段主要的任务是检查Java源程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件。不符合Java语法则不能生成字节码文件。<br> - 字节码文件不是纯粹的二进制,这种文件无法在操作系统当中直接执行<br> - 编译阶段的过程:<br> * 程序员需要在硬盘某个位置新建一个.java扩展名的文件,该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。而这个源程序是不能随意编写,必须符合Java语法规则<br> * Java程序员需要使用JDK当中自带的javac.exe命令进制Java程序编译<br> javac怎么用呢?在哪里用呢?<br> - 在DOS命令窗口中使用<br> - javac的使用规则:<br> javac java源文件的路径<br> javac是java的一个编译工具<br> * 一个java源文件可以编译生成 多个.class文件。<br> * 字节码文件/.class文件是最终要执行的文件,所以详class文件生成之后,java源文件删除并不会影响java程序的执行,但是一般java源程序不要删除,因为class文件最终执行的效果可能不是我们想要的,那么这个时候需要回头重新修改java源程序,然后将java源程序重新编译执行生成新的class文件,然后再执行这个java程序,生成新的class文件。<br> * 编译结束之后,可以将class文件拷贝到其他操作系统当中运行<br> <br><br>* 运行阶段<br> - JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,做java.exe,java.exe命令主要用在运行阶段。<br> - java.exe在哪里用?怎么用?<br> - 在DOS窗口中使用。<br> - java.exe怎么用呢?<br> java 类名<br> 例如:<br> 硬盘上有一个A.class,那么就这样用:java A<br> 千万要注意:不要写成这样:java A.class 【这样是错误的】<br> - 运行阶段的过程是:<br> * 打开ODS命令窗口<br> * 输入:java A<br> * java.exe命令会启动Java虚拟机(JVM), JVM会启动类加载器ClassLoader<br> * ClassLoader会去硬盘上搜索A.class文件,找到该文件将该字节码装载到JVM当中。<br> * JVM将A.class字节码文件解释成二进制10101010这样的数据<br> * 然后操作系统执行二进制和底层硬件平台进行交互
10、开始第一个Java程序
* 保证计算当中已经安装了文本编辑器EditPlus<br>* 安装JDK【JDK一般需要wworacle官网下载】<br>* JDK、JRE、JVM的关系搞清楚<br>* JDK目录的介绍:<br> JDK/bin:该目录下存放了很多命令,例如javac.exe和java.exe<br> javac.exe负责编译<br> java.exe负责运行<br>* 开发HelloWorld.java源程序<br>* 将HelloWorld.java源程序通过javac工具进行编译:<br> - 首先需要解决的问题是:javac命令是否可用<br> - 打开DOS命令窗口,直接输入javac,然后回车,出现以下:<br> 'javac' 不是内部或外部中命令,也不是可运行的程序或批处理文件。<br> 出现以上问题是因为:windows操作系统无法找到javac命令文件<br> - javac -version 查看javac版本<br> - 怎么解决以上javac不可用的问题?<br> windows操作系统是如何搜索硬盘上某个命令的呢?<br> * 首先会从当前目录下搜索<br> * 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令<br> * 如果都搜索不到,则报以上错误<br> - 配置环境变量path<br> * 注意:path环境变量和java语言没有关系,path环境变量是属于windows操作系统的一个知识点。path环境变量是专门给indows操作系统指路的。<br> * javac要想能随意使用,需要将javac所在的目录配置到环境变量path当中<br> - javac命令怎么用?<br> java java源文件路径<br> 注意:路径包括相对路径和绝对路径都可以<br>* 运行java程序:<br> - 需要使用java.exe命令<br> - 首先测试java命令是否可用<br> - 使用方式:<br> java 类名<br> 硬盘上有HelloWorld.class,那么类名就是:HelloWorld<br> java HelloWorld<br> 一家要注意:java命令后面跟的不是文件路径,是一个类的名字。<br> - 首先你需要先将DOS窗口中的上当切换到HelloWorld.class文件所在目录<br> - 然后直接执行:java HelloWorld
//源程序文件: HelloWorld.java <br>public class HelloWorld{<br> public static void main(String[] args){<br> System.out.println("Hello World!");<br> }<br>}<br>
11、打开DOS命令窗口,执行java HelloWorld,执行原理?
* java.exe命令会启动JVM<br>* JVM启动之后会启动类加载器ClassLoader<br>* ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件<br>* 找到该文件则执行<br>* 找不到该文件则报错<br><br>疑问:ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的?<br> * 默认情况下,Classloader从当前路径下加载xxx.class字节码文件<br> * 当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这里需要配置环境变量classpath<br> * classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATH环境变量属于操作系统】<br> * classpath是给ClassLoader类加载器指路的。<br> * 设置这样的环境变量:classpath=D:\course\JavaProjects\02-JavaSE\day02 【配置环境变量可以自行搜索】<br> - 打开dos命令窗口在任意位置,都可以执行:java HelloWorld<br> ps: 前提是你应该把你写好的.java结尾的源文件放到你配置好的classpath环境变量<br> * classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径当中加载字节码文件。<br> * 综上所述,环境变量classpath不再配置,这样类加载器会自动从当前路径下加载class字节码文件。所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在的路径下。然后运行。<br> * 当然,classpath也可以这样配置:classpath=.
12、关于java源程序当中的注释
* 什么是注释?注释的作用是什么?<br> - 出现在java源程序当中,对java源代码的解释说明<br> - 注释不会被编译到.class字节码文件当中<br> - 一个好的开发习惯应该是多编写注释,这样程序的可读性会增强<br> <br>* java中的注释怎么写呢?<br> - 单行注释<br> //单行注释,只注释当前行<br> - 多行注释<br> /*<br> 多行注释<br> 多行注释<br> ...<br> */<br> - javadoc注释<br> /**<br> * javadoc注释<br> * javadoc注释<br> * javadoc注释<br> */<br> 注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档
13、HelloWorld源程序代码简单解析
//public表示公开的<br>//class表示定义一个类<br>//HelloWorld表示一个类名<br>public class HelloWorld{ // 表示定义一个公开的类,起名HelloWorld<br> <br> //类体中不允许直接编写java语句【除声明变量之外】<br> //编译会报错<br> //System.out.println("Hello World!");<br> <br> //类体【记住】<br> <br> /*<br> public表示公开的<br> static表示静态的<br> void表示空<br> main表示方法名是main<br> (String[] args) 是一个main方法的形式参数列表<br> 需要记住的是:<br> 以下的方法是一个程序的主方法,是程序的入口<br> 是SUN公司规定的,固定编写方法。<br> */<br> public static void main(String[]){<br> //方法体<br> //方法体<br> //方法体<br> //方法体<br> <br> //java语句【java语句以";"终止,分号必须是半角分号】<br> System.out.println('Hello, World!');<br> }<br>}
14、public class 和 class的区别
* 一个java源文件当中可以定义多个class<br>* 一个java源文件当中不一定有public的class<br>* 一个class会定义生成一个xxx.class字节码文件<br>* 一个java源文件当中定义公开的类的话,public的class只能有一个,并且该类名称必须和java原文件名称一致<br>* 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行.class中的main方法:java B<br>* 注意:当在命令窗口中执行java Hello,那么要求Hello.class字节码文件当中Hello类中必须有主方法,没有主方法会出现运行阶段的错误:
15、总结第一章需要掌握的内容
* 理解java的加载与执行<br>* 能够自己搭建java的开发环境<br>* 能够独立编写HelloWorld程序,编译并运行<br>* 掌握环境变量path的原理以及如何配置<br>* 掌握环境变量classpath的原理以及如何配置<br>* java中的注释<br>* public class 和 class的区别
标签:文件,Java,javac,知识,HelloWorld,由来,java,class
来源: https://www.cnblogs.com/jingxian666/p/16390606.html