Java 编程初体验


Java学习资料

Java学习资料

Java学习资料


一、引言

在当今数字化的时代,编程已然成为一项极具价值的技能。而 Java 作为一门广泛应用于企业级开发、移动应用、大数据等众多领域的编程语言,吸引着无数初学者投身其中。当我们初次踏入 Java 编程的世界,就仿佛开启了一场充满新奇与挑战的冒险之旅。下面,就让我们一同回顾 Java 编程的初体验。

二、环境搭建

要开启 Java 编程之旅,首先得搭建好开发环境。这主要包括安装 JDK(Java Development Kit,Java 开发工具包)和集成开发环境(IDE)。

2.1 安装 JDK

JDK 是 Java 编程的基础,它包含了 Java 编译器、Java 虚拟机(JVM)等重要组件。我们可以从 Oracle 官方网站或者 OpenJDK 官网下载适合自己操作系统的 JDK 版本。下载完成后,按照安装向导的提示进行安装。安装完成后,还需要配置环境变量,将 JDK 的 bin 目录添加到系统的 PATH 变量中,这样系统才能找到 Java 相关的命令。

2.2 选择 IDE

IDE 能大大提高我们的开发效率。常见的 Java IDE 有 Eclipse、IntelliJ IDEA 和 NetBeans 等。对于初学者来说,IntelliJ IDEA 的社区版是个不错的选择,它提供了丰富的代码提示、自动补全、调试等功能。下载并安装好 IDE 后,我们就可以开始创建 Java 项目了。

三、第一个 Java 程序:Hello World

3.1 创建项目

打开 IntelliJ IDEA,选择创建一个新的 Java 项目。按照向导的步骤,指定项目的名称和存储位置,然后 IDE 会自动为我们创建好项目的基本结构。

3.2 编写代码

在项目中创建一个新的 Java 类,命名为 HelloWorld。在类中编写如下代码:

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

这段代码虽然简短,但却包含了 Java 程序的基本结构。public class HelloWorld 定义了一个公共类 HelloWorld;public static void main(String[] args) 是 Java 程序的入口点,程序从这里开始执行;System.out.println(“Hello, World!”); 的作用是将字符串 “Hello, World!” 输出到控制台。

3.3 运行程序

编写完代码后,我们可以点击 IDE 中的运行按钮,或者使用快捷键来运行程序。如果一切配置正确,控制台会输出 Hello, World!。看到这行输出的那一刻,我们会真切地感受到自己已经成功迈出了 Java 编程的第一步,心中充满了喜悦和成就感。

四、数据类型与变量

4.1 数据类型

Java 是一种强类型语言,它要求每个变量都必须声明其数据类型。Java 中的数据类型主要分为基本数据类型和引用数据类型。基本数据类型包括整数类型(如 int、long)、浮点类型(如 float、double)、字符类型(char)和布尔类型(boolean)。引用数据类型则包括类、接口、数组等。

4.2 变量声明与赋值

我们可以通过以下方式声明并赋值变量:

int age = 20;
double height = 1.75;
char gender = 'M';
boolean isStudent = true;

在这个例子中,我们分别声明了一个整数变量 age、一个双精度浮点变量 height、一个字符变量 gender 和一个布尔变量 isStudent,并为它们赋予了初始值。

五、控制流程语句

5.1 条件语句

条件语句用于根据不同的条件执行不同的代码块。Java 中的条件语句主要有 if-else 语句和 switch 语句。例如:

int score = 80;
if (score >= 90) {System.out.println("优秀");
} else if (score >= 80) {System.out.println("良好");
} else if (score >= 60) {System.out.println("及格");
} else {System.out.println("不及格");
}

5.2 循环语句

循环语句用于重复执行一段代码。Java 提供了 for 循环、while 循环和 do-while 循环。例如,使用 for 循环输出 1 到 10 的数字:

for (int i = 1; i <= 10; i++) {System.out.println(i);
}

六、面向对象编程基础

6.1 类与对象

Java 是一门面向对象的编程语言,类是对象的抽象描述,而对象是类的具体实例。我们可以定义一个简单的 Person 类:

class Person {String name;int age;public void introduce() {System.out.println("我叫" + name + ",今年" + age + "岁。");}
}

然后创建 Person 类的对象并调用其方法:

Person person = new Person();
person.name = "张三";
person.age = 25;
person.introduce();

6.2 封装、继承和多态

封装、继承和多态是面向对象编程的三大特性。封装是将数据和操作数据的方法绑定在一起,隐藏对象的内部实现细节;继承允许一个类继承另一个类的属性和方法,从而实现代码的复用;多态则是指同一个方法可以根据对象的不同类型表现出不同的行为。

七、初体验的感悟

在 Java 编程的初体验中,我们从环境搭建到写出第一个程序,再到学习数据类型、控制流程语句和面向对象编程基础,每一步都充满了挑战和惊喜。虽然在学习过程中会遇到各种错误和难题,但通过查阅资料、请教他人,我们逐渐掌握了解决问题的方法。Java 编程的严谨性和逻辑性让我们体会到了编程的魅力,同时也锻炼了我们的思维能力。随着对 Java 编程的深入学习,我们期待着能够用它开发出更加复杂和实用的程序。

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

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

相关文章

STM32 对射式红外传感器配置

这次用的是STM32F103的开发板&#xff08;这里面的exti.c文件没有how to use this driver 配置说明&#xff09; 对射式红外传感器 由一个红外发光二极管和NPN光电三极管组成&#xff0c;M3固定安装孔&#xff0c;有输出状态指示灯&#xff0c;输出高电平灯灭&#xff0c;输出…

https数字签名手动验签

以bing.com 为例 1. CA 层级的基本概念 CA 层级是一种树状结构&#xff0c;由多个层级的 CA 组成。每个 CA 负责为其下一层级的实体&#xff08;如子 CA 或终端实体&#xff09;颁发证书。层级结构的顶端是 根 CA&#xff08;Root CA&#xff09;&#xff0c;它是整个 PKI 体…

【自然语言处理(NLP)】深度循环神经网络(Deep Recurrent Neural Network,DRNN)原理和实现

文章目录 介绍深度循环神经网络&#xff08;DRNN&#xff09;原理和实现结构特点工作原理符号含义公式含义 应用领域优势与挑战DRNN 代码实现 个人主页&#xff1a;道友老李 欢迎加入社区&#xff1a;道友老李的学习社区 介绍 **自然语言处理&#xff08;Natural Language Pr…

Niagara学习笔记

橙色 发射器 , 绿色 粒子, 红色 渲染器 Emitter State 发射器状态 Life Cycle Mode&#xff08;生命周期模式&#xff09; 选择Self就是发射器自身管理生命周期 Loop Behavior 决定粒子发射次数 一次&#xff08;Once&#xff09;&#xff1a;发射器只播放一次多次&#…

17 一个高并发的系统架构如何设计

高并发系统的理解 第一:我们设计高并发系统的前提是该系统要高可用&#xff0c;起码整体上的高可用。 第二:高并发系统需要面对很大的流量冲击&#xff0c;包括瞬时的流量和黑客攻击等 第三:高并发系统常见的需要考虑的问题&#xff0c;如内存不足的问题&#xff0c;服务抖动的…

2025数学建模美赛|F题成品论文

国家安全政策与网络安全 摘要 随着互联网技术的迅猛发展&#xff0c;网络犯罪问题已成为全球网络安全中的重要研究课题&#xff0c;且网络犯罪的形式和影响日益复杂和严重。本文针对网络犯罪中的问题&#xff0c;基于多元回归分析和差异中的差异&#xff08;DiD&#xff09;思…

适配Android16

Android16新特性 Android 16带来了许多新特性和改进&#xff0c;提升了系统的流畅度、用户体验和安全性。对于应用开发者来说&#xff0c;适配Android 16可以确保应用在该版本上的兼容性和性能&#xff0c;同时也可以利用其新特性为用户提供更好的服务。以下是Android 16的一些…

【C++数论】880. 索引处的解码字符串|2010

本文涉及知识点 数论&#xff1a;质数、最大公约数、菲蜀定理 LeetCode880. 索引处的解码字符串 给定一个编码字符串 s 。请你找出 解码字符串 并将其写入磁带。解码时&#xff0c;从编码字符串中 每次读取一个字符 &#xff0c;并采取以下步骤&#xff1a; 如果所读的字符是…

【MQ】如何保证消息队列的高可用?

RocketMQ NameServer集群部署 Broker做了集群部署 主从模式 类型&#xff1a;同步复制、异步复制 主节点返回消息给客户端的时候是否需要同步从节点 Dledger&#xff1a;要求至少消息复制到半数以上的节点之后&#xff0c;才给客户端返回写入成功 slave定时从master同步数据…

ESP32 I2S音频总线学习笔记(二):I2S读取INMP441音频数据

简介 在这个系列的上一篇文章中&#xff0c;我们介绍了ESP32 I2S音频总线的相关知识&#xff0c;简要了解了什么是I2S总线、它的通信格式&#xff0c;以及相关的底层API函数。没有看过上篇文章的可以点击文章进行回顾&#xff1a; ESP32 I2S音频总线学习笔记&#xff08;一&a…

EasyExcel使用详解

文章目录 EasyExcel使用详解一、引言二、环境准备与基础配置1、添加依赖2、定义实体类 三、Excel 读取详解1、基础读取2、自定义监听器3、多 Sheet 处理 四、Excel 写入详解1、基础写入2、动态列与复杂表头3、样式与模板填充 五、总结 EasyExcel使用详解 一、引言 EasyExcel 是…

objection的简单使用

objection环境配置 下载以下版本 objection1.11.0 frida-tools9.2.4 python3.8.8 报错的话看这里: 在这个网站下载frida-tools14.2.18的离线包Links for frida 然后放入C:\Users\Asus\frida-14.2.18-py3.8-win-amd64.egg文件夹下 执行poetry add frida-tools14.2.18 ob…

危机13小时:追踪一场GitHub投毒事件

事件概要 自北京时间 2024.12.4 晚间6点起&#xff0c; GitHub 上不断出现“幽灵仓库”&#xff0c;仓库中没有任何代码&#xff0c;只有诱导性的病毒文件。当天&#xff0c;他们成为了 GitHub 上 star 增速最快的仓库。超过 180 个虚假僵尸账户正在传播病毒&#xff0c;等待不…

【Redis】缓存+分布式锁

目录 缓存 Redis最主要的使用场景就是作为缓存 缓存的更新策略&#xff1a; 1.定期生成 2.实时生成 面试重点&#xff1a; 缓存预热&#xff08;Cache preheating&#xff09;&#xff1a; 缓存穿透&#xff08;Cache penetration&#xff09; 缓存雪崩 (Cache avalan…

记录 | MaxKB创建本地AI智能问答系统

目录 前言一、重建MaxKBStep1 复制路径Step2 删除MaxKBStep3 创建数据存储文件夹Step4 重建 二、创建知识库Step1 新建知识库Step2 下载测试所用的txtStep3 上传本地文档Step4 选择模型补充智谱的API Key如何获取 Step5 查看是否成功 三、创建应用Step1 新建应用Step2 配置AI助…

C#新语法

目录 顶级语句&#xff08;C#9.0&#xff09; using 全局using指令&#xff08;C#10.0&#xff09; using资源管理问题 using声明&#xff08;C#8.0&#xff09; using声明陷阱 错误写法 正确写法 文件范围的命名空间声明&#xff08;C#10.0&#xff09; 可空引用类型…

基于dlib/face recognition人脸识别推拉流实现

目录 一.环境搭建 二.推拉流代码 三.人脸检测推拉流 一.环境搭建 1.下载RTSP服务器MediaMTX与FFmpeg FFmpeg是一款功能强大的开源多媒体处理工具,而MediaMTX则是一个轻量级的流媒体服务器。两者结合,可以实现将本地视频或者实时摄像头画面推送到RTSP流,从而实现视频…

Couchbase UI: Analytics

Couchbase 的 Analytics 页面是用于执行分析查询的部分&#xff0c;允许用户对存储在 Couchbase 中的数据进行复杂的分析和聚合。Analytics 提供了 SQL-like 查询语言&#xff08;N1QL for Analytics&#xff09;&#xff0c;使得用户能够轻松地执行数据分析任务。以下是关于 C…

梯度下降优化算法-Adam

Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种结合了动量法&#xff08;Momentum&#xff09;和 RMSProp 的自适应学习率优化算法。它通过计算梯度的一阶矩&#xff08;均值&#xff09;和二阶矩&#xff08;未中心化的方差&#xff09;来调整每个参数的学习率…

论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(六)(完结)

Understanding Diffusion Models: A Unified Perspective&#xff08;六&#xff09;&#xff08;完结&#xff09; 文章概括指导&#xff08;Guidance&#xff09;分类器指导无分类器引导&#xff08;Classifier-Free Guidance&#xff09; 总结 文章概括 引用&#xff1a; …