JavaSE 黑马程序员_java基础学习笔记01

时间:2022-01-21 04:22:30

第一章java概述

 

            学习目标:

²        理解Java是什么

²        了解 Java 能干什么

²        理解 Java 有什么

²        了解 Java 的历史、现状和特点

²        理解 Java 从代码到运行的过程

²        理解  Java 虚拟机的功能

²        理解垃圾收集是如何进行的

²        理解 Java 代码安全性

²        掌握 Java 开发环境配置

²        编写、编译并运行简单的 Java 程序

一:学习方法:

       1.注重理解, 

二:心态调整:

1.          切勿急躁。

 解决方法:注重团结合作。学习最重要的方法 :交流。

2.         不要攀比。以免造成心态紊乱。

3.          结果不重要,重要是提升自己。

4.          遇事冷静。

5.          提高上课效率。

6.          尽量不要翻视频。

 解决问题,遇到的两个状况:害羞(得问问题),抓狂。


三:每天自省。知道自己每天要做什么。

 对于任何一个技术先做个了解。
 这个技术是什么?
 
这个技术有什么特点?
 
这个技术怎么用?
 
这个技术什么时候用?
 
这个技术怎么讲? 讲给别人听是需要技巧的。
  
能讲就证明自己真的懂了。
 
验证自己学没学到这个技术。
----------------------------------------------------------------------------------------------------------

 

四:基础常识

1.         软件开发

1)        什么是软件?

a)         •软件:一系列按照特定顺序组织的计算机数据和指令的集合。

b)        •常见的软件:

                                                    i.              •系统软件:

1.         如:DOSwindowsLinux等。

                                                  ii.              •应用软件:

1.         如:扫雷,迅雷,QQ等。

2)        什么是开发?

a)         •制作软件

2.         人机交互:
  

a)         软件的出现实现了人与计算机之间的更好的交互。

b)        交互方式:

                                      i.              图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。

                                    ii.              命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
四:基本命令提示符。  

 

 

  

3.         命令行方式:特点:需要一个控制台,需要输入特定的指令,比较麻烦,需要记住一些命令。

dos命令行,课程中常见的命令

dir : 列出当前目录下的文件以

md : 创建目录

rd : 删除目录

cd : 进入指定目录,改变目录

cd.. : 退回到上一级目录

cd/ : 退回到根目录

cls清屏。

del : 删除文件

exit : 推出dos命令行


五:计算机语言

l         通过DOS命令行的演示,发现原来操作计 

算机就如同和计算机说话一样。

l         我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须识别才可以。这就是计算机语言。

 

六:java语言概述

1.1 什么是计算机语言?

    • 语言:是人与人之间用于沟通的一种方式。

例如:中国人与中国人用中文沟通。

而中国人要和韩国人交流,就要学习韩语。

    • 计算机语言:人与计算机交流的方式。

如果人要与计算机交流,那么就要学习计算机语

计算机语言有很多种,如:CC++Java

这里,我们选择其中的一种:Java语言。

 

1.2 Java语言概述

l         SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。

l         是一种面向Internet的编程语言。

l         随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

l         是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。

1.2.1 Java语言的三种技术架构

J2EE(Java 2 Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案。

该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web应用程序开发。

J2SEJava 2 Platform Standard Edition)标准版

是为开发普通桌面和商务应用程序提供的解决方案。

该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。

比如Java版的扫雷。

J2ME(Java 2 Platform Micro Edition)小型版

是为开发电子消费产品和嵌入式设备提供的解决方案。

该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。

Java5.0版本后,更名为 JAVAEE    JAVASE    JAVAME

 

1.2.2 Java语言的特点:

1.Java的特性和优势:简单性、面向对象、可移植性(write once,run anywhere)、高性能、分
布式、劢态性、多线程、安全性、健壮性。

(1)    Java的特性和优势:简单性、面向对象、可移植性(write once,run anywhere)、高性能、分布式、动态性、多线程、安全性、健壮性。

01、简单性。Java略去了“运算符重载”、多重继承等概念。

02、面向对象。

03、分布性。Java是面向网络的语言。可以通过自身的的类库可以处理TCP/IP协议等等。

04、鲁棒性。这个性能的意思主要是说Java这门语言的自我纠错能力很强。

05、安全性。在Java中,去掉了对指针的支持,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了人为使用诸如“特洛伊”木马等手段来访问对象的私有成员。

06、体系结构中立。主要是说Java编译出来的软件可以在任何的平台上面运行。

07、可移植性。

08、解释执行。Java字节码本身就可以对自己进行解释。

09、高性能。

10、多线程。多线程机制使应用程序能够并行执行,并且可以保证准确性,从而提高了效率。

11、动态性。对于在Java中使用多重继承。Java使用的方式是通过接口来支持,这样的灵活性更高。

 

 

l         什么是跨平台性?

通过Java语言编写的应用程序在不同的系统平台上都可

以运行。

平台指的是操作系统,通过java语言编写的应用程序在不同的系统平台上都可以运行。也具有良好的移植性。

l         原理是什么?

只要在需要运行java应用程序的操作系统上,

先安装一个Java虚拟机(JVM Java Virtual Machine)即可。

JVM来负责Java程序在该系统中的运行。

jvm也是分版本的那个系统就要装那个系统版本的JVM

   1.2.3 Java语言的特点:跨平台性(图解)

 

JavaSE 黑马程序员_java基础学习笔记01因为有了JVM,所以同一个Java程序在三个不同的操作系统中都

可以执行。这样就实现了Java程序的跨平台性。也称为Java具有

良好的可移植性。

  1.2.4 Java的运行机制

 

      计算机高级编程语言类型有:编译型、解释型,Java语言是这两种类型的结
合,利用编辑器编写 Java源程序--源文件名:主类名.java,利用编译器(javac)将源程序编译
成字节码--字节码文件名:源文件名.class,再利用虚拟机(解释器,即java)解释执行,运行过
程:载入、代码校验、解释执行。

JavaSE 黑马程序员_java基础学习笔记01

JavaSE 黑马程序员_java基础学习笔记01

 

 

 

七:java语言的环境搭建

 

1.3 Java语言的环境搭建

明确什么是JRE,JDK

下载JDK

安装JDK

配置环境变量

验证是否成功

1.3.1 什么是JRE,JDK?

JRE(Java Runtime Environment  Java运行环境)

包括Java虚拟机(JVM Java Virtual Machine)Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE 即可。

简单的说就是包括java虚拟机和java的类库

Java运行环境的三项主要功能:加载代码:由 class loader 完成;代码校验:由 bytecode verifier完成;执行代码:由 runtime interpreter 完成。

JDK(Java Development Kit  Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE其中的开发工具:编译工(javac.exe)  打包工具(jar.exe)

简单而言:使用JDK开发完成的java程序,交给JRE去运行。

 bin目录里面装的都是可执行文件。
 path:
路径

 

 

 

1.3.2 下载JDK

JDK(Java Development Kit  Java开发工具包)

官方网址:

www.oracle.com  参阅index.html

 java.sun.com  参阅index1.html

1.3.3 安装JDK

傻瓜式安装,下一步即可。

建议:安装路径不要有中文或者特殊符号

如空格等。

当提示安装JRE时,可以选择不安装。

具体流程参阅 

JDK6安装配置简程.doc

1.3.4 配置环境变量path

l         dos命令行中敲入javac,出现错误提示。

       JavaSE 黑马程序员_java基础学习笔记01

 

l         错误原理:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果还没有找到,就出现以上的错误提示。

 

l         所以进入到jdk安装路径\bin目录下,执行javac。看到javac参数提示

信息。
JavaSE 黑马程序员_java基础学习笔记01

 

l         每次执行java的工具都要进入到bin目录下,是非常麻烦的。

l         可不可以在任何目录下都可以执行java的工具呢?

l         根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行的程序。

l         我的电脑--属性--高级--环境变量

l         编辑path环境变量,在变量值开始处加上java工具所在目录,后面用 ; ”和其他值分隔开即可。

l         打开DOS命令行,任意目录下敲入javac

l         如果出现javac 的参数信息,配置成功。

l         这种配置方式,一劳永逸。

l         具体操作流程,可以参阅JDK6安装配置简程.doc

 

l         临时配置方式:通过dos命令中set命令完成

set 用于查看本机的所有环境变量的信息。

set  变量名 查看具体一个环境变量的值。

set  变量名=清空一个环境变量的值

set  变量名=具体值 给指定变量定义具体值。

 

 

l         想要在原有环境变量值基础上添加新值呢?

首先,通%变量名%操作符获取到原有环境变量的值。

然后加上新值后在定义给该变量名即可

举例:给path环境变量加入新值

set  path=新值;%path%

l         注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

 

1.3.5 配置技巧

 

l         为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。

 新创建一个环境变量 JAVA_HOME 记录住jdk的目录。

  path中通过%%动态的获取JAVA_HOME的值即可。

 JAVA_HOME=F:\jdk1.6.0_01

 path=%JAVA_HOME%\bin;%path%

 %path%动态获取path环境变量的值。

 %JAVA_HOME%动态获取名称为JAVA_HOME环境变量的值。

l         细节classpath设置:

          在任意位置都可以运行
    
没有设置set classpath=环境变量,只是在当前路径下,设置了 set classpath在任何盘符都可以执行。
    set classpath=
后加;在指定目录下找完  还在当前目录下找。   .代表在当前目录下找。

 

1.4 Java程序开发体验--Hello World

1. Java代码编写到扩展名为.java的文件中。

2. 通过javac命令对该java文件进行编译。

3. 通过java命令对生成的class文件进行运行。

具体操作流程可参阅:Hello World流程图.doc

JavaSE 黑马程序员_java基础学习笔记01

l         步骤一:编写

选择最简单的编辑器记事本。

敲入代码

class Demo

{}

将文件保存成Demo.java,这个文件是存放java码的文件,称为源文件。

 

 

l         步骤二:编译

有了java源文件,将其编译成JVM可以识别的文件。

在该源文件目录下,通过javac编译工具对Demo.java件进行编译。

如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是可以执行的java的程序。

 

 

 

l         步骤三:运行

有了可执行的java程序(Demo.class字节码文件)

通过运行工具java.exe对字节码文件进行执行。

出现提示:缺少一个名称为main的方法。

因为一个程序的执行需要一个起始点或者入口,所以在Demo类中的加

public static void main(String[] args){}

对修改后的Demo.java源文件需要重新编译,生成新的class文件后,在

进行执行。

发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们

做什么事情,也就是没有可以具体执行的语句。

想要和JVM来个互动,只要在main方法中加入一句

 System.out.println("hello java");在重新编译,运行即可。

    1.5 配置classpath

l         既然class文件(字节码文件)java的运行文件,可不可以实现,

在任意目录下都可以执行某一目录下的class文件呢?

l         根据path环境变量的原理,可以定义一个名为classpath环境变

量,将要运行的class文件所在目录定义在该变量中。

 

l         例:set classpath=c:\

l         classpath变量值是java类文件的目录

l         path变量是windows程序文件的目录

 

l         JVM查找类文件的顺序:

如果没有配置classpath环境变量,JVM只在当前目录下查找要运

行的类文件。

如果配置了classpath环境,JVM会先在classpath环境变量值的

目录中查找要运行的类文件。

值的结尾处如果加上分号,那么JVMclasspath目录下没有

找到要指定的类文件,会在当前目录下在查找一次。

值的结尾出如果没有分号,那么JVMclasspath目录下没有

找到要指定的类文件,不会在当前目录下查找,即使当前目

录下有,也不会运行。

建议:配置classpath环境变量时,值的结尾处不要加分

号,如果需要访问当前目录可以用 .”表示。

 1.6 创建问题及解决方法

JavaSE 黑马程序员_java基础学习笔记01

源文件名不存在或者写错,或者当前路径错误。

JavaSE 黑马程序员_java基础学习笔记01

类文件名写错,或者类文件不在当前路径下,或者不再classpath

定路径下。

JavaSE 黑马程序员_java基础学习笔记01

编译失败,注意错误出现的行数,在到源代码中指定位置排错。

1.7 复习建议

l         JDK,JRE,JVM的特点。

l         环境变量的配置pathclasspath以及作用。

l         Java程序的编写,编译,运行步骤。

l         在配置,编写,编译,运行各个步骤中常见的错误以及解决方法。

:书写注意事项:


 
编写代码容易出现的错误:
 1.
拓展名切记看好是不是.java的文件。
 2.
文件名是否有写错误。
 3.
文件是否保存到指定的路径下。
 4.
注意类名的大小写问题,java严重区分大小写的。
 5.
注意JAVA中关键字的写法,千万不要写反。
 6.
每次修改完代码切记保存。
 7.
文件名和类名最好保持一致。

作业

1. 简述JDK,JRE的区别。

2. 简述pathclasspath环境变量的作用。

3. 独立编写Hello World程序。

1.class的作用

2.main函数的作用

3.输出语句的作用