Java 程序的基本结构,编写和运行第一个Java程序(Hello World)!

Java程序的基本结构

Java是一种面向对象的编程语言,其程序结构较为规范。Java程序由一个或多个类组成,每个类包含数据成员和方法。

1. 包声明(Package Declaration)

包是Java中组织类的一种机制,使用包可以避免类名冲突,并且方便管理类。包声明位于源文件的第一行,格式如下:

package packageName;

例如:

package com.example.helloworld;

如果类不属于任何包,可以省略包声明。

2. 导入语句(Import Statements)

导入语句用于引入其他包中的类或整个包,以便在当前类中使用。导入语句位于包声明之后,类定义之前,格式如下:

import packageName.ClassName;
import packageName.*;

例如:

import java.util.Scanner;
3. 类定义(Class Definition)

Java程序的核心是类,类是对象的模板,定义对象的属性和行为。类定义的基本结构如下:

public class ClassName {// 成员变量// 构造方法// 成员方法
}

例如:

public class HelloWorld {// 成员变量// 构造方法// 成员方法
}
4. 成员变量(Member Variables)

成员变量是类的属性,用于存储对象的状态。成员变量可以是基本数据类型或引用数据类型。

public class HelloWorld {int number; // 基本数据类型String text; // 引用数据类型
}
5. 构造方法(Constructor)

构造方法用于创建对象并初始化成员变量。构造方法的名称必须与类名相同,并且没有返回类型。

public class HelloWorld {int number;String text;// 构造方法public HelloWorld(int number, String text) {this.number = number;this.text = text;}
}
6. 成员方法(Member Methods)

成员方法是类的行为,用于操作成员变量。成员方法可以有返回类型和参数。

public class HelloWorld {int number;String text;// 构造方法public HelloWorld(int number, String text) {this.number = number;this.text = text;}// 成员方法public void display() {System.out.println("Number: " + number);System.out.println("Text: " + text);}
}
7. 主方法(Main Method)

主方法是Java程序的入口点,每个Java应用程序必须包含一个主方法。主方法的签名必须是:

public static void main(String[] args) {// 程序逻辑
}

例如:

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

编写和运行第一个Java程序(Hello World)

下面通过编写和运行一个简单的“Hello World”程序来实际演示上述基本结构。

1. 编写程序

首先,创建一个Java源文件,文件名必须与类名相同,并以 .java 结尾。在本例中,文件名为 HelloWorld.java

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

编写完代码后,需要将其编译成字节码文件。打开命令提示符(Windows)或终端(macOS/Linux),导航到 HelloWorld.java 所在的目录,然后运行以下命令:

javac HelloWorld.java

如果没有错误,会生成一个名为 HelloWorld.class 的字节码文件。

3. 运行程序

编译成功后,使用 java 命令运行生成的字节码文件:

java HelloWorld

如果一切顺利,命令提示符或终端会显示以下输出:

Hello, World!

深入理解Java程序的组成部分

1. public 访问修饰符

public 是一种访问修饰符,表示该类或方法对所有其他类都是可见的。对于一个Java应用程序的主类,通常将其声明为 public

2. static 关键字

static 关键字表示方法属于类而不是类的实例(对象)。主方法 main 被声明为 static,所以可以直接通过类名调用它,而不需要创建类的实例。

3. void 返回类型

void 表示方法没有返回值。主方法 main 不返回任何值,因此其返回类型为 void

4. String[] args

String[] args 是一个字符串数组,用于存储从命令行传递给程序的参数。在本例中,我们没有使用这个参数,但它通常用于接收用户输入或配置选项。

学习中可能遇到的问题及解决方案

1. 编译错误

问题

  • 代码中存在语法错误或拼写错误,导致编译失败。

解决方案

  • 仔细检查代码,确保所有语法正确,特别是大小写敏感问题。
  • 查看编译器提供的错误信息,根据提示修正代码。
2. 无法找到主类

问题

  • 运行程序时,命令提示符显示 Error: Could not find or load main class HelloWorld

解决方案

  • 确认类名和文件名是否一致。
  • 确认已经在正确的目录下运行 java 命令。
  • 确认编译成功并生成了 .class 文件。
3. 环境变量配置错误

问题

  • 运行 javacjava 命令时显示“不是内部或外部命令”。

解决方案

  • 检查并配置 JAVA_HOMEPATH 环境变量,确保指向正确的JDK安装路径。
  • 重新启动命令提示符或终端,使环境变量生效。
4. 字符编码问题

问题

  • 在某些操作系统或编辑器中,程序输出中文字符时可能会出现乱码。

解决方案

  • 确保源文件使用UTF-8编码保存。
  • 在运行 java 命令时,指定文件编码,例如 java -Dfile.encoding=UTF-8 HelloWorld

Java程序的基本结构包括包声明、导入语句、类定义、成员变量、构造方法、成员方法和主方法。通过编写和运行一个简单的“Hello World”程序,可以理解Java程序的核心组成部分和基本操作流程。

在学习和开发过程中,遇到问题时,通过仔细检查代码、配置环境变量和参考错误信息,可以有效解决常见问题。掌握这些基本概念和技能,将为进一步深入学习和应用Java编程打下坚实的基础。

黑马程序员免费预约咨询

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为编程题目(实时更新)

1.大小端整数 计算机中对整型数据的表示有两种方式:大端序和小端序,大端序的高位字节在低地址,小端序的高位字节在高地址。例如:对数字 65538,其4字节表示的大端序内容为00 01 00 02,小端序内容为02 00 01…

【Django】从零开始学Django(持续更新中)

pip install Djangopython manage.py startapp index运行: 成功!!! 在templates中新建index.html文件:

SpringBoot搭建Eureka注册中心

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 1、Spring-Cloud Euraka介绍 Spring-Cloud Euraka是Spring Cloud集合中一…

linux系统CPU持续飙高的排查方法

目录 前言: 1、查看系统cpu使用情况 2、找出占用cpu高的进程 3、进一步分析进程占用的原因!!! 4、解决办法 前言: 如果一台服务器,它的cpu使用率一直处于一个高峰值,此时服务器可能导致无…

【数据结构与算法】之堆及其实现!

目录 1、堆的概念及结构 2、堆的实现 2.1 堆向下和向上调整算法 2.2 堆的创建 2.3 建堆时间复杂度 2.4 堆的插入 2.5 堆的删除 2.6 完整代码 3、完结散花 个人主页:秋风起,再归来~ 数据结构与算法 个人格言&#…

Hadoop3:HDFS的Fsimage和Edits文件介绍

一、概念 Fsimage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含HDFS文件系统的所有目 录和文件inode的序列化信息。 Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先 会被记录到Ed…

【状态压缩dp】最短Hamilton路径

题意: 从0开始,必须走完全部节点,且不重复走,不漏走的最短距离 关键思路: 从0开始 走到j 节点所走情况是 state【state表示经过的点,不代表顺序,就表示经过的点】 f[i][j]表示 从0开始 走到j…

经纬恒润第三代重载自动驾驶平板车

随着无人驾驶在封闭场地和干线道路场景的加速落地,港口作为无人化运营的先行者,其场景的复杂度、特殊性对无人化运营的技术提出了各种挑战。经纬恒润作为无人驾驶解决方案提供商,见证了港口在无人化运营方面的尝试及发展,并深度参…

Python——基于共享单车使用量数据的可视化分析(1)

目录 🧾 1、数据集(部分数据) ✏️ 2、导入数据集与必要模块 1️⃣ 2.1 导入库以及字体包 2️⃣ 2.2 读取数据集 3️⃣ 2.3 查看数据集基本信息 ⌨️ 3、数据预处理 1️⃣ 3.1删除无关字段 2️⃣ 3.2对各字段进行中文标识 3️⃣ 3.3…

go mod模式下,import gitlab中的项目

背景 为了go项目能够尽可能复用代码,把一些公用的工具类,公用的方法等放到共用包里统一管理。把共用包放到gitlab的私有仓库中。 遇到的问题 通过https方式,执行go get报了错误。 通过ssh方式,执行go get报了错误。 修改配置&am…

Linux备份服务及rsync企业备份架构(应用场景)

备份服务概述 备份服务:需要使用到脚本,打包备份,定时任务. 备份服务:rsyncd服务,不同主机之间数据传输. 特点: rsync是个服务也是命令使用方便,具有多种模式传输数据的时候是增量传输 增量与全量: 全量 :无论多少数据全部推…

研发机构大数据迁移如何保障敏感数据不泄露

随着云计算和大数据技术的飞速进步,越来越多的企业正试图通过数据迁移来提升IT基础设施的效率,减少成本,并增强业务的灵活性。但是,这一过程并非没有它的挑战,尤其是在数据安全方面。数据在转移过程中可能会遭遇黑客攻…

光伏企业都在用的户用光伏管理软件——鹧鸪云

随着全球对可再生能源和清洁能源的需求日益增长,光伏产业作为其中的佼佼者,正迎来前所未有的发展机遇。然而,随着光伏电站规模的扩大和分布范围的增加,如何高效、智能地管理这些电站,确保它们稳定、安全地运行&#xf…

k8s遇到的错误记录

时隔四年有开始重新鼓捣k8s了,重新安装后遇到的错误记录如下: Error: Package: kubelet-1.14.0-0.x86_64 (kubernetes) Requires: kubernetes-cni 0.7.5 Available: kubernetes-cni-0.3.0.1-0.07a8a2.x86_64 (kubernetes) …

数美滑块研究

周一,在清晨的阳光照耀下,逆向山脚下的小镇宁静而安详。居民们忙碌地开始一天的生活,而在爬虫镇子的边缘,一座古朴的道观显得格外神秘。 阿羊正静静地坐在青石长凳上,摸鱼养神。突然,一道清脆的声音在他耳…

element-plus:踩坑日记

el-table Q:有fixed属性时,无数据时,可能出现底部边框消失的bug 现象: 解决方法: .el-table__empty-block {border-bottom: 1px solid var(--el-table-border-color); } el-collapse 折叠面板 Q:标题上…

为什么说 Redis 是单线程的?——Java全栈知识(25)

为什么说 Redis 是单线程的? 我们常说的 Redis 是单线程的,但是我前面在讲持久化机制的时候又说 RDB 的持久化是通过主进程 fork 出一个子进程来实现 RDB 持久化。那么 Redis 到底是多线程还是单线程的呢? Redis 的网络 IO 和键值的读写是单…

leetcode 1225 报告系统状态的连续日期(postgresql)

需求 系统 每天 运行一个任务。每个任务都独立于先前的任务。任务的状态可以是失败或是成功。 编写一个 SQL 查询 2019-01-01 到 2019-12-31 期间任务连续同状态 period_state 的起止日期(start_date 和 end_date)。即如果任务失败了,就是失…

Linux网络之策略路由

一、前言 日常维护工作中,有时候会遇到单台主机多张网卡的情况,尤其云上环境,云主机多张网卡是一种常见网络配置场景,那如何让多网卡正常工作呢,本期基于此北京,回顾下Linux策略路由的相关知识; 策略路由PBR:(Policy-Based-Route),也称为源路由,它是一种比基于目标网…

Python 造数据神器Faker

大家好,在编写代码过程中,我们经常需要一些假数据来进行测试或者演示。手动创建这些数据不仅耗时,而且容易出错。幸运的是,Python有一个非常有用的库叫做Faker,它可以生成各种类型的假数据,从名字、地址到公…