Java零基础_day01_课堂笔记

笔记说明:记录视频课程中老师写的笔记(相当于抄板书,目的是加强记忆),附带自己的思考和总结(用块引用格式标记),“学而不思则罔,思而不学则怠”,用反复学习思考总结的方式,督促自己进步。  由于自己是零基础学起,遇到困难是难免的,要做好心理准备,克服困难向前走。时常反思复习,温故知新,加深理解。

1.角色转变:从今天开始就是Java软件工程师了

2.什么是软件工程师?

   是一种职位的名称,通常是通过“某种编程语言”完成软件的开发

3.什么是软件呢?

   大家眼前的笔记本就是一台计算机,计算机包括两部分:

        * 硬件:鼠标、键盘、显示器。主机内存的CPU、内存条、硬盘等等...(注意:计算机只有硬件是无法工作的,需要软件驱动才能工作)

       * 软件:软件包括 系统软件和应用软件

                系统软件:直接和硬件交互的软件,例如:windows7、winxp、win8、win10、Linux操作系统

                应用软件:应用软件通常运行在系统软件中,例如:QQ运行在windows操作系统上。QQ就是应用软件。win7就是操作系统。

           我们通常所说的软件开发一般都是指使用计算机编程语言完成“应用软件”的开发。

4.开发软件需要计算机编程语言,计算机编程语言很多,例如:C语言、C++、Java、.NET、C#、php。咱们主要学习那个编程语言呢?Java编程语言,java系列的技术。通过学习Java系列的技术完成应用软件开发。

5.Java软件工程师:通过Java编程语言完成应用软件的开发。

6.学习之前先安装一个好用的文本编辑器,这里安装的是EditPlus3

    * 安装EditPlus之后取消文件自动备份

    * 设置字体

    ...

7.作为程序员要求掌握最基本的windows相关的DOS命令

    具体已经整理到专题博客:https://blog.csdn.net/CealWang/article/details/104145647

8.关于windows操作系统的文件扩展名的设置

文件的扩展名决定文件的类型

作为Java程序员,以后要新建.java结尾的文件,所以必须保证文件的扩展名是.java

做法:打开计算机-->组织-->文件夹和搜索选项-->查看-->隐藏已知文件类型的扩展名,把前面对勾去掉

Java零基础_day01_课堂笔记_第1张图片

 

9.计算机语言发展史

  9.1 什么是计算机<编程>语言?

      提前的人为的制定好的一套交流规则,有时候,有的语法是需要死记硬背的,不需要问为什么。而只要遵守这套语法规则,那么人和计算机之间就可以很好地沟通、交流。这就是计算机编程语言。计算机编程语言有很多种,例如:C语言、C++、Java、PHP...

  9.2 计算机语言发展史:

      第一代语言:机器语言

           主要编写二进制码,直接编写100101010101这样的二进制,以打孔机为代表。体积大,容错率小

      第二代语言:低级语言

           主要以汇编语言为代表,在低级语言中已经引入了一些英语单词,例如变量赋值采用mv

      第三代语言:高级语言

           几乎和人类的语言完全相同,即使是没有学习计算机编程,只要看到这段代码就知道该代码主要完成什么功能。例如:C语言、C++、Java、....

总之,编程语言的发展方向是:向着人类更加容易理解的方向发展。

10.Java语言发展史:

* Java语言诞生于1995年。在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle收购了。Oracle甲骨文:做数据库的。)为了占领智能电子消费市场,派James Gosling领导团队开发了一个Oak(橡树)语言。

* 1996年:JDK1.0诞生

    - 什么是JDK?       Java开发工具包;做Java开发必须安装的一个工具包,该工具包需要从官网下载。目前SUN被Oracle收购了,所以下载需要去Oracle的官网下载。http://www.oracle.com

* 目前JDK最高版本是:Java8/JDK1.8/JDK8   

课后任务:1.查一下2020年最高版本

2.自己电脑有没有安装java

在DOS窗口中,用java -version 命令查了一下,我的电脑已经安装了java  1.8.0_91  版本

* Java包括三大块:

     - JavaSE(Java标准版)

     - JavaEE(Java企业版)

     - JavaME(Java微型版)

     其中JavaSE是基础

反思:第一次把java三种对应的版本理清楚了,以前都是模糊印象,没有注意区分过。

专门学了java课程,要注意区分不同的概念,才能更好的入门。

11.Java语言特性【开源、免费、跨平台、纯面向对象】

* 简单性:

     相对而言的,例如java中不再支持多继承,C++是支持多继承的,多继承比较复杂;C++中有指针,Java中屏蔽了指针的概念。所以相对来说Java是简单的。

     Java语言底层是C++实现的,不是C语言。

* 面向对象

      Java是纯面向对象的,更符合人的思维模式,更容易理解。

* 可移植性

     什么是可移植性?    Java程序可以做到 一次编译,到处运行。如:Java程序可以在windows操作系统上运行,不作任何修改的情况下,同样可以直接放在Linux操作系统上运行。这被称作Java程序的可移植性,或者叫做跨平台。

    windows操作系统和Linux操作系统的内核肯定不同,这两个操作系统执行指令的方式也不一样。显然,java程序不能直接和操作系统打交道,因为java程序只有一份,操作系统执行原理都不同。

   SUN团队很聪明,想了一个办法,他们让java程序运行在一台虚拟的计算机中,这个虚拟的计算机叫做Java虚拟机,简称JVM。Java虚拟机再和底层的操作系统打交道。

在这里自我总结一下:Java虚拟机,为了解决java跨平台运行的问题,实现java程序的可移植性

重点理解可移植性(跨平台)

* 多线程

* 健壮性

      和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制。Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。(C++语言中,程序员分配一块空间,一定要记得释放掉一块空间,否则时间久了会造成大量内存泄露,导致内存溢出,程序崩溃;Java语言中,程序员只负责申请空间,不需要释放,Java语言会自动回收垃圾)     

* 安全性

....

12.Java的加载与执行

Java零基础_day01_课堂笔记_第2张图片

     * Java程序的运行包括两个非常重要的阶段

          - 编译阶段

          - 运行阶段

   * 编译阶段

          - 编译阶段主要的任务是检查Java程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件(xxx.class);不符合Java语法规则无法生成字节码文件

         - 字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行

        - 编译阶段的过程:

              * 程序员需要在硬盘的某个位置<位置随意>新建一个扩展名为.java的文件,该文件被称为源文件,源文件中编写的是Java源代码/源程序。这个源程序不能随意编写,必须符合Java语法规则

             * Java程序员需要使用JDK中自带的javac.exe命令进行Java程序的编译。

                    javac在哪用? 怎么用?

                       - 在DOS命令窗口中使用。                         

                       - javac的使用规则:

                              javac java源文件的路径

                          javac是一个java编译工具/命令。

              * 一个java源文件可以编译生成一个或多个.class文件。【以后再说】

              * 字节码文件/class文件是最终要执行的文件,所以class文件生成之后,删除java源文件并不会影响java程序执行,但是一般不要删除java源程序,因为class文件最终执行效果可能不是我们想要的,这时候需要回头修改java源程序,然后将java源程序重新编译生成新的class文件,然后再运行新的class文件生成新的效果。

              * 编译结束后,可以将class文件拷贝到其他操作系统中运行。【跨平台】

   * 运行阶段 【可以在其他操作系统中运行,跨平台】

          - JDK安装之后,除了自带一个javac.exe,还有另一个工具/命令,叫做java.exe,主要负责运行阶段。

          - java.exe在哪里用?怎么用? 

               - 在DOS窗口中使用

               - java.exe使用规则:

                    java 类名

                    例如:

                           硬盘上有一个A.class,那么就这样用:  java A

                           硬盘上有一个B.class,那么就这样用:  java B

                           硬盘上有一个C.class,那么就这样用:  java C

                           千万要注意:不能写成这样:java A.class【这种方式是错误的,不要带扩展名,要记住】

             - 运行阶段的过程:

                  * 打开DOS命令窗口

                  * 输入  java A

                  * java.exe命令启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader

                  * ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM中。

                  * JVM将A.class字节码文件解释成二进制1010101010这样的数据。

                  * 然后操作系统执行二进制和底层硬件平台进行交互。

13.开始第一个Java程序

     * 保证计算机中已经安装了文本编辑器Editplus(我的电脑安装了Notepad++,试试能不能用)

     * 安装JDK【JDK一般需要从Oracle的官网下载】,我们这里讲解的是JDK7

   13.1 JDK、JRE、JVM的关系,搞清楚

       * JDK:Java开发工具包,Java开发人员一定要安装

       * JRE:Java Runtime Environment,Java运行时环境,Java程序开发完之后,只要有一个运行环境就可以运行Java程序。

       * JVM:Java虚拟机,Java程序最终运行在JVM上的,JRE包括Java虚拟机(JVM)的。JVM没有单独的安装软件。

       * JDK和JRE都有单独的安装软件,一般JDK都会自带一个JRE。如果不在这台电脑上做Java开发,仅仅是需要运行Java程序,不需要安装JDK,只安装JRE就可以,JRE的体积比较小。比如在客户的机器上运行程序,只需安装JRE,而JRE中包含了JVM。三者的关系可以用下图表示。

Java零基础_day01_课堂笔记_第3张图片

  13.2 JDK目录介绍:

         JDK/bin:该目录下存放了很多命令,例如javac.exe和java.exe。javac.exe负责编译,java.exe负责运行

   13.3 开发HelloWorld.java源程序【照抄,不要问为什么,注意大小写】

   13.4 将HelloWorld.java源程序通过javac工具进行编译:

          - 首先需要解决的问题是:javac命令是否可用

          - 打开DOS命令窗口,直接输入javac,然后回车,出现报错:

                    'javac'不是内部或外部命令,也不是可运行的程序或批处理文件。             

              以上问题是因为:windows操作系统无法找到javac命令文件

          - 怎么解决以上javac不可用的问题?

              - windows操作系统是如何搜索硬盘上某个命令的呢?

                  * 首先从当前目录下搜索

                  * 当前目录搜不到的话,会从环境变量path指定的路径中搜索某个命令

                  * 如果都搜索不到,则报以上错误。

              - 配置环境变量path

                  * 注意:path环境变量和java语言没有关系,path环境变量是属于windows操作系统的一个知识点,是专门给windows操作系统指路的。

                  * java要想能随意使用,需要将javac所在的目录配置到环境变量path中,用法:path=xxxx;D:\programs\Java\jdk1.8.0_91\bin    路径之间要用分号隔开,必须是英文分号“;”。

                  * 修改环境变量后,一定要先退出DOS窗口,用exit命令退出,再重新打开一个

                        - 环境变量修改说明,如下图,环境变量有两个部分,:

                                         Java零基础_day01_课堂笔记_第4张图片

        - javac命令怎么用?

               javac java源文件路径

              注意:路径包括绝对路径和相对路径两种方式

              * 绝对路径方式:1.开始-运行-cmd,打开DOS命令窗口   

                                          2.输入javac 再直接把java源文件拖拽到javac后面,会直接显示java源文件所在的绝对路径 

                                          3.回车

                          没有报错的话,会在java源文件所在目录下生成一个.class文件,编译成功了。 

    编译时,我的程序出现了一个报错,"String"的"S"没有大写。注意java是大小写敏感的,编译过程如下图:               

                               Java零基础_day01_课堂笔记_第5张图片

              * 相对路径方式:

                           1.打开java源程序所在的文件,在目录栏输入cmd,打开DOS命令窗口,在源文件所在的目录操作DOS命令

                           2.输入dir,回车,查看当前目录下的文件,确定路径是对的

                           3.输入del *class,删除HelloWorld.class文件

                           4.直接输入javac HelloWorld.java

                           5.回车,生成class文件,编译成功

收获:1.步骤1打开DOS命令窗口的方式,将DOS窗口中的目录切换到源文件所在目录下,比较便捷,不用依次切换盘符;2.记得用dir检查目录是否正确;3.学到了DOS命令的删除命令del

            Java零基础_day01_课堂笔记_第6张图片

                13.5运行java程序:

                      - 需要使用java.exe命令

                      - 首先测试java命令是否可用

                      - 使用方式:java 类名

                             硬盘上有HelloWorld.class,那么类名就是:HelloWorld

                             java HelloWorld

                             一定要注意:java命令后面跟的不是文件路径,是一个类的名字。

                       - 首先你需要将DOS窗口中的目录切换到HelloWorld.class文件所在目录。dir确定当前目录下真的有HelloWorld.class文件。

                       - 然后直接执行:java HelloWorld       敲回车,效果就是输出 Hello World! 运行结束。效果如下:

                Java零基础_day01_课堂笔记_第7张图片

        

你可能感兴趣的:(Java零基础)