01-认识Java语言Hello world!
java语言-Hello world!
认识Java语言
Java历史
Java语言发展史
詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大 学计算机科学学士学位,1983年 获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。
后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。
Java Development Kit
1.0 - 1.1 - 1.2 - 1.3 - 1.4 - 1.5
5.0 - 6.0 - 7.0 - 8.0…..
发展情况:
Sun公司于1995年推出
1991年sun公司James Gosling等人开始开发Oak语言
1994年,将Oak语言更名为Java
1996年获得第一笔投资1亿元
1998年提出jdk1.2,更名为java2
之后推出jdk1.3 jdk1.4
2005年更名为jdk5.0,进行了大幅的版本改进
2006年sun公司宣布将Java作为免费软件对外发布
2007年3月起,全世界所有的开发人员均可对Java源代码进行修改
2007年推出jdk6.0
2009年4月Oracle以74亿美元收购了sun公司
2011年7月由Oracle正式发布jdk7
2014年3月正式发布了java8
2017年7月,甲骨文发表Java SE 9;
2018年3月21日,甲骨文发表Java SE 10;
2018年9月25日,甲骨文发表Java SE 11;
2019年3月19日,甲骨文发表Java SE 12;
2019年9月17日,Oracle Java SE 13发布;
2020年3月17日,发布Java SE 14产品。
Java语言平台版本
J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
J2ME(Java 2 Platform Micro Edition)小型版
是为开发移动设备和嵌入式设备(电器、机器人、机顶盒…)提供的解决方案。
J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发。
java语言的特点:
简单性 分布式处理
开源 免费
高性能 面向对象
安全性 编译性
解释性 跨平台
什么是跨平台性?
通过Java编写的程序可以在不同的操作系统上运行.
跨平台性的原理是什么?
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。
图解如下:
得到两点信息:1.java程序的运行依赖的是JVM
2.不同操作系统拥有不同版本的的JVM促就了Java语言的跨平台.
JDK:
一、JDK:java的开发就需要依赖JDK中包含的JVM。
--1、下载安装
--2、配置环境变量
--JAVA_HOME:不存在的,需要新建。用来指定jdk的安装位置。
--PATH:已存在的,需要修改!!用来指定jdk中工具的位置。
--3、检查
--打开DOS窗口(Window+r),运行DOS命令:java -version 如果显示了jdk版本号就成功。
二、java开发工具
--1、Eclipse:免费的。
--2、IDEA:有收费版(旗舰版),也有免费版(社区版,功能比较少)。
三、Eclipse:集成了java开发的平台。
--1、workspace:指定你要把代码存放的位置
--2、目录结构要求很严格
--创建工程
右键-new-other-java project-输入工程名称(全小写)-finish
--创建包
选中src-右键-new-package-输入包名(全小写+公司的域名倒着写)-finish
--创建类
选中包名-右键-new-Class-输入类名(符合驼峰规则)-finish
--3、准备测试
--工具提供的万能快捷键:alt + /
--测试的快捷键:ctrl + f11
第一个程序:HelloWorld:
--1、注释:解释说明java代码的意思
--2、说明:
// 单行注释 /* 多行注释 */ /* 第一行用来描述这个类所在的包 * package 是java的关键字,用来定义包 * cn.tedu.hello 是包名--全小写+公司域名倒着写 * ; 类似于。用来作为java语句的结束符 */ package cn.tedu.hello; /*第二行代码用来定义一个类 * public 是java的关键字,用来修饰类的访问权限,是公开的。 * class 是java的关键字,用来定义类 * HelloWorld 是类名 -- 驼峰命名法/驼峰规则 * { java代码 } 一对一对的 */ public class HelloWorld { /*第三行代码用来定义一个主函数/主方法/main方法,用来作为程序的入口 * public 是java的关键字,用来修饰主方法的访问权限,公开的 * static 是java的关键字,用来修饰主方法是静态的 * void 是java的关键字,用来修饰主方法是没有返回值的 * main 是方法名(固定的) * () 是方法的标志 * String[] args 是方法的参数 * { java代码/方法体 } */ public static void main(String[] args) { /*第四行代码用来,指定要向控制台输出打印的数据 * System 发出一个系统指令 * . 表示调用关系,调用系统提供的功能 * out 要执行一个输出动作 * println 打印后换行 * () 是方法的标志 * "hello java" 是方法的参数,用双引号把数据引起来--就是想要打印的数据 * ; 类似于。用来作为java语句的结束符 */ System.out.println("hello java"); } }
常见对象
java project 创建java工程,Maven工程,SpringBoot工程
package 包,类就是放在不同包下
class 类,代码都要写在类文件中,将来才能运行
interface 接口,特殊类
enum 枚举,特殊数据结构(用的很少)
Annotation 注解,重要,现在主流开发方式注解开发,注解,三大框架,微服务
folder 目录,文件夹
file 文件,html文件,java文件,class文件