热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java初始篇

好的开始是成功的一半A good beginning is half done

好的开始是成功的一半

A good beginning is half done

  目录

1. Java语言概述

1.1 Java是什么 

1.2 Java发展史  

1.3 Java语言特点 

1.4 Java的跨平台 

1.5 JVM、JRE、JDK的关系

2. 初识Java的main函数

2.1 main方法

2.2 Java程序运行 

3. 注释 

4. 标识符

5. 关键字


1. Java语言概述

1.1 Java是什么 

Java就是-种程序设计语言

Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发跨平台部署支持环境

Java广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。 

1.2 Java发展史  

Java之父: James-Goslin

James-Goslin :

12岁的时候,就可以把报废的电话和电视机,拆开、零件、组装成一个电子游戏机。

14岁的时候,中学组织活动(大学参观),James将 大学计算机中心密码记住了,偷偷的溜进计算机中心,自己学习编程。

15岁的时候,大学招聘 James Gosling 作为临时编程员帮助大学天文系一起编写-套系统分析卫星天文数据。

80年代初,James Gosling 获得博士学位后到 IBM 公司工作,设计 IBM 第一代工作站。工作站项目并不被高层领导所重视。然后 James Gosling 跳槽到了 Sun 公司,Sun 公司非常注重人才和对技术的使用。Sun 公司的项目没有成为流行产品,成立小的研发团队,试图预测未来的发展趋势,派 James Goslin 为项目负责人。当时 Sun 公司有一个 Green 项目(智能家居),当时比较流行的语言是 C++ (C++跨平台很复杂),于是他们自己开发了一套全新的语言规范,这套全新的语言规范沿用了很多C++语言结构,这套新语言起了一个名字 oak  (看窗外有一个大树--橡树 oak )。
oak摒弃很多不好的东西

1992年夏天, oak 语言和用 oak 编写的 Green 项目芯片进行展示给硬件生产商,但不被其
他生产商所支持,因为 oak 是一门全新的语言,如果其他生产商投资生产它是要担很大的风险,于是oak被暂时搁置了。

 时机硅谷全球性的IT盛会:

1995年想要去参赛,并且发布 oak 全新的语言规范,但是oak这个名字被注册了,于是 oak 改名为 Java (印度尼西亚爪哇岛 Java 咖啡豆 猫屎咖啡 麝香猫)。

1995年5月23日:Sun公司正式发布Java语言。

1996年1月:发布工具包JDK1.0.

1997年2月:JDK1. 1版本问世

1998年12月:JavaEE企业版

1999年6月:Java第二代平台 2.0 细化 了三个不同的版本(不同方向)

2000~ 2002:JDK1. 3  JDK1. 4 (大幅度提升了Java的性能)

2004年5月:JDK1. 5版本发布,很多新的特性JDK1. 5 (Java5)

2005年6月:JDK6,最经典的版本,留存很久的版本,Sun因一 系列内部原因就一直未更新

2009年:Oracle 并购 Sun 公司花费74亿$, Java移主

2011年:Oracle发布JDK7

2014年:JDK8 发布

2017年:JDK9 发布

2018年3月:JDK10 发布

2018年3月,Android侵权案最终判决,Google赔偿Oracle合计88亿美元, 让收购Sun公司等同免费,同年, Oracle将无法盈利也没有战略前景的部分"按计划报废",宣告Java EE称为历史名词,直接捐赠给Eclipse基金会

2018年9月:JDK11 发布

2019年3月:JDK12 发布

1.3 Java语言特点 

Java语言的特点:简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释性、高性能、多线程、动态性

1.4 Java的跨平台 

注:翻译不能跨平台,不同电脑版本需要不同的翻译

JVM:Java Virtual Machine 虚拟机

程序存储在哪里?
程序是英文,存储在一个地方,这个地方就是文件

我们写好的文件计算机不认识,编译是将我们写好的源文件编译成计算机认识的字节码文件

源文件后缀名: .java
字节码后缀名:.class

1.5 JVM、JRE、JDK的关系

JRE: Java Runtime Environment 运行环境
JRE里面包含了 JVM,JRE 运行别人写好的 java 程序

JDK: Java Development Kit开发工具包(开发时需要用到的工具)
JDK里面包含了JRE,JDK开发并且运行Java ( javac. exe:编译工具java. exe:执行工具)

想要做Java开发,需搭建环境(我们的电脑中安装JDK)
需要JDK安装程序? ? ?官方网站下载 Oracle 公司的产品 www. Oracle. com 安装JDK

2. 初识Java的main函数

2.1 main方法

通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:

  1. 源文件(扩展名为.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个 类。类的内容必须包含在花括号里面。
  2. 类:类中带有一个或多个方法。方法必须在类的内部声明。
  3. 方法:在方法的花括号中编写方法应该执行的语句。
  4. 总结:类存在于源文件里面;方法存在于类中;语句存在于方法中。

注:在一个源文件里面只有一个 public 修饰的类,且 public 修饰的类 类名必须跟源文件名一致

2.2 Java程序运行 

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生的 .class文件是由字节码组成的平台无关、面向JVM的文件。最后启动 java 虚拟机来运行 .class 文件,此时 JVM 会将字节码转换成平台能够理解的形式来运行。 

3. 注释 

Java 中的注释分别有三种: 

  1. 单行注释:// 注释内容(用的最多)
  2. 多行注释:/* 注释内容*/(不推荐)
  3. 文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档

4. 标识符

标识符:在程序中由用户给类名、方法名或者变量所取的名字 

规则:标识符中可以包含:字母、数字以及下划线$ 符号等等。

注意:标识符不能以数字开头也不能是关键字且严格区分大小写。 

建议

类名:每个单词的首字母大写(大驼峰)

方法名:首字母小写,后面每个单词的首字母大写(小驼峰)

变量名:与方法名规则相同 

5. 关键字 

关键字:是由 Java 语言提前定义好的,有特殊含义的标识符,或者保留字。当程序中使用到关键字时颜色会发生变化,将这些具有特殊含义的标识符称为关键字。 

注意:用户不能使用关键字定义标识符 

Java关键字: 

  1. 用于数据类型的关键字:boolean、byte、char、 double、 float、int、long、new、short、void、instanceof。
  2. 用于语句的关键字:break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
  3. 用于修饰的关键字:abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
  4. 用于方法、类、接口、包和异常的关键字: class、 extends、 implements、interface、 package、import、throws。
  5. 还有些关键字,如 future、 generic、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。

另外,Java还有两个保留字:goto、const。三个特殊直接量:true、false、null,它们不是关键字,但是它们也不可以做标识符使用


推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
author-avatar
tanglei52017
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有