黑马程序员___Java基础[01-Java概述]

一、 课前准备

1)计算机

  • 分类:

PC家庭电脑

大型机——服务器

终端——云计算的课程

  • 作用

科学计算

多媒体应用

网络通信

图形处理

  • 构成

硬件:鼠标、键盘、手写板、扫描仪、显示器、主机、cpu、硬盘、电源、内存、主板、显卡、声卡、网卡

软件:系统软件、应用软件

2)软件开发

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

  • 系统软件:DOS,Windows,Unix,Linux,MAC,Ios,Android等。

  • 应用软件:扫雷,迅雷,QQ等。

开发:根据用户要求制作软件(软件应用的行业:金融行业    安全行业    电信行业   互联网行业等)

3)人机交互

  • 图形化界面

  • 命令行方式

4)如何打开控制台

  • 开始--程序--附件--命令提示符

  • 开始--运行--cmd--回车

  • Win+R--cmd--回车

5)常用的DOS命令

  • 盘符:——>切换磁盘

  • dir     ——>列出当前目录下的文件以及文件夹

  • md  ——>创建目录

  • rd     ——>删除目录(只能删除空文件夹)

  • cd     ——>进入指定目录(若目录名过长后面可用*号辅助,只要前面名称不重复)

  • cd..   ——>退回到上一级目录

  • cd\    ——>退回到根目录

  • del    ——>删除文件(del+文件夹名:删除文件夹内所有文件;del+文件名:删除文件)

  • exit   ——>推出dos命令行

  • cls     ——>清屏

  • start  ——>新开一个DOS窗口

注: 1、echo 内容>文档名(eg:1.txt):创建文件,并把内容写入文件。

2、通过DOS命令行进行的删除操作是不走回收站的。

3、*代表所有(ab\*:代表ab文件夹中的所有文件;*.txt:代表所有txt类型的文档)。

斜杠和反斜杠的区别:

斜杠的使用场合:DOS命令中的开关、除号、Linux和Unix下指定路径分隔符

反斜杠使用场合:Windos中指定文件夹路径分隔符、计算机语言中的转义字符

通用的场合:浏览器中

二、语言概述

2.1、计算机语言(计算机能识别的语言)

  • 机器语言(01的相应组合表示相应的机器指令,速度很快)
  • 汇编语言(特殊的英文符号表示特定的含义,相对也快)
  • 高级语言(和人类的自然有很接近,容易掌握 c++、java、c)

总结:汇编语言 、高级语言都需要转化为机器语言

2.2、JAVA语言概述:(SUN公司1995年推出的面向Internet的语言)

2.2.1、Java语言的三种技术架构

J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。
该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web应用程序开发。
J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案。
该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
比如Java版的扫雷。
J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案。
该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
Java5.0版本后,更名为 JAVAEE    JAVASE    JAVAME

2.2.2、Java语言的特点:

面向对象、安全可靠、跨平台(即不依赖平台,是依靠虚拟机实现的)

Java虚拟机(JVMJava Virtual Machine):虚拟机是依赖平台的,即有不同的版本,如Win版的JVM、MAC版的JVM、Lin版的JVM。

2.3、Java语言的环境搭建

2.3.1、什么是JRE,JDK?

a、JRE(Java Runtime Environment    Java运行环境)

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

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

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

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

2.3.2、下载JDK

官方网址:

  • www.oracle.com   
  • java.sun.com   (sun公司被甲骨文收购) 

2.3.3、安装JDK

建议:安装路径不要有中文或者特殊符号如空格等。避免产生不必要的麻烦。

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

注:也可以不安装直接拷贝JDK文件夹到计算机上使用。区别:当有新版本出现时,经过安装的可在互联网上更新,未经安装的则不能更新。

2.4、配置环境变量path

2.4.1、执行java工具

  • 执行方法:在DOS命令行窗口中,进入到jdk安装路径的\bin目录下,执行相应命令(其中.exe可省略,例如执行javac)。
  • 缺点:每次执行java的工具都要进入到bin目录下,非常麻烦。
  • 执行原理:当前执行的程序如果在当前目录下不存在,Windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。
  • 解决办法:为了更方便地使用java工具(在任何目录下都可以执行java工具),根据Windows系统查找可执行程序的原理,可以将java工具所在的路径定义到path环境变量中,让系统帮我们去查找可执行程序。

2.4.2、配置path变量

1、永久配置方式:通过图形化操作完成

  • 配置方法:我的电脑--属性--高级--环境变量--编辑path环境变量,在变量值开始处(越前面的位置查找效率越高)加上java工具所在的目录,后面用 ";"和其他值隔开即可。

注意:要想使用配置,需在配置环境变量后新开一个DOS命令行窗口才能生效。

  • 配置技巧:为了避免因jdk的目录或者目录名称的改变不断更改path值而导致的对path变量值的误操作,可以新创建一个环境变量JAVA_HOME,记录住jdk的目录中容易变化的部分(不要\bin)。在path中通过%变量名%动态获取JAVA_HOME的值即可。

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

  • 配置方法:
  • set :用于查看本机的所有环境变量的信息。

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

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

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

  • 在原有环境变量值基础上添加新值:

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

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

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

  • set path=新值;%path%

注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。但如果是在原窗口中用start命令新开的窗口则会延续原窗口的环境变量值。

2.5、Java程序开发体验

开发步骤:编写——>编译——>运行

         javac.exe.        java.exe

.java文件 ——————> .class文件 ——————> 结果

         编译                运行

1 class HelloWorld {//
2     public static void main(String[] args) {//程序执行入口:main方法
3         System.out.println("Hello World!");//输出语句
4     }
5 }

编译命令:javac 源代码文件——>javac HelloWorld.java(用编译命令编译过后的源文件会生成后缀名为.class的字节码文件,个数等于类和接口的个数)

运行命令:java 字节码文件——>java HelloWorld(字节码文件的后缀名要省略,如果写成java HelloWorld.class,JVM会读取成HelloWorld.class.class)

注意:

  • 一个java文件中有多少个类,编译后就生成多少个class字节码文件,类名就是字节码文件名。
  • 通常情况下文件名与类名可以不同,但当类有public修饰时则必须相同。相同的好处是编译和运行的是同一名称不同类型文件,不易错。
  • main函数:主函数头public static void main(String[] args)是固定写法不能更改,只有写成这样才能被JVM识别,但其中唯一可以改变的是args,因为它是参数名称。
  • java代码有改动时需要重新“保存”,重新“编译”。
  • HelloWorld:代表学习计算机语言的第一个入门小程序。现在泛指接触新事物的第一步。

2.6、配置classpath(初期学习可不配置,当使用到包的时候就需要配置了

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

  • 方法:配置classpath类环境变量

  • 永久方式:我的电脑--属性--高级--环境变量--新建--定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中。

  • 临时方式:set classpath=类文件所在路径(可以配置多路径)

  • path和classpath变量的区别:

  • classpath变量值是java类文件的目录,调用者为JVM(java虚拟机)
  • path变量值是windows程序文件的目录,调用者为Windows系统(所以QQ.exe要用path配置)

注:即如果是可执行文件用path变量,如果是java可执行文件用classpath变量。

  • JVM查找类文件的顺序:
  • 如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。
  • 如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。
  • 值的结尾处如果加上分号,那么JVM在classpath目录下没有找到指定的类文件,会在当前目录下再查找一次。
  • 值的结尾处如果没有分号,那么JVM在classpath目录下没有找到指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。     

建议:配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录,可以用 “.”表示。“.”表示当前路径。配置原则一般为先查找当前目录,例如:set classpath=.;c:\;d:\

  • classpath与path变量查找顺序区别:
  • path:先在当前目录下查找,再找path环境变量。
  • classpath:先找classpath环境变量,再找当前路径(如果结尾有分号)。

注:dos窗口的配置都是临时的,而在“我的电脑”—“环境变量”里(图形化配置)可进行永久配置。

2.7、错误类型及解决方案

纠错方法:按照输出窗口的错误信息提示,从第一个错误开始,从上到下查找,每改正一个错误,保存并重新编译。

常见错误类型:

1.缺少main方法

解决方法:查看程序是否有主函数,没有就添加主函数,有的话看看主函数是否写错(例如main写成mian或Main),java中严格区分大小写。

2.找不到文件

解决方法:查看源文件名是否写错,或者当前路径是否错误注:注意文件后缀隐藏的情形)

3.找不到类

解决方法:查看类文件名是否写错,或者类文件路径是否错误(不在当前路径或classpath指定路径下)。

2.8、编程风格

编程风格与文档和编码一样重要,好的编程风格和适当的文档可以减少出错几率,提高程序可读性。

以下是几条重要原则:

1、适当的注释和注释风格

  • 在程序的开头写一个摘要:说明程序的目的和主要特点,解释所用的重要数据结构和独特技术。
  • 在长的程序中加上注释:介绍每一个主要步骤并解释难懂之处。

2、好的命名习惯

  • 遵守标识符的命名规范
  • 标识符命名尽量有意义
  • 对类或接口命名不要采用Java库中已有的名称
  • 标识符尽量使用完整名称而不要使用缩写

3、适当的缩进和空白

  • 嵌套结构中,每个内层组件或语句应该比外层缩进一个Tab键
  • 二元运算符两边各加一个空格
  • 使用空行将代码分段,使程序更容易阅读

4、一致的对齐方式

  • 对齐方式:
  • 次行风格:将花括号垂直对齐(即左右括号垂直对齐)
  • 行尾风格:花括号左括号跟在方法头后面(一般在空一格的位置)
  • 程序中要采用一致的对齐方式,建议使用行尾对齐(可避免丢括号的小错误,节省空间)

养成习惯:一边写注释一边写代码:

示例:

/ *

需求:…… 

思路:

1,……

2,……

步骤:

1,……

2,……

* /

2.9、Java程序剖析

java应用程序包含下列成分:

  • 注释:注解说明程序的解释说明性文字。

例如:HelloWorld中绿色部分

  • 关键字:被Java语言赋予了特殊含义的单词。

例如:HelloWorld中蓝色部分

  • 修饰符:特定的关键字,用来指定数据、方法和类的属性与使用方式。

例如:public、static

  • 语句:一条语句表示一个操作或一系列操作,java中语句以分号结束。

例如:HelloWorld中的System.out.println("Hello World!");

  • 块:在程序中用花括号将一些成分组合起来,构成一个块,以“{”开始,以“}”结束,块可嵌套,是对语句的封装。

例如:HelloWorld中的

class HelloWorld{//类块

public static void main(String[] args){//方法块}

}

  • 类:定义对象的结构,是java的解基本结构,类是对数据和方法的封装。

例如:HelloWorld中的 class HelloWorld{}

注意:一个文件中可以有多个类,但至多只能有一个公共类(即0个或1个)。

  • 方法:具有特定功能的一段独立小程序。

例如:HelloWorld中public static void main(String[] args){}

  • main方法:程序的入口,它定义了程序从何处开始,可被JVM识别。

例如:HelloWorld中的public static void main(String[] args)

注意:一个文件中可以有0个或多个能独立运行的类,但一个类中只能有0个或一个主函数。

posted on 2014-01-09 19:03  毛线球球  阅读(256)  评论(0编辑  收藏  举报

导航