一. 文章讲述的内容

主要讲述一些 java 的基础知识。

二. Java

1. Java最重要的特性

① 跨平台:通过在对应的操作系统平台安装 Java虚拟机,来实现跨平台的功能。但是 Java虚拟机 不是跨平台的。

② 开源

2. Java的三个版本

① Java SE — Java Platform,Standard Edition

Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE是基础包,但是也包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。

② Java EE — Java Platform,Enterprise Edition

Java EE以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。

③ Java ME — Java Platform,Micro Edition

Java ME以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

三者的关系:

虽然,Java ME 是做手机软件的,是很久以前的,现在已经基本被淘汰了。

Android:

Android操作系统的底层实现是Linux,而Linux是用C/C++等语言编写。学习android应用开发,只要会JavaSE就可以了。

3. JVM ,JRE 和 JDK 的区别

① JVM — Java Virtual Machine

  • Java虚拟机。

  • 它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。

② JRE — Java Runtime Enviroment

  • Java的运行环境。

  • 面向Java程序的使用者,而不是开发者。

  • 如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。

  • JRE 主要包含两部分 JVM 的标准实现Java的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。

③ JDK — Java Development Kit

  • Java 开发工具包。
  • 面向Java程序的开发者。
  • 不仅可以运行Java程序还可以开发Java程序。
  • JDK 主要包括两部分 JRE一些工具
  • 工具中包括:javac java javadoc 。

4. Java 程序的运行过程

编写:是指在Java开发环境中进行程序代码的输入,最终形成后缀名为.java的Java源文件。

编译:是指使用Java编译器(javac)对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。

运行:是指使用Java解释器(java)将字节码文件翻译成机器代码,执行并显示结果。

例子:

  • 编写:用笔记本写一个简单的java程序,取名为 hello.java。
  • 编译:将java源文件编译成.class字节码文件,执行命令:javac hello.java 将生成 hello.class 文件。
  • 运行:由java虚拟机对字节码进行解释和运行,执行命令:java hello。

5. 用 Android Studio 编写 Java 程序

① 创建一个空的界面项目

  • 打开工程的情况下:File->New->New Project
  • 没有打开的情况下:Start a new Android Studio project
  • 选择创建的模板:Empty Activity
  • 设置:工程名,包名,保存位置

② 在之前的基础上创建一个新的模块

  • 添加一个独立的模块
  • 选择最后一个Java Library创建
  • 输入模块名称和默认类的名字

③ 工程的目录结构

  • 创建的项目
  • 项目中App的路径
  • 项目中模块的路径

④ 打开工程

  • Cancel掉正在加载的工程,进入初始菜单界面
  • 你可以选择打开最近的工程或者根据路径找到一个存在的项目
  • 浏览路径

⑤ 创建一个包和Java的类

  • 在想要创建的上一级目录右击->New->Package
  • 在想要创建的上一级目录右击->New->JavaClass
  • 在创建Java类的时候可以更改包名(没有则生成)
  • 同一个包下面不能出现重名的源文件
  • 同一个源文件可以创建多个类
  • public修饰的类,这个类的名称必须和这文件名称相同,一个源文件只有一个public修饰的类,公开的类应该单独用一个文件公开

1>. 工程中的C,I,M,E文件标识

  • C:Class类
  • I:Interface接口
  • M:Method方法
  • E:Enum枚举

2>. 自己创建package的原因:

  • 避免重名,不同宝下面的源文件可以重名,调用的时候自动提示需要使用哪个包下面的文件。
  • 合理的管理代码的结构,把功能相似或相同的类或接口组织在同一个包内,方便类的查找和使用。
  • 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

3.> import的使用:

  • 使用一个文件之前必须要导入,如果是在自己的包里面就不需要导入了。

  • 使用import导入某个包里面的源文件。

4>. 解决输出乱码的问题:

Android目录下找到Gradle Scripts->build.gradle(Moudle:java)文件,在其中添加下面的代码

1
2
3
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}

⑥ 关于main()函数

  • 使用public修饰main函数,是因为外界需要调用它,必须将它公开化。

  • 使用static,是因为我们的main函数在编译的时候需要优先被加载。

  • main函数不需要返回值,java的GC机制会自动释放。

  • 存放String类型的数组参数args,作用是在main方法运行前将参数传入main方法中

参考文章

java版本区别