java预备知识

1、计算机结构

计算机包括:
* 硬件
- CPU:中央处理器,负责计算机的核心运算,它是计算机的最核心部件,指挥官。 1 + 1 = 2
- 内存:临时存储区域,程序在运行的过程当中,一些数据的临时存储区域。
- 主板:链接各个部件
- 显卡
- 声卡
- 鼠标
- 键盘
- 硬盘【外存】:永久性保存,断电之后再启动,数据仍然存在。

  • 软件
    - 系统软件:直接和硬件交互的软件
    * windows系列的
    - winxp
    - win7

  • Linux系列的
    - Red Hat
    - Fedora
    - SUN Solaris

  • 应用软件:通常运行在系统软件上
    * QQ
    * 百度云管家
    * Office办公软件

总结:
应用软件是运行在系统软件当中的,系统软件和底层硬盘交互。

2、Java编程语言

可以完成应用软件的开发。

3、安装一个功能比记事本强大的文本编辑器

可以选择:
* Sublim
* EditPlus【我们这里选择】
* UtralEdit

4、安装软件EditPlus

  • 需要注意:
    - 安装到哪个目录了
    - 不要安装额外的插件
    - 安装路径中最好不要有中文

windows操作系统默认情况下是不显示文件扩展名的,作为程序员必须将文件的扩展名显示出来:
* 计算机 --> 组织 --> 文件夹和搜索选项 --> 查看 --> 隐藏已知文件类型的扩展名【对勾去掉】

5、EditPlus工具的设置

  • windows操作系统当中.txt文件统一采用EditPlus工具打开:设置文件的默认打开程序
    • 去除EditPlus工具的默认备份
    • 设置EditPlus的字体大小
    • 设置EditPlus缩进字符:3
      工具 --> 首选项 --> ???

6、windows操作系统当中常用的DOS命令

  • 不使用UI界面,使用DOS命令可以完成所有的操作。

    • 在哪里执行DOS命令?

      • 在DOS命令窗口中可以执行DOS命令
    • 怎么打开DOS命令窗口呢?

      • 快捷键:win + r,打开运行窗口
      • 输入cmd回车
    • 查看IP地址:

      • ipconfig
      • ipconfig /all 可以查看更详细的IP信息,这种查看方式可以看到网卡的物理地址。
        物理地址具有全球唯一性。是在生产网卡的时候,嵌入的编号。
    • 清屏:
      cls

    • DOS窗口当中也可以设置字体和屏幕以及文字的颜色。

    • 退出DOS命令窗口
      exit

    • 怎么从DOS命令窗口当中复制文本:
      任意位置点击鼠标右键–>标记 --> 选择你要复制的文本 --> 点击鼠标右键 (此时已经到剪贴板当中了)
      找一个位置粘贴即可。

    • 查看两台计算机之间是否可以正常通信:

      • ping 192.168.27.23 【发送和接收数据包4次】
      • ping 192.168.27.23 -t 【一直不停的发送和接收数据包】
      • ping www.baidu.com
    • 强行终止DOS命令窗口中正在运行的程序:ctrl + c

    • 打开DOS命令窗口默认所在的路径是:C:\Users\Administrator???

    • 创建目录:mkdir abc【表示在当前所在目录下新建一个目录,起名abc】

    • 关于目录切换命令:cd

      • cd 命令的语法格式:

        cd 路径

      • 路径分为:

        • 绝对路径:
          C:\Users\Administrator
          D:\用户目录\收藏夹
          F:\tools\CamtasiaStudio-v6.00

          从硬盘的根路径作为出发点。

        • 相对路径:
          从当前所在的位置作为起点的路径。

      • 自动补全:
        cd e 【然后按tab键,当前所在的目录下所有以e开始的目录自动补全路径,
        当这个自动补全的路径不是自己想要的路径,可以继续使用tab键】

      • 回到上级目录:cd … 【…是一个路径,代表当前路径的上级路径】
        cd …/…/…/

      • 直接回到根路径:cd \

    • 查看当前目录下所有的子文件和子目录:
      dir

    • 不要把相关重要的资料放到桌面上,因为桌面是属于C盘系统盘。

    • 怎么切换盘符:【不需要使用cd命令】
      c: 回车
      d: 回车
      e: 回车
      f: 回车

    • 打开注册表:
      regedit

7、关于windows操作系统当中常用的快捷键

* win + r	打开运行窗口
* win + d	显示桌面
* win + e	打开资源管理器
* win + L	锁屏
* alt + tab	应用之间的切换

8、“通用的”文本编辑快捷键

* ctrl + a	全选
* ctrl + c	复制
* ctrl + v	粘贴
* ctrl + s	保存
* ctrl + x  剪切
* ctrl + z	撤销
* ctrl + y  重做
* tab			缩进/多行缩进
* shift + tab	取消缩进
* HOME 回到行首
* END	回到行尾
* shift + home	选中一行
* shift + end	选中一行
* ctrl + shift + 向右或者向左的箭头  选中一个单词
* 鼠标双击:选中一个单词
* 鼠标三击:选中一行
* ctrl + end	回到文件末尾
* ctrl + home	回到文件头

9、什么是JDK?

* Java Development Kits
* Java开发工具箱【Java开发必备】
* 可以从Oracle的官网上下载。http://www.oracle.com
* 目前2016-08-30最高版本Java8【Java SE 8u101 / 8u102】
* 下载JDK的时候需要注意:JDK的版本,不同的操作系统需要安装不同版本的JDK。

Java分三大块:1999年

  • JavaSE【Java的标准版本】

  • J2SE是SUN公司为java程序员准备的一套“基础类库”,这套基础类库学习之后,可以完成最基本的操作,
    例如,文件的读写、线程的控制…

  • JavaEE【Java的企业版本】:

    这是SUN公司为程序员专门准备的一套“类库”,这套类库可以协助程序员完成企业级软件的开发
    企业级软件:OA办公系统、进销存系统、超市系统…

  • JavaME【Java的微型版本】

    这是SUN公司为java程序员专门准备的另一套“类库”,这套类库可以协助程序员完成微型设备的嵌入式开发,
    Java最初就是做微型设备嵌入式开发的。

2005年,java诞生十周年的时候,以上的三大模块改名了:
* JavaSE
* JavaEE
* JavaME

关键术语:
* JDK【Java开发工具箱】
* JRE【Java的运行时环境】
* JVM【Java虚拟机】

三者之间的关系:
	JDK 中包含JRE,JRE中包含JVM。

10、Java语言特性

  • 跨平台/可移植
    - 有一种特殊的机制:JVM Java虚拟机
    - Java程序并没有和底层的操作系统直接交互,java程序实际上运行在jvm当中,JVM屏蔽了操作系统之间的差异。
    - 但是有一个前提:不同的操作系统中必须安装不同版本的JVM。
    - 在可移植性方面表现非常好,一次编译,到处运行。
    - 但是为了达到可移植,必须提前在操作系统中安装JDK,JDK有了之后才会有JVM。【JVM不能单独安装】
    这方面体验不是特别好。

  • Java号称:开源、免费、跨平台、纯面向对象。

    • 开源:开发源代码,SUN公司编写的java类库的源代码普通程序员能看到。众人拾柴火焰高。
      这样java程序会很健壮。很少的BUG【漏洞/陷阱】

      • 免费

      • 跨平台:依靠JVM机制【java程序不和操作系统交互,java程序运行在JVM中,JVM和操作系统交互。】
        不同的操作系统有不同版本的JVM。

      • 面向对象:人类在认识现实世界的时候多数是以面向对象的方式认知的。

  • 简单性:
    * 这里的简单说的是相对于C语言来说的。
    * 例如:C语言当中有指针,C++中多继承
    * java取消了指针的概念,取消了多继承,只支持单继承。

    • java支持多线程
    • 健壮性:
      和自动垃圾回收机制有关,Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。
    • java中还有一种特殊的机制:自动垃圾回收机制。GC机制。
      【java运行过程当中有一个“垃圾回收器”一直在守护者。】

11、Java的加载与执行

一个完整的java程序
源文件 xxx.java,无法直接运行。编译是检查源文件语法是否正确
* Java开发的整个生命周期,包括两个重要的阶段,分别是:编译阶段和运行阶段
编译阶段
—编译阶段主要的任务是检查java源程序是否符合java语法,如果正确,生成后缀是.class的文件(字节码文件),
不正确则无法生成

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

  • 编译生成的程序被称为:字节码程序。编译生成的文件是:xxx.class文件(‍字节码文件)

  • 编译和运行可以在不同的操作系统中完成。

  • 程序员在xxx.java文件中编写源代码,源代码必须符合java的语法,这些源代码就是高级语言。
    存放源代码的文件被称为源文件。

  • 过程:

    编译期:【在windows环境中完成】
    - 安装JDK,配置环境
    - 在硬盘的某个位置创建一个xxx.java源文件
    - 打开源文件,在该文件当中编写符合java语法的源程序,然后保存。
    - 使用JDK中自带的javac.exe命令对以上的java源程序进行编译。
    * 编译通过:说明语法没有问题
    - 在硬盘上生成一个或者多个字节码文件【xxx.class】
    * 编译失败:说明源程序某个位置不符合java语法格式。
    * 编译的语法格式:打开DOS命令窗口,输入:javac 源文件路径

    注意:
    - 源文件路径可以是绝对路径,也可以是相对路径。
    - 编译之后,其实java源文件删除不会影响程序的执行。
    - 最好不要将java源文件删除,因为程序最终运行效果不是预期效果的时候,需要
    重新修改java源代码,然后进行重新编译生成全新的class字节码文件,再重新运行
    字节码程序。


    运行期:【可以不在windows中完成,可以换一个操作系统,但前提是该操作系统中已经安装java的运行时环境】

      - 打开命令窗口,在命令窗口中使用java.exe命令运行java程序,语法格式:
      	java 类名
    
      	注意:java这个命令使用的时候,java命令后面不是文件的路径。必须是一个“类名”。
      	例如:
      		java Hello  
      		java Student
      		java User
      		java Product
    
      - 以上程序的执行原理:
      	* java.exe命令执行会启动:JVM
      	* JVM启动之后,马上启动“类加载器-Class Loader”
      	* ClassLoader负责去硬盘的“某个位置”上搜索“类名.class”字节码文件。
      	* 找不到这个.class文件,一定会出现程序异常现象。
      	* 找到了这个.class文件之后,JVM将.class文件转换成"二进制",操作系统可以直接识别二进制,
      	操作系统执行二进制码和底层的硬件平台进行交互。
    

什么是类名?
* 假设硬盘上有一个文件,叫做Hello.class,那么类名就叫做:Hello
* 假设硬盘上有一个文件,叫做Student.class,那么类名就叫做:Student
* 假设硬盘上有一个文件,叫做User.class,那么类名就叫做:User
* 假设硬盘上有一个文件,叫做Product.class,那么类名就叫做:Product

12、开始第一个java程序的开发

  • JDK下载

  • JDK安装
    - 只安装了JDK,独立的JRE没有安装

    • 在硬盘的某个位置上新建一个java源文件:HelloWorld.java

    • 在HelloWorld.java文件中编写源代码

    • 打开命令窗口,使用javac命令进行编译:
      javac 源文件路径

      出现以下错误:
      C:\Users\Administrator>javac
      ‘javac’ 不是内部或外部命令,也不是可运行的程序
      或批处理文件。

      怎么解决?

      第一种方案:切换到javac.exe文件所在的目录,这个时候使用javac.exe不会出问题,但是这种方式比较麻烦。

      第二种方案:配置环境变量path

      原理:windows操作系统在查找某个命令的时候是怎么查找的?
      * 首先会从当前目录下找这个命令
      * 当前目录下不存在这个命令的话,会去环境变量path指定的路径当中查找该命令。
      * 还是找不到则出现错误提示信息。

      • path环境变量隶属于windows操作系统,和java无关,这个环境变量主要用来指定命令的搜索路径。

      环境变量怎么配置?

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

      环境变量配置包括用户级别和系统级别

      任何一个环境变量都有变量名和变量值,例如path环境变量:
      变量名是:path
      值:路径【多个路径之间必须采用分号隔开,而且要求分号必须是半角分号】
      path=C:\Program Files (x86)\Java\jdk1.7.0_75\bin;otherpath;otherpath…

      编译1【绝对路径】:D:\course\JavaProjects>javac D:\course\JavaProjects\02-JavaSE\day01\HelloWorld.java
      或者直接javac 将.java文件拖入DOS窗口
      编译2【相对路径】:D:\course\JavaProjects>javac 02-JavaSE\day01\HelloWorld.java
      直接在路径框输入cmd,回车,进入该目录下
      编译3【相对路径】:D:\course\JavaProjects\02-JavaSE\day01>javac HelloWorld.java

    • 运行:

      • 必须将路径切换到“D:\course\JavaProjects\02-JavaSE\day01”目录下(该目录下有.class文件)

      • 执行:java HelloWorld

      • D:\course\JavaProjects\02-JavaSE\day01>java HelloWorld
        Hello World!
        —JDK安装后,除了自带一个javac.exe之外,还有另一个工具/命令 java.exe,java.exe命令主要负责运行阶段

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

        –在DOS窗口使用 java 类名(无后缀)

13、打开DOS命令窗口,执行java HelloWorld,执行原理?

* java.exe命令会启动JVM
* JVM启动之后会启动类加载器ClassLoader
* ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件
* 找到该文件则执行
* 找不到该文件则报错

疑问:ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的?
	* 默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件
	* 当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath
	* classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATH环境变量属于操作系统】
	* classpath是给ClassLoader类加载器指路的。
	* 设置这样的环境变量:classpath=D:\course\JavaProjects\02-JavaSE\day02
		- 打开dos命令窗口在任意位置,都可以执行:java HelloWorld
	* classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,
	当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径当中加载字节码文件。
	* 综上所述,环境变量classpath不再配置,这样类加载器会自动从当前路径下加载class字节码文件。
	所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在的路径下。
	然后运行。
	* 当然,classpath也可以这样配置:classpath=.

	注意:
		路径中“..”表示上级目录
		路径中“.”表示当前目录

14、关于java源程序当中的注释

  • 什么是注释?注释的作用是什么?
    - 出现在java的源程序当中,对java源代码的解释说明
    - 注释不会被编译到.class字节码文件当中
    - 一个好的开发习惯应该是多编写注释,这样程序的可读性比较强。

    • java中的注释怎么写呢?
      • 单行注释
        //单行注释,只注释当前行

      • 多行注释
        /*
        多行注释
        多行注释
        多行注释
        多行注释
        多行注释

        */

      • javadoc注释
        /**

        • javadoc注释
        • javadoc注释
        • javadoc注释
        • javadoc注释
        • javadoc注释
        • javadoc注释
          */
          注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档。

对HelloWorld程序进行解释:
需要记忆:
* public
* class
* static
* void
* System.out.println(""); 向控制台输出消息
* 类体
* 方法体
* 类体中不能直接编写java语句【除声明变量之外】
* 一个java语句必须以“;”结束
* 方法体中可以编写多条java语句
* 主方法是程序的入口,固定写法,SUN规定的。

15、public class 和 class的区别

  • 一个java源文件当中可以定义多个class

  • 一个java源文件当中public的class不是必须的

  • 一个class会定义生成一个xxx.class字节码文件

  • 一个java源文件当中定义公开的类的话,只能有一个,并且该类名称必须和java源文件名称一致。

  • 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:运行时 java B,
    想执行X.class当中的main方法:java X

  • 注意:当在命令窗口中执行java Hello,那么要求Hello.class当中必须有主方法。没有主方法会出现运行
    阶段的错误:
    D:\course\JavaProjects\02-JavaSE\day02>java Hello
    错误: 在类 B 中找不到主方法, 请将主方法定义为:
    public static void main(String[] args)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值