zoukankan      html  css  js  c++  java
  • java学习笔记(1)java的基础介绍 、JDK下载、配置环境变量、运行java程序

    java工程师是开发软件的

    什么是软件呢?

    计算机包括两部分:

      硬件:

        鼠标、键盘、显示器、主机箱内部的cpu、内存条、硬盘等

      软件:

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

          系统软件:直接和硬件交互的软件:win7、winxp、win8、win10、linux操作系统

          应用软件:

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

            QQ就是系统软件,win7就是操作系统软件

        我们说的软件开发,通常是指,使用变成语言完成“应用软件”的开发

     最基本的windows相关的DOS命令

      DOS命令就在终端输入,win+r   输入cmd,打开的黑呼呼的窗口

      exit-----退出DOS窗口

      cls-----清除屏幕(清除窗口之前输入过的命令  clear)

      DOS窗口中的内容怎么复制,鼠标选中需要复制的内容,右键即可复制,然后在需要输入的地方再次右键,就可以粘贴

      dir-----查看当前目录下的文件列表

      cd-----cd+文件路径    可以跳转到对应的文件下    路径分为:相对路径和绝对路径,绝对路径是重盘头的出发点开始,相对路径是相对当前文件的路径, ../表示上一级 ./表示当前路径   cd+反斜杠  直接回到跟目录(盘头)  怎么切换盘符?   c:    d:  e:   f:  等

    常见windows操作系统的一些操作

      java程序员以后会建很多java文件,但是如果把计算机的隐藏拓展名隐藏的话,一眼看不清是txt文件还是java文件,所以不让计算机隐藏拓展名

      显示隐藏文件的拓展名/显示隐藏文件等:打开文件窗口,--》组织---》文件夹和搜索选项---》查看---》将隐藏文件拓展名的对勾去掉---》应用

    java语言属于一种高级计算机语言,诞生于1995年,创作者是james gosling (詹姆士 高司令)。

    什么是JDK

      JDK是java开发必须安装的工具包,该工具包需要从官网下载。目前SUN被Oracle公司收购了,下载需要去http://www.oracle.com

      官网里面有开发人员选项,进去后,点击Downloads,可以下载JDK。我直接把网址帖过来:https://www.oracle.com/technetwork/java/javase/overview/index.html

      点击downloads,找到JDK下面有个download按钮,进去后可以看到当前JDK最高版本时8,下载之前首先要接受,然后选择下载的操作系统版本,windowsx86或    windowsx64,或者linux。。。等等,选择对应的版本下载JDK即可。

      下载JDK时,会让登陆oracle账号,在网上找了一个:2696671285@qq.com   密码:Oracle123

      资源链接:https://pan.baidu.com/s/1vBh2zA8L5eTJ5fQs7LPbFA     提取码:b8su

    java包括三大块

      javaSE(java标准版)------是基础,是javaEE和javaME方向必须要先学的

      javaEE(java企业版)-------这个方向是开发企业级的东西,我们大多是走的这个方向

      javaME(java微型版)-----这个方向是开发 吸尘器内核等这些微型的东西

    java语言特性:【开源、免费、纯面向对象、跨平台】

      *简单性:

        相对而言的,例如java不再支持多继承,而c++是支持多继承的,多继承比较复杂。

        c++中有指针,java中屏蔽了指针的概念。所以相对来讲,java是简单的。

        java语言底层是c++,不是c语言,java的logo是一杯冒着热气儿的咖啡,咖啡是咖啡豆磨成的,咖啡豆来自java岛,所以叫java

      *面向对象

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

      *可移植性

        什么是可移植性?

          java程序可以做到一次编译到处运行。也就是说,java程序编译后可以在windows系统上运行,不做任何修改,同样可以在linux系统和是哪个运行。

          或者称为跨平台。因为windows操作系统和linux操作系统的操作指令是不同的,要想java跨平台,那么java程序不能直接和操作系统打交道。

          SUN团队很重名,他们让java程序运行在一台虚拟的计算机中,这个虚拟的计算机叫作java虚拟机,简称JVM。之后JVM再和底层的操作系统打交道。

          windows系统和linux系统的JVM(java虚拟机是不一样的),JVM包含在JDK中(工具包),只要到官网下载JDK安装后,自然会有JVM。

      *多线程

        一件事可以多个人同时去干

      *健壮性

        自动垃圾回收机制,简称GC机制。

        java语言运行过程中产生的垃圾是自动回收的,不用程序员关心。

      *安全性

    java的加载与执行

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

        -编译阶段

        -运行阶段

      *编译阶段:主要是检查java源文件(.java)是否符合java语法,如果符合java语法则能够生成正常的字节码文件(.class),否则则不能生成字节码文件

            注意,字节码文件(.class)不是纯粹的二进制文件,不能直接在操作系统上运行

        *编译阶段的过程:

            1、程序员需要在硬盘的某个位置<位置随意>新建一个.java扩展名的文件,该文件被称为java源文件,源文件中编写的是java源代码/源程序。

            而这个源程序是不能随意编写的,必须符合java语法规则<java语法规则是需要记忆的>

            2、java程序员需要使用JDK当中自带的javac.exe命令进行java程序的编译。

              *javac怎么用呢?在哪用呢?

                -在DOS命令窗口中使用

                -javac的使用规则:

                  javac  java源文件的路径

                *javac是java编译器工具/命令。

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

                *字节码文件/.class文件是最终要执行的文件,所以.class文件生成之后,java源文件删除并不会影响java程序的执行。但是一般java源程序一般不要删

                除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需要回头重新修改java源文件,然后将java源文件重新编译生成新的class文件,

                然后再运行这个class程序,生成新的效果。

            3、编译完成之后,可以将.class文件拷贝到其它操作系统运行。【跨平台】

       *运行阶段

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

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

            -在DOS窗口中使用。

            -java.exe怎么用呢?

              java  类名(就是.class文件的文件名)

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

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

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

               千万不要写成这样:  java  C.class   【这样是错误的】

         -运行阶段的过程时怎样的?

          1、打开DOS命令窗口

          2、输入: java  A

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

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

          5、JVM会将A.class字节码文件解释成二进制100101001这样的数据。

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

    ---------------------------------------------------------------------------------------------------------------------------------------------------------

     ----------------------------------------------------------------------------------------------------------------------------------------------------------

     安装JDK

    上面已经下载过JDK了,

     1、双击安装,点下一步

     2、选择安装路径,一般不用改,然后点下一步

     

     3、之后会弹出,是否安装独立的JRE,

      JRE又是什么呢?

        JRE是java程序的run  time(运行时环境)

      JDK、JRE、JVM是什么关系呢?

        如果是开发人员,肯定要安装JDK,开发完后会在运行时环境中运行一下java程序,那么最终的java程序是在JVM中运行的。它们三者的关系如下:

     如果,我们的程序开发好了,只需要给客户部署,那么我们在客户的电脑上就不需要安装JDK了,只安装JRE就行了。

    注意,JDK中是有一个JRE文件的,如果安装独立的,就会和JDK并排的位置,安装上JRE。

    我点了下一步,安装个独立的JRE,

    4、安装过JRE之后,会弹出一个问你当连接地址的弹窗,我们关闭即可,想看的也可以看

     此时:

    至此,JDK安装完成!!

    JDK目录介绍

     下面来简单介绍一下安装JDK后,jdk文件下目录

    JDK/jre:是java的运行时环境,后面会接触

    JDK/bin:该目录下存放很多命令,例如javac.exe和java.exe

        javac.exe负责编译

        java.exe负责运行

    其它的不过多介绍,后面会介绍

    接下来开始开发我们的第一个java程序

    开发java程序

     首先我们建立一个HelloWord.java文件,随便放在硬盘的一个地方

    public class HelloWorld{
        public static void main(String[] args) {
            System.out.println("Hello, world!");
        }
    }

    下一步我们需要编译源文件

    首先加餐javac工具能否用,现在还未配置环境变量,在DOS命令窗口,输入javac加回车,肯定报,javac不是内部或外部命令。在未配置环境变量的情况下,想执行javac命令,我们需要在DOS窗口跳转到JDK的bin目录下才能执行javac命令,因为javac.exe在JDK的bin目录下;

    跳转到JDK的bin目录后,输入javac -version  可以查看javac的版本号

     

     很显然,如果每次编译都需要手动跳转到JDK的bin目录显得有点繁琐,所以我们最好配置上环境变量,这样,只要我们打开DOS窗口,直接输入javac命令就可以用。

     在这里需要说一下,比如说我们在DOS窗口中输入ipconfig就可以直接执行,但ipconfig.exe命令却是在c:windows/System32/的目录下,为了解释这样的问题,我们需要知道windows操作系统是如何搜索硬盘上某个命令的呢?

      1、首先会从当前目录下搜索

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

      3、如果都搜索不到,则报以上错误,(javac不是内部或外部命令)

    那么下面说一下环境变量怎么配置?

    环境变量配置

    右键计算机---属性---高级系统设置---高级---环境变量

     上面是用户变量,下面是系统变量,在用户变量中配置的变量只在当前用户起作用,在系统变量中配置的变量在任何用户下都起作用。

    我们看一下系统变量中path中的值:

    C:ProgramDataOracleJavajavapath;C:Program Files (x86)NetSarangXftp 6;C:Program Files (x86)NetSarangXshell 6;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program FilesGitcmd;C:Program FilesMySQLMySQL Server 5.5in;C:Program Files odejs;C:Program FilesTortoiseSVNin;C:Program FilesVisualSVN Serverin;%JAVA_HOME%in;%JAVA_HOME%jrein

    上面配置了很多的系统变量,都是路径,每个路径代表一个环境变量,每个路径之间用;(分号)隔开。必须是英文分号。

    那么我们只需要把javac.exe所在的目录路径加到系统变量中就行;C:Program FilesJavajdk1.8.0_91in

    然后记得重新打开DOS窗口,否则环境变量不会生效

     记住,环境变量path和java语言没有关系,是windows操作系统的环境变量。

    好了,环境变量配置好之后,我们就可以愉快的用javac命令进行编译了:

      javac 文件路径

      路径可以是绝对路径也可以是相对路径

     

     然后就生成了HelloWorld.class文件,

    需要注意的是,大小写一定注意,另外public指的是公共类,此类名,需要和文件名一样,否则编译报错。

    以上javac 后面跟的是绝对路径,如果跟相对路径该怎么弄呢?

    打开HelloWorld.java文件所在的目录,在路径栏上直接输入cmd回车,就可以打开HelloWorld.java文件所在的目录路径,

    我的HelloWorld.java文件就放在桌面上,再次编译前,需要把原来的编译好的文件删除,(没必要删除,我发现新编译的文件会把之前的编译好的文件覆盖!)

    我们可以删除桌面上所有的.class文件

    输入  del *class即可

     然后再次编译,javac HelloWorld.java

     这就是相对路径

     上面已经编译好java程序了,下面应该运行java程序了

    运行java程序

      首先要检查java.exe命令是否可用,在DOS窗口输入java -version  如果查询出java.exe命令的版本号,代表命令可用

       java命令如何使用

        java 类名

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

        执行java Helloworld  即可运行Hellowrold.class程序

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

        首先需要将DOS窗口的路径切换到HelloWorld.class文件所在的目录

     

     好,程序运行成功!

     另外需要注意,千万不要这样做:java HelloWorld.class  跟上后缀时错误的。

     另外补充一下,我们上述配置过环境变量,这样可以在任何路径下执行java.exe命令,那么这个环境变量是windows操作系统的变量,当我们想为java的运行单独设置环境变量时,可以使用classpath,这个变量虽然也是在环境变量中设置的,但是它属于java的环境变量。当我们运行java命令运行java程序时,类加载器(ClassLoader),会从当前目录下去查找执行文件,当我们制定了classpath后,类加载器就会按照指定的路径去寻找类。

    classpath  可以给类加载器指路,同样的,路径之间用分号隔开,(英文的分号)

     当然也可以将classpath=.

     因为.  指的是当前目录,  ..指的是上级目录

     。后面开始介绍一些java的只是点,请看java学习笔记(2)

      

      

      

      

      

      

  • 相关阅读:
    for 续1
    8 解决多线程对共享数据出错
    7 多线程 全局变量
    6 线程threading
    5 多进程copy文件
    4 进程间通信Queue [kjuː]
    3 进程池
    2 进程multiprocessing [mʌltɪ'prəʊsesɪŋ] time模块
    1 多任务fork Unix/Linux/Mac
    16 pep8 编码规范
  • 原文地址:https://www.cnblogs.com/fqh123/p/11953694.html
Copyright © 2011-2022 走看看