魔法程序员的奥妙指南:Java基本语法

作为一名魔法程序员,精通Java语言是至关重要的。Java作为一种强大的编程语言,在编写优质代码和开发强大应用程序时发挥着重要作用。让我们深入探讨Java基本语法的关键要点,从注释到变量,无所不包!
Java基本语法的神秘魔法
注释的魔力
注释就如同魔法咒语的符文,能够为代码注入智慧和清晰度。单行或多行注释,如同魔法卷轴般,让我们理清思路,让代码焕发生机。
注释在Java中是非常重要的,它们有助于解释代码,使代码更易于阅读和维护。Java支持单行注释和多行注释
单行注释//
// 这是单行注释,程序用于输出hello world
public class FileDemo {public static void main(String[] args) {System.out.println("hello world");}
}

多行注释/* */
/*
这是多行注释,程序用于输出99乘法表
使用两个嵌套for循环实现*/
public class FileDemo {public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "*" + i + "=" + i * j + "\t");}System.out.println();}}
}

标识符的魔咒
标识符如同魔法符号,为变量、方法、类等赋予独一无二的力量。它们是编码世界中的魔法名字,让我们能够召唤出代码中的力量
在Java中,标识符是用来命名变量、方法、类等的。标识符可以包括字母、数字、下划线和美元符号,但必须以字母、下划线或美元符号开头。例如:
int myVariable = 10;
String myString = "Hello";
关键字的法术
Java关键字就如同魔法咒语,具有特殊的含义和力量。它们是我们掌握魔法精髓的关键,让我们能够与编码世界互动
在Java中,关键字是具有特殊含义的保留字,用于表示数据类型、流程控制、类成员访问等。这些关键字具有固定的语法和含义,开发人员不能将它们用作标识符或变量名
- 以下是Java所有的关键字
| 关键字 | 描述 |
|---|---|
| abstract | 声明抽象类或者抽象方法 |
| assert | 断言条件为真 |
| boolean | 声明布尔型变量 |
| break | 跳出当前循环 |
| byte | 声明字节型变量 |
| case | 为switch语句定义一个条件 |
| catch | 捕获异常并处理 |
| char | 声明字符型变量 |
| class | 定义类 |
| const* | 保留关键字,未使用 |
| continue | 结束当前循环的当前迭代,继续下一次迭代 |
| default | 针对switch语句,设置默认情况 |
| do | 执行语句块,并在条件语句为真时重复执行 |
| double | 声明双精度浮点型变量 |
| else | 若条件语句为假,则执行语句块 |
| enum | 声明枚举类型 |
| extends | 扩展一个类 |
| final | 声明一个不可改变的值或者指示一个类不可继承 |
| finally | 在try块之后执行一个语句块,无论是否有异常发生 |
| float | 声明单精度浮点型变量 |
| for | 创建一个for循环 |
| goto* | 保留关键字,未使用 |
| if | 对条件进行测试,如果为真则执行代码块 |
| implements | 实现一个接口 |
| import | 导入另一个Java包中的类 |
| instanceof | 测试一个对象是否为一个类的实例 |
| int | 声明整型变量 |
| interface | 声明接口 |
| long | 声明长整型变量 |
| native | 指示一个方法调用是非Java代码实现 |
| new | 创建一个新的对象 |
| null | 空 |
| package | 声明包 |
| private | 声明私有成员或者方法 |
| protected | 声明受保护的成员或方法 |
| public | 声明公共的成员或方法 |
| return | 结束方法,并返回一个值 |
| short | 声明短整型变量 |
| static | 声明静态变量,方法,块或类 |
| strictfp | 确保浮点运算一致 |
| super | 引用超类的成员或者构造方法 |
| switch | 选择一个适当的代码块来执行 |
| synchronized | 保护多个线程访问的代码块 |
| this | 引用当前对象 |
| throw | 抛出异常 |
| throws | 定义可能抛出的异常 |
| transient | 修饰不被序列化的字段 |
| try | 定义一个安全代码块,可以出现异常而不中断代码的执行 |
| void | 声明void类型 |
| volatile | 指示一个变量可能在多个线程中被同时修改 |
| while | 创建一个while循环 |
✨注意:const 和 goto 是 Java 中的保留关键字,但实际上并没有用于编程。
变量的魔法容器
变量是我们施展魔法的容器,存储着神奇的数值和信息。它们可以是简单的数字,也可以是复杂的对象,为我们的魔法实现增添灵活性
在Java中,变量是用来存储数据的容器。变量需要先声明后使用,可以是基本数据类型(如int、double)或引用数据类型(如String、Object)。例如:
int num = 5;
String name = "Alice";
✨下表总结了Java中的基本数据类型及其取值范围:
| 数据类型 | 大小 (位) | 取值范围 |
|---|---|---|
| byte | 8 | -128 到 127 |
| short | 16 | -32,768 到 32,767 |
| int | 32 | -2,147,483,648 到 2,147,483,647 |
| long | 64 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
| float | 32 | 3.40282347E+38 到 1.40239846E-45 |
| double | 64 | 1.7976931348623157E+308 到 4.94065645841246544E-324 |
| char | 16 | 0 到 65,535 |
| boolean | 1 | true 或 false |
✨下表总结了Java中常见的引用数据类型:
| 数据类型 | 描述 |
|---|---|
| String | 代表字符串 |
| Array | 用于存储固定大小的同类型元素集合 |
| ArrayList | Java集合框架中的动态数组,可以根据需要自动增长 |
| LinkedList | Java集合框架中的双向链表 |
| HashMap | Java集合框架中的键值对映射 |
| LinkedHashMap | 保持元素插入顺序的HashMap扩展 |
| TreeSet | 基于红黑树的有序集合 |
| HashSet | 无序不重复元素集合 |
| Queue | 表示队列数据结构的接口 |
| Stack | 栈数据结构的实现 |
这些引用数据类型在Java中用于处理复杂数据结构和对象之间的关系,提供了丰富的数据结构和算法支持
请注意,Java中的每种数据类型在内存中占用的位数是固定的,但其取值范围会根据数据类型的有符号性质而不同
常量的魔法守护
常量就如同魔法护身符,保护着程序中不可改变的价值。它们是稳定的力量源泉,让我们的魔法稳如泰山
常量是在程序执行过程中其数值不会发生变化的量。在Java中,可以使用final关键字创建常量。例如:
final double PI = 3.14159;
final String APP_NAME = "MagicApp";
语句的咒语
Java语句就如同我们施展魔法的咒语,通过它们,我们打开编码世界的大门。赋值、条件、循环,每一条语句都是我们编织魔法的线索
Java程序由一系列语句组成,每个语句以分号;结束。常见的语句包括赋值语句、条件语句(if-else)、循环语句(for、while)、方法调用等
public class FileDemo {// 定义一个main方法public static void main(String[] args) {// 定义一个整型变量aint a = 10;// 判断a是否大于7if (a > 7) {System.out.println("a大于7");}}
}

public class FileDemo {// 定义一个main方法public static void main(String[] args) {// 循环输出1-10,输出在同一行for (int i = 1; i <= 10; i++) {System.out.print(i + " ");}}
}

通过掌握这些基本要点,你将能够编写优雅而强大的Java代码,成为一名真正的魔法程序员!
若想更深入探索Java编程的奥秘,推荐阅读关东升老师的著作《你好,Java》。这本书将带你深入了解Java的精髓,从基础到高级应用,助你成为一名卓越的Java开发者。立即开始你的魔法之旅!
推荐书籍:你好!Java
内容简介
本书以轻松幽默的语言,从零开始介绍如何学习Java语言。书名来源于编程语言中最经典的Hello World程序,寓意带您从入门到精通
本书全面系统地介绍了Java语言编程,共包含15章内容,涵盖了Java的基础语法、面向对象编程、常用类库、GUI编程、数据库访问、网络编程、多线程等核心知识点和编程技能
书中大部分知识点后都设计了针对性的训练营,通过大量示例和综合练习案例,帮助读者深入理解知识并灵活运用
每章都设有总结与扩展和同步练习,以及若干训练营,旨在通过综合案例巩固知识。我们提供配套代码、课件、答疑服务,以及视频来辅助学习(下载方式见封底)
书中目录采用幽默风格命名,使用漫画角色对话的形式讲解知识,以激发读者的学习兴趣
无论您是编程新手,还是有经验的程序员,本书都将以浅显易懂的方式,带您掌握Java语言实用技能。只要耐心学习践行,必将收获满满,现在请开始Java编程之旅吧!

获取方式
👉
京东购买链接:https://item.jd.com/14516600.html
相关文章:
魔法程序员的奥妙指南:Java基本语法
作为一名魔法程序员,精通Java语言是至关重要的。Java作为一种强大的编程语言,在编写优质代码和开发强大应用程序时发挥着重要作用。让我们深入探讨Java基本语法的关键要点,从注释到变量,无所不包! Java基本语法的神秘魔…...
SpringMVC传递参数
1.RequestMapping RequestMapping本身可以处理,get或post,指定了get或post之后,就只能处理对应的请求。 RequestMapping(value{"haihiyo","goodMoring"},methodRequestMethod.POST)2.RestFul风格 RestFul是一种风格 比如:网站的访…...
【Scala---04】函数式编程 『 函数 vs 方法 | 函数至简原则 | 函数式编程』
文章目录 1. 函数 vs 方法1.1 方法(1) 定义方法(2) 运算符即方法 1.2 函数(1) 定义函数(2) 匿名函数 1.3 方法转为函数1.4 可变参数&默认参数 2. 函数至简原则3. 函数式编程3.1 函数式编程思想3.3 函数柯里化&闭包3.5 递归 & 尾递归 4. 补充4.1 访问元祖元素4.2 &g…...
[华为OD] B卷 树状结构查询 200
题目: 通常使用多行的节点、父节点表示一棵树,比如 西安 陕西 陕西 中国 江西 中国 中国 亚洲 泰国 亚洲 输入一个节点之后,请打印出来树中他的所有下层节点 输入描述 第一行输入行数,下面是多行数据,每行以空…...
基于机器学习的学生学习行为自主评价设计与实现
管理员功能: a)学生学习数据管理:可查看学生学习的详情,编辑学生学习的内容,删除和添加学生学习,设置学生学习库存。 b)角色管理:增加删除学生用户,分配学生用户权限,查看学生用户…...
toml与json联系对比
前言 本文简单介绍toml;并且和json转化做对比,以及我对toml设计的理解。 参考: TOML: 简体中文 v1.0.0 json和toml转化工具 在线JSON转toml-toml转JSON - bejson在线工具 正文 数组 说白了,就是一个变量名,有多个…...
(已解决)org.springframework.amqp.rabbit.support.ListenerExecutionFailedException
报错截图 解决方案 1、登录rabbitMQ网址,删除所有队列 2、重启rabbitMQ 亲测有效!!!亲测有效!!!亲测有效!!!...
基于FPGA的数字信号处理(9)--定点数据的两种溢出处理模式:饱和(Saturate)和绕回(Wrap)
1、前言 在逻辑设计中,为了保证运算结果的正确性,常常需要对结果的位宽进行扩展。比如2个3bits的无符号数相加,只有将结果设定为4bits,才能保证结果一定是正确的。不然,某些情况如77 14(1110),如果结果只…...
基于STM32的宠物箱温度湿度监控系统毕业设计
基于STM32的宠物箱温度湿度监控系统毕业设计 一、项目背景与意义 随着人们生活水平的提高,养宠物已经成为一种流行趋势。然而,对于宠物的居住环境,尤其是温度与湿度的控制,是确保宠物健康的关键。本项目旨在设计一款基于STM32微…...
Linux sudo 指令
sudo命令 概念: sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等。这样不仅减少了root用户的登录和管理时间,同样也提高…...
【NumPy数组】:深入了解numpy.linspace()函数
一、numpy.linspace()函数的原理 numpy.linspace()函数的核心原理是在指定的起始值和终止值之间,按照给定的元素个数,生成等间隔的数值序列。与numpy.arange()函数不同,numpy.linspace()生成的是等间隔的数值,而不是等差的数值&a…...
计算机网络实验二:交换机的基本配置与操作
实验二:交换机的基本配置与操作 一、实验要求 (1)掌握windows网络参数的设置(TCP/IP协议的设置); (2)掌握交换机命令行各种操作模式的区别,以及模式之间的切换; (3)掌握交换机的全局的基本配置; (4)掌握交换机端口的常用配置参数; (5)查看交换机系统和…...
宏的优缺点?C++有哪些技术替代宏?(const)权限的平移、缩小
宏的优缺点? 优点: 1.增强代码的复用性。【减少冗余代码】 2.提高性能,提升代码运行效率。 缺点: 1.不方便调试宏。(因为预编译阶段进行了替换) 2.导致代码可读性差,可维护性差࿰…...
2024数维杯数学建模选题建议及各题思路来啦!
大家好呀,2024数维杯数学建模挑战赛开始了,来说一下初步的选题建议吧: 首先定下主基调, 本次数维杯建议选B。难度上C>A>B。B题目是比较经典的数据分析类题目,主要做统计分析差异显著性以及相关…...
centos的常用命令
CentOS是一个基于Red Hat Enterprise Linux(RHEL)的开源操作系统,常用于服务器环境。以下是一些CentOS中常用的命令: 文件和目录管理: ls:列出目录中的文件。 ls -l:以长格式列出文件和目录的…...
【Android】使用Handler实现一个定时器
需求 实现一个定时任务,每隔一秒执行一次 实现 使用Handler实现 private Handler topUIHandler;private void initTopUiHandler() {topUIHandler new Handler(getMainLooper()) {Overridepublic void handleMessage(Message msg) {//执行这个定时任务updateTop…...
Java | Leetcode Java题解之第80题删除有序数组中的重复项II
题目: 题解: class Solution {public int removeDuplicates(int[] nums) {int n nums.length;if (n < 2) {return n;}int slow 2, fast 2;while (fast < n) {if (nums[slow - 2] ! nums[fast]) {nums[slow] nums[fast];slow;}fast;}return sl…...
java后端15问!
前言 最近一位粉丝去面试一个中厂,Java后端。他说,好几道题答不上来,于是我帮忙整理了一波答案 G1收集器JVM内存划分对象进入老年代标志你在项目中用到的是哪种收集器,怎么调优的new对象的内存分布局部变量的内存分布Synchroniz…...
OmniPlan Pro 4 for Mac中文激活版:项目管理的新选择
OmniPlan Pro 4 for Mac作为一款专为Mac用户设计的项目管理软件,为用户提供了全新的项目管理体验。其直观易用的界面和强大的功能特性,使用户能够轻松上手并快速掌握项目管理要点。 首先,OmniPlan Pro 4 for Mac支持自定义视图,用…...
二叉树的广度优先遍历 - 华为OD统一考试(D卷)
OD统一考试(D卷) 分值: 200分 题解: Java / Python / C++ 题目描述 有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。 现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
