一、初识Java:是什么,能做什么?
Java到底是什么?

Java是Sun公司(斯坦福大学网络公司)在1995年推出的一门高级编程语言,2009年Sun公司被Oracle(甲骨文)公司收购,现在Java的官方维护方就是Oracle。而Java的联合创始人詹姆斯·高斯林,也被大家公认为“Java之父”。

它能成为国内企业使用最广泛、全球最流行的编程语言之一,核心原因也很简单:开发社区极其完善、功能丰富,同时具备优秀的可移植性、安全可靠性和稳定的性能,这也是企业大规模采用它的核心原因。

Java能做什么?

  • 企业级服务器端软件开发:占据了90%以上的市场份额,日常用的电商、金融、办公系统,后端大多是Java开发的;
  • 大数据与云计算开发:大数据领域的主流框架Hadoop、Spark等,都是基于Java开发的;
  • 移动端App开发、桌面应用开发、游戏开发等场景也都有Java的身影。

Java三大技术平台,对应不同的开发场景:

  1. JavaSE(标准版):Java技术的核心和基础,也是入门学习的重点;
  2. JavaEE(企业版):企业级应用开发的全套解决方案,做后端开发必备;
  3. JavaME(小型版):针对移动设备应用的解决方案。

二、开发环境搭建:Java开发的前置准备

第一步搭建好开发环境,核心是安装和配置JDK。

1. JDK是什么

JDK全称Java Development Kit,是Java开发者工具包,用Java开发程序,必须先安装JDK。

很多新手会 confused JDK、JRE、JVM的关系,这里一句话讲清楚:

  • JVM(Java虚拟机):真正运行Java程序的地方;
  • JRE(Java运行环境):包含JVM和Java核心类库,是Java程序运行的基础;
  • JDK:包含JRE、JVM,还有javac(编译工具)、java(运行工具)等所有开发工具,即装了JDK,就拥有了Java开发和运行的全部能力。

2. JDK的下载与安装

  • 下载渠道:Oracle官网下载;
  • 版本选择:优先选择LTS(长期支持)版本,包括JDK 8、11、17、21,目前很多企业还在稳定使用JDK 8和JDK 11;
  • 安装注意:安装路径建议不要包含中文和空格,全程默认下一步。

3. 环境变量配置

环境变量的核心作用,是让我们能在电脑的任意目录下,直接通过命令行运行java和javac指令,不用每次都切换到JDK的安装目录。

较新版本的JDK在安装时,会自动把java和javac的路径配置到系统Path环境变量中,而老版本的JDK需要手动配置。
手动配置两个环境变量:

  1. JAVA_HOME:变量值填写JDK安装路径,作用:告诉操作系统和其他技术框架JDK的安装位置;
  2. Path:在Path中添加%JAVA_HOME%\bin,这种写法比直接写绝对路径更灵活,后续更换JDK版本时,只需要修改JAVA_HOME。

4. 验证安装是否成功

按下Win+R,输入cmd打开命令行窗口,分别输入以下两个命令:

java -version
javac -version

如果两个命令都能正常输出JDK的版本号,就说明安装和配置成功。

这里还要记住Java最核心的两个命令:

  • javac:编译工具,把我们写的.java源代码文件,翻译成计算机能识别的.class字节码文件;
  • java:运行工具,执行编译好的.class文件,让程序跑起来。

这两个步骤,实现了Java“一次编译,处处可用”的跨平台特性——只要不同的操作系统安装了对应的JVM,同一份编译后的.class文件就能直接运行。

三、开发工具选择

目前企业里Java开发的主流工具,主要包含:

  1. IntelliJ IDEA:企业开发的首选工具,由JetBrains公司开发,代码智能提示、重构、版本控制集成能力都极其优秀,分为免费的社区版(新手完全够用)和付费的终极版;
  2. Eclipse:开源免费的老牌IDE,插件生态极其丰富;
  3. Apache NetBeans:开源免费,界面友好,对JavaEE和Web应用支持很好,上手门槛低;
  4. VS Code+Java插件:轻量级代码编辑器,通过安装Java扩展就能实现基础的开发功能,适合喜欢轻量化工具的开发者。

IDEA开发Java程序的核心结构

用IDEA开发Java项目,代码结构有固定的层级,避免后续项目结构混乱:
Project(工程/项目)-> Module(模块)-> Package(包)-> Class(类)

  • 一个Project里可以创建多个Module,比如一个电商系统Project,可拆分出订单、购物车、用户等多个Module;
  • 一个Module里可以创建多个Package,用来分类管理不同功能的代码;
  • 一个Package里可以创建多个Class,Java代码最终都写在Class类文件里。

IDEA常用快捷键

| 快捷键 | 核心作用 |
|--------|----------|
| psvm/main | 快速生成main方法 |
| sout | 快速生成控制台输出语句 |
| Ctrl + D | 复制当前行到下一行 |
| Ctrl + X | 删除当前行 |
| Ctrl + ALT + L | 自动格式化代码 |
| Ctrl + / | 快速添加/取消单行注释 |
  1. 可以安装AI编程插件,比如通义灵码、Github Copilot等,能实现代码补全、注释生成、代码解释、优化建议等功能;
  2. 可根据自己的习惯调整主题、字体大小、背景色,提升编码的舒适度。

四、第一个Java程序

方式一:文本编辑器+命令行实现

1. 编写源代码

新建一个文本文档,重命名为HelloWorld.java,注意:**文件名必须和代码中的类名完全一致,后缀必须是.java。

用记事本或VS Code打开文件,输入以下代码,所有符号都必须是英文模式:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello,World!");
    }
}

main方法是程序的入口,程序运行时会自动执行main方法里的代码。

2. 编译代码

打开cmd命令行窗口,切换到HelloWorld.java文件所在的目录,输入编译命令:

javac HelloWorld.java

如果代码没有报错,目录下会自动生成一个HelloWorld.class字节码文件,这就是编译后的文件。

3. 运行程序

在同一个命令行窗口,输入运行命令,注意这里不需要加文件后缀:

java HelloWorld

命令执行后,控制台会输出Hello,World!

方式二:IDEA快速实现

  1. 新建Project空工程;
  2. 在工程里新建Module模块;
  3. 在模块的src目录下,新建Package包(建议用域名倒写格式,比如com.hello);
  4. 在包下新建Class类,命名为HelloWorld;
  5. 在类中编写上述HelloWorld代码;
  6. 点击代码左侧的运行按钮,或右键选择Run,控制台就会输出运行结果。

IDEA会自动完成代码的编译和执行,编译后的.class文件,会存放在工程目录下的out文件夹中。

五、Java基础语法核心

1. 注释:给代码写说明

注释是写在程序中,对代码进行解释说明的文字,方便自己和其他人理解代码,注释不会影响程序的执行,因为编译后的.class文件中,不会保留注释内容。

Java有三种注释写法:

  • 单行注释:// 注释内容,只对当前行生效,适合简短说明;
  • 多行注释:/* 注释内容 */,可跨行书写,适合大段说明;
  • 文档注释:/** 注释内容 */,一般用在类和方法上方,注释内容可被提取成程序的说明文档。

2. 字面量:程序中数据的书写规则

字面量,就是程序中能直接书写的数据,不同类型的数据,在Java中有固定的书写格式:

数据类型书写规则示例
整数和生活中写法一致666、-88
小数和生活中写法一致13.14、-5.21
字符必须用单引号包裹,且只能有一个字符'A'、'我'、'0'
字符串必须用双引号包裹,内容可空可多"HelloWorld"、"黑马程序员"
布尔值只有两个固定值true(真)、false(假)
空值固定值null

3. 变量:程序中处理数据的核心

变量可以理解为内存中的一块区域,就像一个盒子,用来存放程序要处理的数据,使用变量管理数据,代码会更灵活、更易维护。

变量的定义格式

数据类型 变量名称 = 初始值;
// 示例
int age = 18;
double price = 19.9;

变量最核心的特点:里面存放的数据可以被修改,比如:

int age = 18;
age = 19; // 修改变量的值
System.out.println(age); // 输出19

变量的使用注意事项

  1. 变量必须先声明,才能使用;
  2. 变量是什么数据类型,就必须存放对应类型的数据;
  3. 同一个作用范围内,不能定义两个同名的变量;
  4. 变量定义时可以不赋初始值,但使用前必须赋值。

4. 数据类型:给变量划定数据规则

Java的数据类型分为两大类:基本数据类型引用数据类型

基本数据类型分为4大类,共8种,每种类型的内存占用和数据范围都固定:

类型分类具体类型内存占用(字节)数据范围
整型byte1-128 ~ 127
short2-32768 ~ 32767
int(默认)4-21亿多 ~ 21亿多(-2147483648 ~ 2147483647)
long8极大范围(19位数:-9223372036854775808 ~ 9223372036854775807)
浮点型float4大范围小数(±3.4028235×10³⁸,有效位约 6~7 位)
double(默认)8更大范围、更高精度小数(±1.7976931348623157×10³⁰⁸,有效位约 15~16 位)
字符型char20 ~ 65535
布尔型boolean1true、false

这里有两个小知识点:

  • 写整数时,默认是int类型,想要写long类型的数据,需要在数字后加L/l;
  • 写小数时,默认是double类型,想要写float类型的数据,需要在数字后加F/f。

5. 关键字与标识符

  • 关键字:Java语言预定义的、有特殊含义的单词,比如public、class、int、if、else等,关键字不能用来当作类名、变量名,否则会报错;
  • 标识符:为类、变量、方法、包等自定义的名字,也就是“取名规则”。

标识符的命名必须遵守以下规则:

  1. 只能由字母、数字、下划线(_)和美元符($)组成;
  2. 不能以数字开头;
  3. 不能使用Java关键字;
  4. 不能包含&、%、#等特殊字符;
  5. Java是大小写敏感的,例如:age和Age是两个完全不同的标识符。

同时还有通用的命名规范,让代码更规范易读:

  • 类名:大驼峰命名法,所有单词的首字母均大写,单词间无分隔符,比如HelloWorld、Student;
  • 变量名:小驼峰命名法,第一个单词首字母小写,后续每个单词首字母大写,单词间无分隔符,比如age、studentName。

标签: none

添加新评论