黑马程序员——Java概述

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
01-计算机语言概述
什么是软件?
软件:一系列按照特定顺序组织的计算机数据和指令的集合。
注意:
指令的作用就是告诉计算机如何对数据进行加工。
常见的软件:
系统软件:
如:DOS(Disk Operating System),windows,Linux等。
注意:
还有其他系统,例如Android、IOS、MAC等。
应用软件:
如:扫雷,迅雷,QQ等。
什么是开发?
制作软件。
交互方式:
软件的出现实现了人与计算机之间的更好的交互。
图形化界面(Graphical User Interface GUI):这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
注意:
早期操作电脑常用dos命令,因为需要记住很多命令,不利于普及,后期发展成图形界面,通过鼠标点击界面的形式,其实内部运行的还是这些命令。
什么是计算机语言:
通过DOS命令行的演示,发现原来操作计算机就如同和计算机说话一样。
我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须识别才可以。这就是计算机语言。
语言:是人与人之间用于沟通的一种方式。
例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。

计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语。
计算机语言有很多种,如:C,C++,Java等。这里,我们选择其中的一种:Java语言。
Java语言概述:
Java语言是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
Java语言是一种面向Internet的编程语言。

注意:
Java是允许使用者将应用程序通过Internet从远端服务器传输到本地机上并执行的一种语言。
Java语言随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
Java语言是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
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。
02-Java语言的跨平台原理(JVM)
什么是跨平台性?
通过Java语言编写的应用程序在不同的系统平台上都可以运行。
原理是什么?
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可,由JVM来负责Java程序在该系统中的运行。
图解:
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性,也就是说Java具有良好的可移植性。
注意:
Windows系统就是C和C++编写的,所以Windows系统中内置了C和C++的解析器。所以C和C++语言编写的程序可以直接在Windows系统上执行。
但Java语言编写的程序如果要在Windows系统上执行,就需要在Windows系统中安装一套能够解析Java程序的软件,也就是JVM(Java虚拟机)。
类似的,在Linux、MAC执行Java语言编写的程序也需要安装各自系统对应的JVM。因此,JVM是不跨平台的,对应不同的操作系统有不同版本的JVM。
通过这种方式,就实现了Java语言“一次编译,到处运行”的跨平台性。JVM的作用就是搭建了Java语言编写的程序与操作系统的桥梁。
03-Java语言(JDK&JRE)
明确什么是JRE,JDK
JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

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

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

注意:为什么JDK中包含一个JRE呢?
其一,开发完的程序,总需要运行一下看看效果。
其二,也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便使用才打包成exe文件,如果没有JRE,那么这些工具是运行不了的。

总结:
JRE:JVM+类库(Java library)。
JDK:JRE+JAVA的开发工具。

04-Java语言(JDK的下载与安装)
下载JDK(Java Development Kit Java开发工具包)
官方网址:
www.oracle.com 参阅oracle.html
www.java.sun.com 参阅java.html

注意:
访问 www.java.sun.com 会自动跳转到 http://www.oracle.com/technetwork/java/index.html
JDK下载示意图:
登录www.oracle.com,点击Downloads选项卡中的Java for Developers。
进入下载页面,选择Java SE 7u67---->JDK Download
进入下载页面,勾选同意,选择相应电脑操作系统版本,点击下载!
安装JDK
默认安装路径状态下可以一直下一步即可完成
默认是安装到了C:\Program Files\Java\jdk1.7.0_67\目录下,可以通过“更改”按钮对安装路径进行自定义。
注意:
自定义安装路径不要有中文或者特殊符号如空格等。
出现的对话框是询问是否安装JRE(Java Runtime Environment Java运行环境) 这是可选的,因为JDK中已经包含Java的开发环境和运行环境(JRE)。
如果仅仅对已有的Java程序进行运行,而不需要进行Java程序的开发,那么可以安装一个独立的JRE。
目前,对于初学者而言,只安装JDK即可。 所以不需安装可以点“取消”按钮。
1、如果最后提示要安装一个JavaFX SDK(这是SUN公司应用于互联网的一种脚本编程语言,更便捷的展现图形界面能力),因为不做这方面技术的开发。所以不需要安装了。
2、JDK安装在U盘里,可以在任何一台电脑上都可以使用,它是绿色无需安装的。

05-Java语言(JDK中的命令行工具)
打开命令提示符
方式一:
开始菜单——>所有程序——>附件——>命令提示符
方式二:
开始菜单——>右边框——>运行——>输入:cmd——>确定——>命令提示符
因为bin文件夹是二进制文件所在的目录,其中的exe文件都是开发Java程序所需要的命令文件。
进入命令提示符后找到bin所在的目录
注意:
"cd jdk*"命令中的*是一种通配符,如果当前目录中有多个文件夹名称匹配,那么会自动进入第一个名字匹配的文件夹。
通过"cd .."可以退回到上一级目录。
通过"cd \"可以退回到根目录。
输入dir命令(列出当前目录下的文件以及文件夹)。
输入javac命令(后缀exe可写可不写)。
06-Java语言(命令行简介)
其他命令示例
输入:md my命令。(md是创建目录的命令)
输入:rd my命令。 (rd是删除目录的命令)
注意:
如果my目录不是空目录,则使用rd命令删除不了。这样是为了防止误删除重要数据。
输入:cd命令。(进入my文件夹)再输入:del命令。(删除文件夹中的文件)
注意:
删除所有的txt文件,可以通过"del *.txt"实现。
删除所有的文件,可以通过"del *"实现。
通过exit命令退出“命令提示符”窗口。

通过help命令获取所有命令的帮助信息。
通过"help 命令"获取某个命令的帮助信息,例如:"help cd"。
常用的DOS命令

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

md:创建目录(文件夹)

rd:删除目录

cd:进入指定目录

cd..:退出当前目录,返回到上一级目录

cd\:退回到根目录

del:删除文件

del*:删除所有文件

del*.文件扩展名:删除同一类型的文件

exit:退出dos命令行

echo:创建文件。如:

echo我可以(这里是文件内容)>我可以.txt

cls:清屏

help:显示所有命令及描述

exit:关闭

07-Java语言(环境变量配置)

具体配置环境变量的步骤如下:

在命令提示符窗口中输入javac命令后,会首先在当前目录中查找是否有该命令文件可以执行。如果没有,则会在path环境变量路径中查找,如果查找到,就会执行该命令。如果还没有找到,那么就会提示错误信息,为了能在命令提示符窗口中,在任何目录下都能够执行javac命令,则需要将javac所在的目录放入path环境目录中。具体配置环境变量的步骤如下:

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

点击“系统变量里面的path变量,编辑”

将javac命令文件所在目录放入path路径中。

点击确定,然后一定要新开一个新的命令提示符窗口,再输入javac命令,就可以执行了。

注意:
1、一定要将javac命令文件所在目录放入path路径的开头。否则,如果机器上以前已经安装了其他的JDK并且也已经配置了path环境变量,那么执行的javac命令就是以前的JDK所有的javac命令。
2、环境变量中的各个路径一定要以分号进行分隔。
3、设置path环境变量的时候千万不要删除掉原来的内容。否则,很多程序将无法执行。
注意:
如果一台机器上安装了多个JDK,通过javac -version可以确定使用的JDK当前版本。
08-Java语言(环境变量配置-技巧)
永久配置技巧:
为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成。
步骤:

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

新建变量名:JAVA_HOME

新建的变量值:输入之前默认的安装目录即可

然后在系统变量里面找到path变量名

在系统变量里面找到path变量名—>在变量值最前面输入:%JAVA_HOME%\bin;

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

09-Java语言(环境变量配置-临时配置方式)

临时配置方式:

如果在别人的机器上进行Java程序的开发,设置path环境变量就不太好,那么就需要设置临时的环境变量。
临时配置方式:通过dos命令中set命令完成。

set:用于查看本机的所有环境变量的信息。
set 变量名:查看具体一个环境变量的值。
set 变量名=:清空一个环境变量的值。
set 变量名=具体值:给指定变量定义具体值。
想要在原有环境变量值基础上添加新值呢?
首先,通过%变量名%操作符获取到原有环境变量的值,然后加上新值后在定义给该变量名即可。
举例:
给path环境变量加入新值:set path=新值;%path%。
注意:
1、这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。
2、cls是清屏命令。
10-Java语言(Hello World)
编写运行Hello World
将Java代码编写到扩展名为.java的文件中
选择最简单的编辑器记事本。
敲入代码
class Demo
{
}
将文件保存成Demo.java,这个文件是存放java代码的文件,称为源文件。
通过javac命令对该java文件进行编译
有了java源文件,将其编译成JVM可以识别的文件。
在该源文件目录下,通过javac编译工具对Demo.java文件进行编译。
如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是可以执行的java的程序。
通过java命令对生成的class文件进行运行
有了可执行的java程序(Demo.class字节码文件),通过运行工具java.exe对字节码文件进行执行。
出现提示:缺少一个名称为main的方法。
因为一个程序的执行需要一个起始点或者入口,所以在Demo类中的加入public static void main(String[] args){}
对修改后的Demo.java源文件需要 重新编译,生成新的class文件后,再进行执行。
发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。
想要和JVM来个互动,只要在main方法中加入一句System.out.println("Hello World");因为程序进行改动,所以再重新编译,运行即可。
示例:
class Demo
{
public static void main(String[] args)
{
System.out.println(Hello World);
}
}
意:
main方法:作用在于保证一个类可以独立运行。因为它是程序的入口。
System.out.println():系统输出打印数据,可以将()中的内容打印在控制台上。
通过该语句可以直接在控制台看到jvm运行java程序后的结果。
意:
Hello World:代表学习计算机语言的第一个入门小程序。现在泛指接触新事物的第一步。
class :是java中的关键字,用于定义类,java语言的程序代码都需要定义在类中。
关键字:被java语言赋予了特殊含义的单词。
Demo:为了方便使用这个类,给类自定义的类名。
{}:定义该类中代码的范围。
写代码,阅读性第一,功能性第二。
11-Java语言(Hello World细节)
意:
1、javac命令的作用是对java程序进行语法性检查,一旦出错,就会打印出错误信息。
例如:
System.out.println("hello java")语句后面缺少分号,就会报错。
根据报错的行数,找到错误的地方,进行修改。然后重编编译,运行。
需要注意的是java会出现连锁错误反应,也就是一个错误,会导致后面程序的多个错误。这时候只需要修改第一个错误,后面的错误都会解决掉。
12-Java语言(Hello World常见问题)
1、java命令可以启动JVM,然后找到相应的class文件,再寻找程序入口,也就是main方法,然后调用该方法执行java程序。
错误可能原因:
1、文件名写错。
2、当前路径下不存在该文件。
3、后缀名问题。
解决方法:
点击工具-->文件夹选项。
点击“查看”选项,并且勾选掉“隐藏已知文件类型的扩展名”。
然后就可以文件看到真正的后缀名
只需修改后缀名为java,再重新编译、运行即可。
13-Java语言(classpath环境变量)
配置classpath环境变量
由于可能频繁执行多个class文件,并且多个class文件可能存储在不同的目录下,那么每次都在命令提示符窗口中切换目录会相当的麻烦。
classpath环境变量的作用类似于path环境变量,但是它的作用在于可以告诉JVM去哪里找到class文件。
JVM查找类文件的顺序:
1.如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。

2.如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。
示例:
创建两个文件夹:test1、test2,两个文件夹中都有Demo.class文件。
test1文件夹中的Demo.class,打印test1。
test2文件夹中的Demo.class,打印test2。
当前目录为test1,但是设置classpath的值为test2,这样可以看到结果打印为test2。
3.值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下在查找一次。
示例:
设置classpath为test1和test2的上一级目录,此目录下不存在Demo.class文件。
设置当前目录为test1。
可以看到结果为当前目录test1下的Demo.class被执行。
4.值的结尾出如果没有分号,那么JVM在classpath目录下没有找到要指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。
示例:
设置classpath为test1和test2的上一级目录,此目录下不存在Demo.class文件。
设置当前目录为test1。
可以看到出错信息。

建议:
配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用 “.”表示。
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

你可能感兴趣的:(黑马程序员——Java概述)