魔法程序员的奥妙指南: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个节点)。 现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
