Java 编程入门:从零开始

news/2024/7/22 13:04:46/文章来源:https://blog.csdn.net/u010986241/article/details/139236280

引言

Java 是一种广泛使用的编程语言,因其平台独立性、丰富的库和强大的社区支持而受欢迎。无论你是初学者还是有经验的程序员,学习 Java 都是一项值得投资的技能。在这篇文章中,我们将从零开始,介绍 Java 的基础知识,包括其环境搭建、基本语法和一个简单的代码案例。

环境搭建

在编写 Java 代码之前,你需要设置开发环境。以下是步骤:

  1. 安装 JDK (Java Development Kit)

    • 访问 Oracle 官方网站 下载并安装最新版本的 JDK。
    • 安装完成后,配置环境变量:
      • 对于 Windows 用户:
        • 右键“我的电脑”,选择“属性” -> “高级系统设置” -> “环境变量”。
        • 在“系统变量”中找到或新建“JAVA_HOME”变量,设置其值为 JDK 的安装路径。
        • 编辑“Path”变量,添加 %JAVA_HOME%\bin
      • 对于 macOS/Linux 用户:
        • 打开终端,编辑 ~/.bash_profile~/.zshrc 文件,添加以下行:
          export JAVA_HOME=/path/to/jdk
          export PATH=$JAVA_HOME/bin:$PATH
          
        • 保存文件并运行 source ~/.bash_profilesource ~/.zshrc
  2. 安装 IDE (Integrated Development Environment)

    • 常用的 Java IDE 有 Eclipse、IntelliJ IDEA 和 NetBeans。本文推荐使用 IntelliJ IDEA 社区版。
    • 访问 IntelliJ IDEA 官方网站 下载并安装。

Java 基本语法

Hello World 程序

学习编程语言的第一步通常是编写一个简单的 “Hello, World!” 程序。下面是 Java 的 Hello World 程序:

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

让我们逐行解释这段代码:

  • public class HelloWorld:声明一个名为 HelloWorld 的公共类。
  • public static void main(String[] args):定义程序的主方法。每个 Java 应用程序都必须包含一个 main 方法作为程序的入口。
  • System.out.println("Hello, World!");:在控制台打印 “Hello, World!” 字符串。

基本数据类型

Java 提供了几种基本数据类型:

  • 整数类型:byte (1字节), short (2字节), int (4字节), long (8字节)
  • 浮点类型:float (4字节), double (8字节)
  • 字符类型:char (2字节)
  • 布尔类型:boolean (1字节)

以下是基本数据类型的例子:

public class DataTypes {public static void main(String[] args) {int num = 10;float fnum = 10.5f;char letter = 'A';boolean flag = true;System.out.println("Integer: " + num);System.out.println("Float: " + fnum);System.out.println("Char: " + letter);System.out.println("Boolean: " + flag);}
}

运算符

Java 提供了多种运算符,包括算术运算符、关系运算符和逻辑运算符。

  • 算术运算符+, -, *, /, %
  • 关系运算符==, !=, >, <, >=, <=
  • 逻辑运算符&&, ||, !

例如:

public class Operators {public static void main(String[] args) {int a = 10, b = 5;System.out.println("Addition: " + (a + b)); // 15System.out.println("Subtraction: " + (a - b)); // 5System.out.println("Multiplication: " + (a * b)); // 50System.out.println("Division: " + (a / b)); // 2System.out.println("Modulus: " + (a % b)); // 0System.out.println("Equal: " + (a == b)); // falseSystem.out.println("Not Equal: " + (a != b)); // trueSystem.out.println("Greater: " + (a > b)); // trueSystem.out.println("Less: " + (a < b)); // falseboolean flag1 = true, flag2 = false;System.out.println("AND: " + (flag1 && flag2)); // falseSystem.out.println("OR: " + (flag1 || flag2)); // trueSystem.out.println("NOT: " + (!flag1)); // false}
}

条件语句

Java 中的条件语句有 ifelse ifelseswitch

public class Conditionals {public static void main(String[] args) {int number = 10;if (number > 0) {System.out.println("Number is positive.");} else if (number < 0) {System.out.println("Number is negative.");} else {System.out.println("Number is zero.");}int day = 3;switch (day) {case 1:System.out.println("Monday");break;case 2:System.out.println("Tuesday");break;case 3:System.out.println("Wednesday");break;default:System.out.println("Invalid day");break;}}
}

循环语句

Java 提供了 for 循环、while 循环和 do-while 循环。

public class Loops {public static void main(String[] args) {// For loopfor (int i = 1; i <= 5; i++) {System.out.println("For Loop: " + i);}// While loopint j = 1;while (j <= 5) {System.out.println("While Loop: " + j);j++;}// Do-while loopint k = 1;do {System.out.println("Do-While Loop: " + k);k++;} while (k <= 5);}
}

数组

数组是一种用来存储多个相同类型数据的结构。

public class Arrays {public static void main(String[] args) {int[] numbers = {1, 2, 3, 4, 5};for (int i = 0; i < numbers.length; i++) {System.out.println("Element at index " + i + ": " + numbers[i]);}// Enhanced for loopfor (int num : numbers) {System.out.println("Enhanced For Loop: " + num);}}
}

方法

方法是将一组操作封装在一起,使得代码更易于理解和维护。

public class Methods {public static void main(String[] args) {int result = add(10, 20);System.out.println("Sum: " + result);}public static int add(int a, int b) {return a + b;}
}

类和对象

Java 是一种面向对象编程语言,类和对象是其核心概念。

public class Dog {String name;int age;public Dog(String name, int age) {this.name = name;this.age = age;}public void bark() {System.out.println(name + " is barking.");}public static void main(String[] args) {Dog myDog = new Dog("Buddy", 3);myDog.bark();}
}

在这个例子中,我们定义了一个 Dog 类,包含两个属性 nameage,以及一个方法 bark。在 main 方法中,我们创建了一个 Dog 对象并调用了其方法。

总结

这篇文章介绍了 Java 的基本概念和语法,包括如何设置开发环境、基本数据类型、运算符、条件语句、循环语句、数组、方法以及类和对象。通过这些基础知识,你可以开始编写简单的 Java 程序。在接下来的文章中,我们将深入探讨更复杂的 Java 特性和应用。希望你能享受学习 Java 的过程!

如果你有任何问题或需要进一步的解释,请在评论区留言。我们将尽快回复。感谢阅读!

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

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

相关文章

Python图像处理库全面详细解析

目录 引言 PIL和Pillow&#xff1a;基础但强大的图像处理 PIL到Pillow的演变 功能亮点 实际应用案例 Pillow的适用场景 结论 ​编辑 OpenCV&#xff1a;计算机视觉的瑞士军刀 OpenCV的核心特点 功能亮点 实际应用案例 OpenCV的适用场景 结论 ​编辑 Scikit-Imag…

AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月28日预测第4弹

昨天的第二套方案已命中&#xff0c;第一套方案由于杀了对子&#xff0c;导致最终出错。 今天继续基于8883的大底&#xff0c;使用尽可能少的条件进行缩号&#xff0c;同时&#xff0c;同样准备两套方案&#xff0c;一套是我自己的条件进行缩号&#xff0c;另外一套是8883的大底…

WordPress国外超人气主题Vikinger汉化版

WordPress国外超人气主题Vikinger汉化版 前言效果图安装教程领取主题下期更新预报 前言 我们在上一个教程已经学过如何安装WordPress&#xff0c;所以现在不用多说。 效果图 安装教程 下载后先本地解压&#xff0c;找到vikinger.zip文件&#xff0c;上传安装并启用主题。 访…

LeetCode题练习与总结:有序链表转换二叉搜索树--109

一、题目描述 给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为平衡二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0&#xff0c;-3,9&#xff0c;-10,null,5]&#xff0c;它表…

区块链钱包如果丢失了私钥或助记词,资产还能恢复吗?

如果你丢失了区块链钱包的私钥或助记词&#xff08;通常是用于恢复钱包的短语或种子&#xff09;&#xff0c;那么你的资产在大多数情况下是无法恢复的。私钥是访问和控制你在区块链上资产的唯一凭证&#xff0c;而助记词&#xff08;如BIP39标准中的12、18、24个单词的短语&am…

MySQL中Undo-log是什么?有什么作用?

2.6.1. Undo-log撤销日志 Undo即撤销的意思&#xff0c;通常也称为回滚日志&#xff0c;用来给MySQL撤销SQL操作的。 当一条写入类型的SQL执行时&#xff0c;都会记录Undo-log日志&#xff0c;Undo-log并不存在单独的日志文件&#xff0c;InnoDB默认是将Undo-log存储在xx.ibd…

java项目——图书管理系统

文章目录 前言图书管理系统整体框架&#xff1a;book包user包Main包&#xff1a;iooperation包总结&#xff1a; 前言 针对这些天所学的javaSE的知识&#xff0c;用一个小项目来实践一下。 图书管理系统 整体框架&#xff1a; 采取面向对象的思想实现此项目&#xff0c;首先…

企业如何正确地利用LLM大模型?

大型语言模型 (LLM) 不值得信任。就是这样。 考虑到它们先进的 AI 能力以及当今强大的基础模型的普遍知识&#xff0c;这似乎是一件令人惊讶的事情。然而&#xff0c;问题的关键在于 LLM 无法解释其输出。你不能信任 LLM 的结果&#xff0c;不是因为它不准确&#xff0c;而是因…

超市进销存|基于SprinBoot+vue的超市进销存系统(源码+数据库+文档)

超市进销存系统 目录 基于SprinBootvue的超市进销存系统 一、前言 二、系统设计 三、系统功能设计 1 登录注册 2 管理员功能模块 3员工功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#x…

golang中的md5、sha256数据加密文件md5/sha256值计算步骤和运行内存图解

在go语言中对数据计算一个md5&#xff0c;或sha256和其他语言 如java, php中的使用方式稍有不同&#xff0c; 那就是要加密的数据必须通过流的形式写入到你创建的Hash对象中。 Hash数据加密步骤 1. 先使用对应的加密算法包中的New函数创建一个Hash对象&#xff0c;(这个也就是…

手搓单链表(无哨兵位)(C语言)

目录 SLT.h SLT.c SLTtest.c 测试示例 单链表优劣分析 SLT.h #pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h>typedef int SLTDataType;typedef struct SListNode {SLTDataType data;struct SListNode* next; }SLTNode;//打印…

Hololens 2 新建自定义按钮

官方链接地址 1、创建Cube 2、添加PressableButton脚本&#xff0c;并点击AddNearin… 3、把Cube拖入到MovingButtonVisuals变量中 4、点击NearInteractionTouchable组件&#xff08;这个组件是添加和上一个脚本绑定的&#xff0c;自动添加上来的&#xff09;上的Fix… 5、…

linux系统常用压缩和解压命令

文章目录 Ubuntu 系统中的文件压缩与解压指南一、常用的压缩和解压工具二、tar 工具三、gzip 工具四、bzip2 工具五、zip 和 unzip 工具六、7z 工具乱码批量解压脚本七、总结 Ubuntu 系统中的文件压缩与解压指南 在 Ubuntu 系统中&#xff0c;文件压缩与解压是日常操作中非常常…

《Effective Objective-C 2.0》读书笔记——对象、消息、运行期

目录 第二章&#xff1a;对象、消息、运行期第6条&#xff1a;理解“属性”这一概念第7条&#xff1a;在对象内部尽量直接访问实例变量第8条&#xff1a;理解“对象等同性”这一概念第9条&#xff1a;以“类族模式”隐藏实现细节第10条&#xff1a;在既有类中使用关联对象存放自…

RSC英国皇家化学学会文献查找下载

英国皇家化学学会(Royal Society of Chemistry&#xff0c;简称RSC)是以促进全球化学领域研究发展与传播为宗旨的国际权威学术机构&#xff0c;是化学信息的一个重要宣传机关和出版商。RSC出版的期刊是化学领域的核心期刊&#xff0c;大部分被SCI和MEDLINE收录&#xff0c;如An…

堆排序和Topk问题

堆排序 堆排序即利用堆的思想来进行排序&#xff0c; 总共分为两个步骤&#xff1a; 1. 建堆 升序&#xff1a;建大堆&#xff1b; 降序&#xff1a;建小堆 2 .利用堆删除思想来进行排序 利用堆删除思想来进行排序 建堆和堆删除中都用到了向下调整&#xff0c;因此掌握了…

260 基于matlab的工业乙醇发酵GUI仿真

基于matlab的工业乙醇发酵GUI仿真。首先对经典的流加半经验半理论模型进行动态和稳态仿真&#xff0c;考虑实际情况密&#xff0c;逐步将温度&#xff0c;气体排放等因素考虑到模型中去&#xff0c;进行综合性仿真。结合GUI技术&#xff0c;以动力学模型为核心&#xff0c;制作…

【组合数学 放球问题 虚拟点 小于等于转小于】1621. 大小为 K 的不重叠线段的数目

本文涉及知识点 放球问题 组合数学汇总 本题难道分&#xff1a;2198 LeetCode1621. 大小为 K 的不重叠线段的数目 给你一维空间的 n 个点&#xff0c;其中第 i 个点&#xff08;编号从 0 到 n-1&#xff09;位于 x i 处&#xff0c;请你找到 恰好 k 个不重叠 线段且每个线段…

VUE3+TS+elementplus+Django+MySQL实现从数据库读取数据,显示在前端界面上

一、前言 前面通过VUE3和elementplus创建了一个table&#xff0c;VUE3TSelementplus创建table&#xff0c;纯前端的table&#xff0c;以及使用VUE3TSelementplus创建一个增加按钮&#xff0c;使用前端的静态数据&#xff0c;显示在表格中。今天通过从后端获取数据来显示在表格…

大数据开发面试题【Kafka篇】

83、介绍下Kafka&#xff0c;Kafka的作用?Kafka的组件?适用场景? kafka是一个高吞吐量、可扩展的分布式消息传递系统&#xff0c;在处理实时流式数据&#xff0c;并能够保证持久性和容错性 可用于数据管道、流分析和数据继承和关键任务应用&#xff08;发布/订阅模式&#…