Java 速成


关于 Java

Java 是一种广泛使用的计算机编程语言,拥有 跨平台面向对象泛型编程 的特性,广泛应用于企业级 Web 应用开发和移动应用开发。

环境安装

Windows

可以在 Oracle 官网 下载 Oracle JDK(需要登录 Oracle 账号)。推荐下载 EXE 安装包来自动配置环境变量。

如果需要使用 OpenJDK,可以使用 Adoptium OpenJDK 提供的预编译包。如果下载较慢,可以使用 清华大学 TUNA 镜像站。推荐下载 MSI 安装包来自动配置环境变量。

Adoptium OpenJDK 即为原 AdoptOpenJDK,后者已于 2021 年 7 月移交 Eclipse 基金会。具体可见 本声明

Linux

使用包管理器安装

可以使用包管理器提供的 JDK。

如果是 Debian 及其衍生发行版(包括 Ubuntu),命令如下:

如同时安装了多个版本,可通过 update-java-alternatives -l 查看目前使用的版本,通过 update-java-alternatives -s <status 中显示的名字> 更改使用的版本。

如果 CentOS 7 及以前则使用的是 yum 安装,命令如下:

在稍后询问是否安装时按下y继续安装,或是你已经下好了 rpm 文件,可以使用以下命令安装:

如果 CentOS 8 则使用的是 dnf 安装,命令如下:

在稍后询问是否安装时按下y继续安装,或是你已经下好了 rpm 文件,可以使用以下命令安装:

如果是 Arch 及其衍生发行版(如 Manjaro),命令如下:

如同时安装了多个版本,可通过 archlinux-java status 查看目前使用的版本,通过 archlinux-java set <status 中显示的名字> 更改使用的版本。

手动安装

并在 .bashrc 文件末尾添加:

在控制台中输入命令 source ~/.bashrc 即可重载。如果是使用的 zsh 或其他命令行,在 ~/.zshrc 或对应的文件中添加上面的内容。

macOS

如果是 macOS,你可以使用以下命令安装包:

或者直接在官方网站下载 pkg 包或 dmg 包安装。

基本语法

主函数

Java 类似 C/C++ 语言,需要一个函数(在面向对象中,这被称为方法)作为程序执行的入口点。

Java 的主函数的格式是固定的,形如:

一个打包的 Java 程序(名称一般是 *.jar)中可以有很多个类似的函数,但是当运行这个程序的时候,只有其中一个函数会被运行,这是定义在 JarManifest 文件中的,在 OI 比赛中一般用不到关于它的知识。

注释

和 C/C++ 一样,Java 使用 ///* */ 分别注释单行和多行。

基本数据类型

类型名意义
boolean布尔类型
byte字节类型
char字符型
double双精度浮点
float单精度浮点
int整型
long长整型
short短整型
null

声明变量

final 关键字

final 含义是这是最终的、不可更改的结果,被 final 修饰的变量只能被赋值一次,赋值后不再改变。

数组

字符串

  • 字符串是 Java 一个内置的类。

包和导入包

Java 中的类(Class)都被放在一个个包(package)里面。在一个包里面不允许有同名的类。在类的第一行通常要说明这个类是属于哪个包的。例如:

包的命名规范一般是:项目所有者的顶级域.项目所有者的二级域.项目名称

通过 import 关键字来导入不在本类所属的包下面的类。例如下面要用到的 Scanner

如果想要导入某包下面所有的类,只需要把这个语句最后的分号前的类名换成 *

输入

可以通过 Scanner 类来处理命令行输入。

输出

可以对变量进行格式化输出。

符号意义
%f浮点类型
%s字符串类型
%d整数类型
%c字符类型

控制语句

Java 的流程控制语句与 C++ 是基本相同的。

选择

  • if
  • if...else
  • if...else if...else
  • switch...case

循环

  • for

for 关键字有两种使用方法,其中第一种是普通的 for 循环,形式如下:

第二种是类似 C++ 的 foreach 使用方法,用于循环数组或者集合中的数据,相当于把上一种方式中的循环变量隐藏起来了,形式如下:

  • while
  • do...while

注意事项

类名与文件名一致

创建 Java 源程序需要类名和文件名一致才能编译通过,否则编译器会提示找不到类。通常该文件名会在具体 OJ 中指定。

例:

Add.java

在该文件中需使用 Add 为类名方可编译通过。

贡献者:@Taoning@邶风@Cubik@Xeonacid@Coelacanthus@秋雨落@ksyx@凌莞~(=^▽^=)@mgt@Nano@Henry@Ir1d@Angel_Kitty@H-J-Granger@代小呆@Suyun514@billchenchina@jingyuexing

本页面最近更新:2/3/2023, 12:00:00 AM更新历史

发现错误?想一起完善? 在 GitHub 上编辑此页!

本页面的全部内容在 CC BY-SA 4.0SATA 协议之条款下提供,附加条款亦可能应用

评论

0 条评论
未登录用户


Copyright © 2016 - 2023 OI Wiki Team

最近更新:fd2ec2c, 2023-02-03

联系方式:Telegram 群组 / QQ 群组