一、什么是软件?
• 软件:一系列按照特定顺序组织的计算机数据和指令的集合。
• 常见的软件:
• 系统软件:
• 如:DOS,windows,Linux等。
• 应用软件:
• 如:扫雷,迅雷,QQ等。
二、什么是软件开发?
• 制作软件
三、人和计算机进行交互的方式有两种:
1. 图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
2. 命令行方式(Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
四、常用的DOS命令有:
dir(directory) : 列出当前目录下的文件以及文件夹
md(make directory) : 创建目录
rd(remove directory) : 删除目录
cd(change directory): 进入指定目录
cd.. : 退回到上一级目录
cd\: 退回到根目录
exit : 退出 dos命令行
三、什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。
计算机语言(编程语言):人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java,PHP等。通过DOS命令行的演示,发现原来操作计算机就如同和计算机说话一样。
我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须识别才可以。这就是计算机语言。
四、java语言介绍:
l 是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
l 是一种面向Internet的编程语言。
l 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
l 是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
五、 Java两大核心机制
Java虚拟机(Java Virtual Machine)
– JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
– JVM用于运行 Java应用程序
– 对于不同的平台,有不同的虚拟机。
– Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
–
垃圾收集机制(Garbage Collection)
– 垃圾回收:将不再使用的内存空间进行回收。
– 在 C/C++等语言中,由程序员负责回收无用内存。
– Java不需要程序员负责回收无用的内存:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
– 垃圾回收在 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
七、Java语言的特点:
• 特点一:面向对象
– 两个基本概念:类、对象
– 三大特性:封装、继承、多态
• 特点二:健壮性
– 吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分。如:指针、内存的申请与释放等
• 特点三:跨平台性
– 跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。
– 原理:只要在需要运行 java应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
– 跨平台性(图解)
八、Java语言的环境搭建:
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:
• 官方网址:
– www.oracle.com
– java.sun.com
• 安装JDK
– 傻瓜式安装,下一步即可。
– 建议:安装路径不要有中文或者特殊符号如空格等。
– 当提示安装 JRE时,可以选择不安装。
–
十、配置环境变量:让javajdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk
path=%JAVA_HOME%\bin
2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置:
1):永久配置方式:classpath=.;c:\;e:\
2):临时配置方式:set classpath=.;c:\;e:\
注意:在定义classpath环境变量时,需要注意的情况
如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:
1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。
一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
配置技巧:
为了不因为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环境变量的值。
•
十一、Java程序开发体验--Hello World:
javac命令和java命令做什么事情呢?
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
步骤一:Java程序开发体验--编写:
选择最简单的编辑器记事本。
敲入代码
class Demo
{
}
将文件保存成Demo.java,这个文件是存放java代码的文件,称为源文件。
步骤二:Java程序开发体验--编译
• 有了java源文件,将其编译成JVM可以识别的文件。
• 在该源文件目录下,通过javac编译工具对Demo.java文件进行编译。
• 如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是可以执行的java的程序。
步骤三:Java程序开发体验--运行
• 有了可执行的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 voidmain(String[] args)
• {
• System.out.println("HelloWorld ");
• }
• }
------- android培训、 java培训、期待与您交流! ----------