面向过程:
例如张三打篮球,还有再做一个李四踢足球的程序
面向对象:
人的对象,人的运动的动作,运动的器械这三个对象,实例化一个张三的对象
这个对象有一个打篮球的动作,器械是篮球
实例化一个李四的对象,对象有一个踢足球的动作,器械是足球
面向对象能够更好的在抽象的层面来分析问题,在程序实现跨越极大赋予的之前的代码,这些是面向过程编程很难实现的
Java SE 标准版 J2SE
Java EE 企业版 J2EE web应用开发
Java ME 小型版
Java Card
Java语言的特点:
一、面向对象:
两个基本概念:类、对象
三大特性:封装、继承、多态
二、健壮性、完整性:
吸收了C/C++语言的优点,但去除了指针、内存的申请与释放等功能,提供了一个
相对安全的内存管理和访问机制
三、跨平台性: jvm
通过Java语言编写的应用程序在不同的系统平台上都可以运行
原理:安装一个java虚拟机(JVM)`
Java两种核心机制:
Java虚拟机,JVM
垃圾收集机制,GC
核心机制——垃圾回收:(GC)
C,C++:由程序员回收,手动编写代码回收
(优点:能够在内存不使用时快速回收,准确、高效;
缺点:容易失误,出现bug,如:忘记编写回收内存的代码?内存一直不回收)
java:垃圾回收是自动,开了一个系统线程去自动检测哪些内存不用了然后回收掉
(优点:自动的,意味着不会出现忘记回收;
缺点:回收慢,回收不及时)
一般的观点是,宁可回收不及时但是一定需要去回收,所以使用自动的垃圾回收机制更合适
JDK java开发工具包
JRE java运行环境
使用JDK的开发工具完成java程序,交给JRE去运行
JVM、JRE、JDK三者的关系:
JDK 包含 JRE 包含 JVM
注释:用于注解说明解释程序的文字就是注释
提高了代码的阅读性:调试程序的重要方法
Java中的注释类型:
单行注释 //
多行注释 / * /
文档注释(Java特有)
@Test
public class Test01 {
public static void main(String[] args){
System.out.println("Hello World!!!");
System.out.println("姓名:小胡同学");
System.out.println("性别:男");
System.out.println("住址:广东深圳");
System.out.println("\t\t*\t\t\t\t\t\t\t*\t");
System.out.println("\t*\t\t*\tI love Java\t\t*\t\t*\t");
System.out.println("\t\t*\t\t\t\t\t\t\t*\t\t");
System.out.println("\t\t\t*\t\t\t\t\t*\t\t");
System.out.println("\t\t\t\t*\t\t\t*\t\t");
System.out.println("\t\t\t\t\t"+" "+"*\t\t\t");
}
}
>>
Hello World!!!
姓名:小胡同学
性别:男
住址:广东深圳
* *
* * I love Java * *
* *
* *
* *
*