一、 基本介绍及环境搭建
1 、Java 的特点
Java tutorils 是这么描述的
The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
Simple
Object oriented
Distributed
Multithreaded
Dynamic
Architecture neutral
Portable
High performance
Robust
Secure
1. Simple 简单的:java 里面去掉了C++ 里面的对指针的操作,引用里面也保存了指针的地址,相对C++ 中的指针弱化了,垃圾系统自动处理;C++ 中的垃圾要自己去destroy ,这一点java 虚拟机会自动去收集垃圾
2. Object oriented 面向对象的:java 是一门完全面向对象的语言,不支持C 语言中面向过程的编程。
3. Distributed 分布式的:java 中包含了一个支持HTTP FTP 等基于TCP/IP 协议的子库,java 应用程序通过URL 打开网络上得资源和访问本地资源一样方便快捷,为分布式的环境提供了先天的优势。
4. Multithread 多线程的:java 提供的多线程可以允许程序同时执行几个任务,这样就会有更好的交互性,在用户体验上要比单线程好
5. Dynamic 动态的:动态特性是其面向对象设计方法的发展,允许程序动态的载入运行过程中所需要的类,这是C++ 语言在面向对象的程序设计中无法实现的。
6. Architecture neutral 结构中立的:java 的目的是支持到部署到异构的网络环境。在这样的环境下,应用程序必须保证在各种平台上运行,在不同的硬件平台上必须支持不同的操作系统,并能与多种语言相互操作。为了适应环境的多样性,java 编译器为我们生成结构中立的字节码文件。Class
7. Portable 便携的:
8. High performance 高性能:性能始终是一个被考虑的因素,java 平台实现的优越的性能,虚拟机直接将字节码翻译成机器码。
9. Robust 健壮的:java 检查系统在编译和运行时的异常,类型检查使很多错误能够早期发现,摒弃了指针操作,减少了内存操作的可能性。
10. Secure 安全的:提供了广泛的编译时检查 运行时检查,引导程序员养成良好的变成习惯。内存管理方式非常简单
2 、Jdk/jre/jvm
jdk:java developer’s kit (java 开发工具包)包含了jre
jre :java runtime environment (java 运行环境)能够运行java 环境所需要得环境,一般服务器安装jre 就可以了,无需jdk 。Jre 中包含了jvm
jvm :java virtual machine (java 虚拟机)
3 、javase/javame/javaee
javase :java 标准平台,javaee 基础内容
javame :java 嵌入式平台
javaee :java 企业级平台
4 、安装开发环境
1. 下载jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. 傻瓜式安装
3. 环境变量配置
Windows 环境下:我的电脑右键属性高级环境变量,新建
JAVA_HOME:jdk 安装目录
CLASSPATH:.
PATH:$JAVA_HOME/bin
配置完成后在CMD 中敲javac 试一下看有没有成功
5 、第一个java 程序
用记事本新建一文件 文件名为MyFirstApp.java
手动敲入如下代码
public class MyFirstApp {// 注意必须和文件名一致
public static void main(String[] args){
System.out.println("hello world");
}
}
编译:打开cmd 窗口进入myFirstApp.java 所在的文件夹
命令:javac MyFirstApp.java
如果没有任何东西输出则编译通过
会在同一个目录下生成一个MyFirstApp.class 文件
执行:java MyFirstApp 注意后面没有扩展名,如果看见hello world 在正常
说明
main 方法为java 入口方法类似BCB 中的WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
一个类中最多只有一个main 方法
同一个文件中可以写多个类,但只能有一个是public 的
例如:
public class MyFirstApp
{
public static void main(String[] args){
String name="zhangsan";
new Second();// 实例化Second
System.out.println("hello world:"+name);//+ 字符串连接
}
}
class Second
{
public Second(){
System.out.println("second");
}
} 编译后会多了一个class 文件,说明一个类就会有一个class 文件
Java 命令执行的过程:
1 、启动jvm ;2 、找所需要的class 文件3 、加载字节码文件到内存中4 、找类的main 方法
二、java 基本概念
1 、包 工程过大,用来管理庞大的类文件,一般把类似的类放在一个包中
语法:package 包名 位于java 文件的最上面
编译时注意要javac –d MyFirstApp.java 这是会按照包名生成相应的路径文件夹
运行时注意 要用java 包名+ 类名
如果在java 文件中用到了别的包中的类,这是我们需要用import 关键字引进来,一般放在package 下面
2 、jar 命令
把制定的class 打为jar
jar cvf abc.jar dir
这样会把dir 下面的内容打在名称为abc.jar 的包中
如果在别的项目中想引用这个jar ,在classpath 中添加此jar 文件即可
Jvm 查找类的顺序一般为1 、当前目录2 、$JAVA_HOME/jre/lib/rt.jar 这也是我们不用把rt.jar 配置在环境变量的原因3 、classpath 配置
3 、注释
1 、单行注释//