Java 基本语法与语言环境(1/30)

目录

Java 基本语法与语言环境

1. Java 语言环境搭建

1.1 安装 JDK

1.2 配置系统变量

配置步骤(Windows 系统)

2. Hello World 程序

2.1 代码解析

2.2 编译与运行

3. Java 程序结构

4. 基本语法规则

4.1 标识符与关键字

4.2 数据类型与变量

4.3 变量的作用域

4.4 注释

5. Java 开发工具

5.1 IDE 的好处

5.2 常用快捷键

总结与后续


Java 基本语法与语言环境

Java 是一种面向对象的编程语言,凭借其跨平台性和强大的社区支持,成为了软件开发的热门选择。作为学习 Java 的第一步,了解基本语法和语言环境的搭建是非常重要的。本模块将详细介绍 Java 的语言环境、基本程序结构,以及最基本的语法规则,为后续模块的学习打下基础。

1. Java 语言环境搭建

在开始编写 Java 程序之前,需要先搭建 Java 的开发环境,包括安装 JDK(Java Development Kit)和配置系统变量。

1.1 安装 JDK

JDK 是 Java 开发者必须安装的软件包,它包含了开发 Java 应用程序所需的编译器和工具。

  1. 到 Oracle 官网下载适合自己操作系统的 JDK 版本。

  2. 运行安装程序并按照提示完成安装。

JDK 版本的选择也很重要,目前常用的版本包括 JDK 8、11 和 17。JDK 8 是经典的长期支持版本,适合兼容性要求较高的项目;JDK 11 和 JDK 17 是新的长期支持版本,提供了更多的特性和性能改进。

1.2 配置系统变量

安装 JDK 后,需要设置 JAVA_HOMEPATH 系统变量,这样可以在命令行中直接运行 Java 命令。

  • JAVA_HOME:指向 JDK 的安装目录。

  • PATH:将 JAVA_HOME/bin 添加到 PATH 变量中,以便命令行识别 Java 工具。

配置步骤(Windows 系统)
  1. 打开 "系统属性",选择 "高级系统设置"。

  2. 点击 "环境变量",在系统变量中添加 JAVA_HOME,并设置其值为 JDK 的安装路径。

  3. PATH 变量中添加 %JAVA_HOME%\bin

设置好这些环境变量后,可以通过在命令行中输入 java -versionjavac -version 来确认安装是否成功。

2. Hello World 程序

搭建好开发环境后,可以开始编写第一个 Java 程序。"Hello World" 是所有编程语言的入门程序,旨在验证开发环境的正确性并帮助初学者理解 Java 程序的基本结构。

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

2.1 代码解析

  • public class HelloWorld

    • public:访问修饰符,表示该类可以被所有代码访问。

    • class:用于定义一个类。

    • HelloWorld:类的名称,必须与文件名相同。

  • public static void main(String[] args)

    • public:方法的访问修饰符,表示该方法可以被其他代码调用。

    • static:表示该方法是静态的,可以不依赖对象而直接调用。

    • void:方法的返回类型,表示该方法不返回任何值。

    • main 方法是 Java 程序的入口点。

    • String[] args 用于接收命令行参数。

  • System.out.println("Hello, World!")

    • System 是 Java 标准类库中的一个类,包含与系统相关的功能。

    • outSystem 类的静态成员,表示标准输出流。

    • println 是用于打印并换行的方法。

通过运行这个程序,终端会显示 "Hello, World!",这表示程序成功运行。

2.2 编译与运行

要编译 Java 程序,需要使用 javac 命令,然后使用 java 命令运行编译后的字节码文件。

javac HelloWorld.java  // 编译源代码文件,生成 HelloWorld.class 文件
java HelloWorld        // 运行编译后的字节码文件

3. Java 程序结构

Java 程序一般由类和方法组成。以下是 Java 程序的基本结构:

  • 类(Class):Java 中的代码基本单元,每个 Java 程序至少包含一个类。

  • 方法(Method):封装了某些行为的代码段,可以被调用以执行特定的任务。

  • 包(Package):用于组织类和接口,将相关的类放在同一个包中,便于管理和访问控制。

表格总结了 Java 程序中常见的基本结构元素:

结构元素作用描述示例
类(Class)定义程序逻辑的基础单元public class Demo {}
方法(Method)封装程序行为,便于复用public void print() {}
变量(Variable)存储程序中的数据和状态int number = 10;
包(Package)组织类的逻辑结构package com.example;

在 Java 中,一个源文件只能包含一个 public 类,且类名必须与文件名相同。如果源文件中包含多个类,那么只有一个类可以是 public,其他类必须是包级私有。

4. 基本语法规则

Java 是一种强类型语言,有严格的语法规则。以下是一些必须掌握的基本语法:

4.1 标识符与关键字

  • 标识符:用于命名变量、方法、类等。标识符必须以字母、下划线(_)或美元符号($)开头,后面可以跟字母、数字、下划线或美元符号。标识符区分大小写,例如 MyClassmyclass 是不同的标识符。

  • 关键字:Java 语言保留了一些关键字(如 classpublicstatic 等),它们有特殊的含义,不能作为标识符使用。关键字在 Java 中共有 50 个左右,包括 ifelsefortrycatch 等。

4.2 数据类型与变量

Java 提供了多种数据类型,用于存储不同类型的数据:

  • 基本数据类型:包括 int(整数)、double(双精度浮点数)、char(字符)、boolean(布尔值)等。

    • 整数类型byte(8 位)、short(16 位)、int(32 位)、long(64 位)。

    • 浮点类型float(32 位)、double(64 位)。

    • 字符类型char,用于存储单个字符。

    • 布尔类型boolean,用于表示逻辑值(truefalse)。

  • 引用数据类型:包括类、数组、接口等。引用数据类型的变量存储的是对象的引用(即地址)。

int age = 25;          // 整数类型
long population = 7800000000L; // 长整型,需要在数字后加 'L'
double salary = 5000.5; // 浮点数类型
char grade = 'A';      // 字符类型
boolean isAdult = true; // 布尔类型

4.3 变量的作用域

变量的作用域指的是变量在程序中的可见范围。根据声明的位置不同,Java 变量可以分为:

  • 局部变量:定义在方法内部,只在方法执行期间有效。

  • 成员变量(实例变量):定义在类中但在方法外部,属于对象的状态。

  • 静态变量(类变量):使用 static 关键字修饰,属于整个类而非某个对象。

4.4 注释

Java 中的注释用于对代码进行解释,编译器会忽略这些内容。

  • 单行注释:以 // 开始。

  • 多行注释:以 /* 开头,以 */ 结尾。

  • 文档注释:以 /** 开头,用于生成 API 文档,通常用于类、方法的说明。

// 这是单行注释
/* 这是
   多行注释 */
/** 这是文档注释,用于生成文档 */

良好的注释习惯可以提高代码的可读性,帮助开发人员理解程序的逻辑。

5. Java 开发工具

在 Java 开发中,除了使用文本编辑器和命令行工具,还可以使用集成开发环境(IDE),如:

  • Eclipse:适合初学者,界面友好,功能强大,支持插件扩展。

  • IntelliJ IDEA:提供智能代码提示功能,开发效率高,社区版免费,广受开发者欢迎。

  • NetBeans:集成良好的 Java 开发工具,适合构建中小型项目,支持可视化开发。

5.1 IDE 的好处

使用 IDE 可以加快代码编写、调试的速度,并简化项目管理。以下是使用 IDE 的一些主要优点:

  • 代码自动补全:减少手动输入的错误,提高编码效率。

  • 调试工具:提供断点调试、变量监控等功能,便于查找和解决问题。

  • 项目管理:便于管理项目中的多个文件和包,支持构建工具集成(如 Maven、Gradle)。

5.2 常用快捷键

掌握一些常用的快捷键可以极大提高开发效率。例如:

  • Ctrl + Space:代码补全。

  • Ctrl + Shift + F:格式化代码。

  • Ctrl + /:注释/取消注释当前行。

总结与后续

在本模块中,我们学习了如何搭建 Java 的开发环境,编写第一个 "Hello World" 程序,并了解了 Java 的基本语法和程序结构。这些知识为接下来的学习打下了基础。在学习 Java 的过程中,环境配置和基本语法是不可或缺的部分,理解这些内容有助于后续的深入学习。

接下来我们会深入学习 Java 中的数据类型、变量和操作符,继续深入了解 Java 编程的基础部分,为实现更多功能打下坚实的基础。在下一模块中,我们将详细介绍如何使用各种数据类型和操作符进行计算和数据处理,并学习变量的更多应用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/904789.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开源一个开发的聊天应用与AI开发框架,集成 ChatGPT,支持私有部署的源码

大家好,我是一颗甜苞谷,今天分享一个开发的聊天应用与AI开发框架,集成 ChatGPT,支持私有部署的源码。 介绍 当前系统集成了ChatGPT的聊天应用,不仅提供了基本的即时通讯功能,还引入了先进的AI技术&#x…

LSTM——长短期记忆神经网络

目录 1.LSTM 工作原理 2.LSTM的代码实现 3.代码详解 LSTM(Long Short-Term Memory)是一种特殊的循环神经网络(RNN),用于解决长序列中的长期依赖问题。它通过引入门机制,控制信息的流入、保留和输出&…

大数据新视界 -- 大数据大厂之优化大数据计算框架 Tez 的实践指南

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

dedecms手机搜索不跳转手机页面模板的解决方法

1.找到文件plus/search.php,添加如下代码并保存 $mobile (isset($mobile) && is_numeric($mobile)) ? $mobile : 0; if ( $mobile1 ) {define(DEDEMOB, Y); } 2.来到网站后台,默认模板管理,新建模板 将手机端列表页面的.html文件&…

UE5之5.4 第一人称示例代码阅读2 子弹发射逻辑

TP_WeaponComponent.h 看看头文件 暴露了attach weapon和fire给蓝图 这两个函数意义一看名字吧,就是捡起来枪的时候执行,一个就是发射子弹的时候执行 #pragma once#include "CoreMinimal.h" #include "Components/SkeletalMeshComponen…

matlab读取逐日的1km分辨率中国大陆地区的土壤水数据,并汇总至逐月分辨率

1.前言 ESSD一篇文章介绍了逐日的土壤水数据: ESSD - A 1 km daily soil moisture dataset over China using in situ measurement and machine learning 图片来源:Li et al., 2022, ESSD 中国大陆地区的土壤水的数据下载地址: 国家青藏高…

哈工大《理论力学》第九版课后答案解析及笔记PDF

第九版序 哈工大《理论力学》初版于1961年,先后再版8次,曾获得首届国家优秀教材奖和国家级教学成果奖。本书第8版为“十二五”普通高等教育本科国家级规划教材,并于2021年被国家教材委员会评为首届全国教材建设奖全国优秀教材一等奖。 本书…

MindShare PCIE 3.0 笔记-第三四章

MindShare 官网,地址如下: MindShare Charpter 3: Configuration 概述 主要介绍 PCIe 驱动对 PCIE 设备中 function 的 Config Header 的访问. 1. 总线、设备与功能定义 每一个 PCIE function 都是独一无二的,通过设备号与总线号区分。 2. PCIe 总线…

Windows和Linux等保加固测评(2)

本文以等保2.0为标准,三级等保要求,centos7.6.1810系统为例进行演示。 关于加密 /etc/shadow文件格式和/etc/passwd类似,由若干字段组成,字段之间用“:”隔开 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 ice:$6$5NA…

Redis的删除策略以及内存淘汰机制

在日常开发中,我们使用 Redis 存储 key 时通常会设置一个过期时间,但是 Redis 是怎么删除过期的 key,而且 Redis 是单线程的,删除 key 会不会造成阻塞。要搞清楚这些,就要了解 Redis 的过期策略和内存淘汰机制。 Redi…

h5小游戏5--杀死国王(附源码)

源代码如下 1.游戏基本操作 用空格键攻击,kill the king。 css样式源码 charset "UTF-8";font-face {font-family: "AddLGBitmap09";src: url("https://assets.codepen.io/217233/AddLGBitmap09.woff2") format("woff2"…

CentOS下安装ElasticSearch7.9.2(无坑版)

准备目录 搞一个自己喜欢的目录 mkdir /usr/local/app切换到该目录 cd /usr/local/app下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz选择其他版本 点击进入官网 https://www.elastic.co/guide/en/elasticsea…

Seven 9.20.01 | 趣味个人锻炼挑战,每天7分钟,坚持7个月

这是一款趣味个人锻炼挑战应用,基于《纽约时报杂志》报道的7分钟科学锻炼文章。无需锻炼设备,每天只需几分钟时间,趣味成就和奖励不断鼓励你。只需一张椅子、墙壁和自身的体重,7分钟锻炼基于科学研究,可在较短的时间内…

传智杯 第六届-复赛-A

题目描述: 小红拿到了一个字符串,她准备把这个字符串劈成两部分,使得第一部分的长度恰好是第二部分的两倍。你能帮帮她吗? 输入描述: 一个仅由小写字母组成的字符串,长度不超过10^5。 输出描述: 如果无解&#xff0c…

RFID技术实现产线全自动管理

产线自动化管理是现代制造企业提升竞争力的关键,它通过减少人工干预、提高生产效率、降低成本和增强库存管理的准确性,帮助企业实现精益生产。自动化管理系统能够实时监控生产过程,快速响应市场变化,提高产品的质量和交付速度。在…

CentOS 7 下升级 OpenSSL

升级openssh,下载:https://download.csdn.net/download/weimeilayer/89935114 上传到服务器,然后执行命令 rpm -Uvh *.rpm --nodeps --force安装依赖 yum -y install gcc perl make zlib-devel perl-CPAN下载安装包:https://github.com/ope…

C# 结构型设计模式----装饰器模式

1、简介 简要说明就是动态地给一个对象添加一些额外的职责。适用于需要扩展一个类的功能,或给一个类添加多个变化的情况。 装饰器,顾名思义就是在原有基础上添加一些功能。 装饰器模式中各个角色有: 抽象构件(Component&#x…

.NET内网实战:通过白名单文件反序列化漏洞绕过UAC

01阅读须知 此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。 02基本介绍 03原理分析 在渗透测试和红…

基于echarts、php、Mysql开发的数据可视化大屏

大屏效果展示 管理员进入数据可视化页面将看到数据可视化大屏。大屏内容包括两个条形图,用于统计当前网站所有用户的MBTI 16型人格分布;玫瑰图,用于展示当前网站用户MBTI四个维度,八个字母的占比;折线图,用…

jenkins ssh 免密报错Host key verification failed.

jenkins 发布项目,ssh连接远程服务器时报错:Host key verification failed. 解决: 原因是生成的sshkey不是用的jenkins用户,所以切换用户到:jenkins重新生成sshkey su jenkins ssh-keygen -t rsa ssh-copy-id -i ~/…