当前位置: 首页 > news >正文

魔法程序员的奥妙指南: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循环

✨注意:constgoto 是 Java 中的保留关键字,但实际上并没有用于编程。

变量的魔法容器

变量是我们施展魔法的容器,存储着神奇的数值和信息。它们可以是简单的数字,也可以是复杂的对象,为我们的魔法实现增添灵活性

在Java中,变量是用来存储数据的容器。变量需要先声明后使用,可以是基本数据类型(如int、double)或引用数据类型(如String、Object)。例如:

int num = 5;
String name = "Alice";

✨下表总结了Java中的基本数据类型及其取值范围:

数据类型大小 (位)取值范围
byte8-128 到 127
short16-32,768 到 32,767
int32-2,147,483,648 到 2,147,483,647
long64-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
float323.40282347E+38 到 1.40239846E-45
double641.7976931348623157E+308 到 4.94065645841246544E-324
char160 到 65,535
boolean1true 或 false

✨下表总结了Java中常见的引用数据类型:

数据类型描述
String代表字符串
Array用于存储固定大小的同类型元素集合
ArrayListJava集合框架中的动态数组,可以根据需要自动增长
LinkedListJava集合框架中的双向链表
HashMapJava集合框架中的键值对映射
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基本语法

作为一名魔法程序员&#xff0c;精通Java语言是至关重要的。Java作为一种强大的编程语言&#xff0c;在编写优质代码和开发强大应用程序时发挥着重要作用。让我们深入探讨Java基本语法的关键要点&#xff0c;从注释到变量&#xff0c;无所不包&#xff01; Java基本语法的神秘魔…...

SpringMVC传递参数

1.RequestMapping RequestMapping本身可以处理&#xff0c;get或post,指定了get或post之后&#xff0c;就只能处理对应的请求。 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

题目&#xff1a; 通常使用多行的节点、父节点表示一棵树&#xff0c;比如 西安 陕西 陕西 中国 江西 中国 中国 亚洲 泰国 亚洲 输入一个节点之后&#xff0c;请打印出来树中他的所有下层节点 输入描述 第一行输入行数&#xff0c;下面是多行数据&#xff0c;每行以空…...

基于机器学习的学生学习行为自主评价设计与实现

管理员功能&#xff1a; a)学生学习数据管理&#xff1a;可查看学生学习的详情&#xff0c;编辑学生学习的内容&#xff0c;删除和添加学生学习&#xff0c;设置学生学习库存。 b)角色管理&#xff1a;增加删除学生用户&#xff0c;分配学生用户权限&#xff0c;查看学生用户…...

toml与json联系对比

前言 本文简单介绍toml&#xff1b;并且和json转化做对比&#xff0c;以及我对toml设计的理解。 参考&#xff1a; TOML: 简体中文 v1.0.0 json和toml转化工具 在线JSON转toml-toml转JSON - bejson在线工具 正文 数组 说白了&#xff0c;就是一个变量名&#xff0c;有多个…...

(已解决)org.springframework.amqp.rabbit.support.ListenerExecutionFailedException

报错截图 解决方案 1、登录rabbitMQ网址&#xff0c;删除所有队列 2、重启rabbitMQ 亲测有效&#xff01;&#xff01;&#xff01;亲测有效&#xff01;&#xff01;&#xff01;亲测有效&#xff01;&#xff01;&#xff01;...

基于FPGA的数字信号处理(9)--定点数据的两种溢出处理模式:饱和(Saturate)和绕回(Wrap)

1、前言 在逻辑设计中&#xff0c;为了保证运算结果的正确性&#xff0c;常常需要对结果的位宽进行扩展。比如2个3bits的无符号数相加&#xff0c;只有将结果设定为4bits&#xff0c;才能保证结果一定是正确的。不然&#xff0c;某些情况如77 14(1110)&#xff0c;如果结果只…...

基于STM32的宠物箱温度湿度监控系统毕业设计

基于STM32的宠物箱温度湿度监控系统毕业设计 一、项目背景与意义 随着人们生活水平的提高&#xff0c;养宠物已经成为一种流行趋势。然而&#xff0c;对于宠物的居住环境&#xff0c;尤其是温度与湿度的控制&#xff0c;是确保宠物健康的关键。本项目旨在设计一款基于STM32微…...

Linux sudo 指令

sudo命令 概念&#xff1a; sudo是linux下常用的允许普通用户使用超级用户权限的工具&#xff0c;允许系统管理员让普通用户执行一些或者全部的root命令&#xff0c;如halt&#xff0c;reboot&#xff0c;su等。这样不仅减少了root用户的登录和管理时间&#xff0c;同样也提高…...

【NumPy数组】:深入了解numpy.linspace()函数

一、numpy.linspace()函数的原理 numpy.linspace()函数的核心原理是在指定的起始值和终止值之间&#xff0c;按照给定的元素个数&#xff0c;生成等间隔的数值序列。与numpy.arange()函数不同&#xff0c;numpy.linspace()生成的是等间隔的数值&#xff0c;而不是等差的数值&a…...

计算机网络实验二:交换机的基本配置与操作

实验二:交换机的基本配置与操作 一、实验要求 (1)掌握windows网络参数的设置(TCP/IP协议的设置); (2)掌握交换机命令行各种操作模式的区别,以及模式之间的切换; (3)掌握交换机的全局的基本配置; (4)掌握交换机端口的常用配置参数; (5)查看交换机系统和…...

宏的优缺点?C++有哪些技术替代宏?(const)权限的平移、缩小

宏的优缺点&#xff1f; 优点&#xff1a; 1.增强代码的复用性。【减少冗余代码】 2.提高性能&#xff0c;提升代码运行效率。 缺点&#xff1a; 1.不方便调试宏。&#xff08;因为预编译阶段进行了替换&#xff09; 2.导致代码可读性差&#xff0c;可维护性差&#xff0…...

2024数维杯数学建模选题建议及各题思路来啦!

大家好呀&#xff0c;2024数维杯数学建模挑战赛开始了&#xff0c;来说一下初步的选题建议吧&#xff1a; 首先定下主基调&#xff0c; 本次数维杯建议选B。难度上C&#xff1e;A&#xff1e;B。B题目是比较经典的数据分析类题目&#xff0c;主要做统计分析差异显著性以及相关…...

centos的常用命令

CentOS是一个基于Red Hat Enterprise Linux&#xff08;RHEL&#xff09;的开源操作系统&#xff0c;常用于服务器环境。以下是一些CentOS中常用的命令&#xff1a; 文件和目录管理&#xff1a; ls&#xff1a;列出目录中的文件。 ls -l&#xff1a;以长格式列出文件和目录的…...

【Android】使用Handler实现一个定时器

需求 实现一个定时任务&#xff0c;每隔一秒执行一次 实现 使用Handler实现 private Handler topUIHandler;private void initTopUiHandler() {topUIHandler new Handler(getMainLooper()) {Overridepublic void handleMessage(Message msg) {//执行这个定时任务updateTop…...

Java | Leetcode Java题解之第80题删除有序数组中的重复项II

题目&#xff1a; 题解&#xff1a; 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问!

前言 最近一位粉丝去面试一个中厂&#xff0c;Java后端。他说&#xff0c;好几道题答不上来&#xff0c;于是我帮忙整理了一波答案 G1收集器JVM内存划分对象进入老年代标志你在项目中用到的是哪种收集器&#xff0c;怎么调优的new对象的内存分布局部变量的内存分布Synchroniz…...

OmniPlan Pro 4 for Mac中文激活版:项目管理的新选择

OmniPlan Pro 4 for Mac作为一款专为Mac用户设计的项目管理软件&#xff0c;为用户提供了全新的项目管理体验。其直观易用的界面和强大的功能特性&#xff0c;使用户能够轻松上手并快速掌握项目管理要点。 首先&#xff0c;OmniPlan Pro 4 for Mac支持自定义视图&#xff0c;用…...

二叉树的广度优先遍历 - 华为OD统一考试(D卷)

OD统一考试(D卷) 分值: 200分 题解: Java / Python / C++ 题目描述 有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。 现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

麒麟系统使用-进行.NET开发

文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的&#xff0c;如果需要进行.NET开发&#xff0c;则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET&#xff0c;所以要进…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap&#xff0c;但是由于很多朋友看不了解命令行格式&#xff0c;所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习&#xff0c;链接&#xff1a;https://wwhc.lanzoue.com/ifJY32ybh6vc…...