魔法程序员的奥妙指南: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个节点)。 现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
