Java是一门面向对象的编程语言
Java语言的特点:
简单性
Java看起来设计得很像C++,但是去掉了C++语言的一些特征,剔除了C++的操作符过载(overload)和多继承特征,等等
面向对象
Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)
分布式
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
健壮性
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
安全性
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
多线程
支持多线程的执行,能处理不同的任务。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。
动态性
Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的
跨平台(可移植性)
Java程序可以在windows系统、Linux系统、Mac系统执行,这是因为有JVM,实际是将编译程序生成字节码在不同操作系统的JVM中运行,因次实现了Java程序的跨平台性
Java的核心机制-垃圾回收
java语言提供了一种系统级线程跟踪存储空间的分配情况,并在JVM空闲时,检查并且释放那些可释放的存储空间
思考:
既然有自动的垃圾回收,Java程序还会有内存泄露和内存溢出吗?
答案是:会的!
JVM是Java Virtual Machine(Java虚拟机)的缩写
JVM是一个虚拟的计算机、有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统
任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
什么是JDK?
JDK(Java Delelopment Kit)是Java开发工具包,是提供给开发人员使用的,也包括了JRE,所以安装了JDK就不用安装JRE
编译工具:javac.exe 打包工具:jar.exe
主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
什么是JRE?
JRE(Java Runtime Environment)是Java运行环境,包括java虚拟机和java程序所需要的核心类库等,如果想要运行一个开发好的Java程序,计算机只需要安装JRE即可
总结:使用JDK的开发工具完成的程序交给JRE运行
Java语音环境搭建jdk、jre、jvm之间的关系?
Java的三种注释方式
单行注释,以双斜线开头,直到这一行的结尾结束
//我是单行注释
多行注释,以/*
星号开头,以*/
结束,可以有多行,如下:
/*
这是一个多行注释内容1
这是一个多行注释内容2
*/
注意:多行注释是不可以嵌套使用的
文档注释,以/**
开头,以*/
结束,格式如下:
/**
这是文档注释的内容
*/
注意:文档注释可以被JDK工具javadoc所解析,生成一套以网页文件形式所体现的说明文档。
java程序编写--> 编译 -->运行的过程
编写:将编写的java代码保存以“.java”结尾的源文件中
编译:使用javac.exe命令编译java源文件 命令:javac 源文件名.java
运行:使用java.exe命令解释运行我们的字节码文件 命令:java 类名
在Java源文件中,可以声明多个class。 但是最多只能有一个类声明为public。而且声明public的类的类名,必须与源文件名相同
程序的入口是main()方法,格式是固定的。源文件有main()方法时才可以运行。
Java输出
System.out.println("Hello Word!") 输出并且换行
System.out.print("Hello Word!") 只输出,不换行
System.out.println() 空行
Java代码第一次编写,打印hello world试试
public class Hello { public static void main(String[] args){ //控制台打印Hello,world! System.out.println("Hello,world!"); } }
class是关键字,Hello是类名,public
是访问修饰符,表示该class
是公开的。方法main()是程序的入口。关键字static
是另一个修饰符,它表示静态方法。void表示没有任何返回值。
我们需要记住:Java入口程序规定的方法必须是静态方法,方法名必须为main
,括号内的参数必须是String数组。Java的每一行语句必须以分号结束 ;