49天精通Java(Day 2):Java的基本语法
上期内容回顾
在上一期的内容中,我们介绍了Java的基本概念、历史背景,并完成了JDK 1.8的安装与环境配置。你还编写并运行了第一个简单的Java程序“Hello, World!”。今天,我们将深入探讨Java的基本语法,包括变量、数据类型、运算符与表达式,以及注释与代码风格规范。
1. 变量与数据类型
在Java中,变量是用于存储数据的容器,每个变量都有一个特定的数据类型。数据类型决定了变量可以存储的数据种类以及操作这些数据的方式。
1.1 变量声明与初始化
在Java中,声明变量的语法如下:
type variableName;
例如,声明一个整数类型的变量:
int age;
你也可以在声明的同时对变量进行初始化:
int age = 25;
Java的变量类型主要分为两类:基本数据类型和引用数据类型。
1.2 基本数据类型
Java中有八种基本数据类型,分为四类:
-
整数类型:
byte: 8位,有符号整数,范围为-128到127。short: 16位,有符号整数,范围为-32,768到32,767。int: 32位,有符号整数,范围为-231到231-1。long: 64位,有符号整数,范围为-263到263-1。
byte a = 100; short b = 10000; int c = 100000; long d = 100000L; // 后缀L表示long类型 -
浮点类型:
float: 32位,单精度浮点数。double: 64位,双精度浮点数。
float pi = 3.14f; // 后缀f表示float类型 double e = 2.71828; -
字符类型:
char: 16位Unicode字符,用单引号括起来,如'A'。
char letter = 'A'; -
布尔类型:
boolean: 只能取值true或false。
boolean flag = true;
1.3 引用数据类型
除了基本数据类型,Java还支持引用数据类型,如对象和数组。引用类型保存的是对象的引用,而不是对象本身。
String name = "John";
int[] numbers = {1, 2, 3, 4, 5};
2. 运算符与表达式
运算符是用于执行各种操作的符号,表达式则是由变量、常量和运算符组成的组合,用于计算并返回一个结果。
2.1 算术运算符
用于执行基本的数学运算:
+(加法)-(减法)*(乘法)/(除法)%(取模)
int x = 10;
int y = 3;
int sum = x + y; // 13
int diff = x - y; // 7
int product = x * y; // 30
int quotient = x / y; // 3
int remainder = x % y; // 1
2.2 赋值运算符
用于将值赋给变量:
=(赋值)+=(加后赋值)-=(减后赋值)*=(乘后赋值)/=(除后赋值)%=(取模后赋值)
int a = 5;
a += 3; // 相当于 a = a + 3; 结果为8
a *= 2; // 相当于 a = a * 2; 结果为16
2.3 关系运算符
用于比较两个值的大小:
==(等于)!=(不等于)>(大于)<(小于)>=(大于或等于)<=(小于或等于)
int a = 10;
int b = 20;
boolean result = a > b; // false
2.4 逻辑运算符
用于处理布尔逻辑:
&&(逻辑与)||(逻辑或)!(逻辑非)
boolean x = true;
boolean y = false;
boolean result = x && y; // false
result = x || y; // true
result = !x; // false
2.5 增量与减量运算符
用于对变量进行自增或自减操作:
++(自增)--(自减)
int num = 5;
num++; // 相当于 num = num + 1; 结果为6
num--; // 相当于 num = num - 1; 结果为4
2.6 表达式与优先级
表达式是由变量、常量、运算符和方法调用等组成的一段代码,它在程序运行时被计算为一个值。例如:
int result = 3 * (5 + 2);
在这个表达式中,首先计算5 + 2,然后乘以3,最后将结果赋值给result。
运算符有优先级,优先级高的运算符先执行。如果不确定优先级,使用括号来明确表达式的计算顺序。
3. 注释与代码风格规范
注释是程序员在代码中加入的说明性文字,编译器会忽略这些内容。良好的注释和代码风格有助于提高代码的可读性和可维护性。
3.1 单行注释与多行注释
Java支持三种注释:
-
单行注释:使用
//,注释内容从//开始到行末。// 这是一个单行注释 int a = 10; // 声明一个整数变量 -
多行注释:使用
/* ... */,适用于跨多行的注释。/** 这是一个多行注释* 可以写多行文字*/ int b = 20; -
文档注释:使用
/** ... */,用于生成JavaDoc文档。/*** 这是一个文档注释* 通常用于生成API文档*/ public class MyClass {// 类的定义 }
3.2 代码风格规范
良好的代码风格使代码更易读、更易维护。以下是一些常见的Java代码风格规范:
- 缩进:使用4个空格或1个Tab进行缩进。所有代码块(如类、方法、循环等)都应缩进。
- 命名规范:
- 类名应使用大驼峰命名法(如
MyClass)。 - 方法名和变量名应使用小驼峰命名法(如
myMethod、myVariable)。 - 常量名应使用全大写字母和下划线(如
MAX_SIZE)。
- 类名应使用大驼峰命名法(如
- 代码布局:每个方法之间空一行,每个逻辑块之间空一行。
- 注释:在关键代码段前添加注释,解释代码的功能和逻辑。
public class HelloWorld {/*** 这是程序的入口方法* @param args 命令行参数*/public static void main(String[] args) {// 打印Hello, World!System.out.println("Hello, World!");}
}
4. 小结
今天我们学习了Java的基本语法,包括变量、数据类型、运算符与表达式,以及注释和代码风格规范。这些基础知识是编写健壮、可读代码的关键。
下期内容预告
在下一期中,我们将探讨Java中的控制流语句,包括条件语句和循环结构。通过这些内容,你将能够编写出逻辑更加复杂的程序。敬请期待!
相关文章:
49天精通Java(Day 2):Java的基本语法
上期内容回顾 在上一期的内容中,我们介绍了Java的基本概念、历史背景,并完成了JDK 1.8的安装与环境配置。你还编写并运行了第一个简单的Java程序“Hello, World!”。今天,我们将深入探讨Java的基本语法,包括变量、数据类型、运算…...
uni-app之旅-day01-home页
首页 3.0 创建 home 分支 🍕🍕🍕运行如下的命令,基于 master 分支在本地创建 home 子分支,用来开发和 home 首页相关的功能git branch(查看分支)git checkout -b home(创建home分支) 3.1 配置网络请求 ἲ…...
Vue3轻松实现导出Excel文件功能
文章目录 1.前言2.安装插件3.案例3.1 定义表格数据,设置 id 选择器3.2 据所选 dom 对象生成 sheetbook3.3 写入文件3.4 生成 xlsx文件4.完整代码1.前言 前端常用的导出 Excel的 js 库是 xlsx,但是 xlsx不能设置样式。要想设置样式,必要要结合 xlsx-style 插件一起使用,但是…...
在Kali Linux中使用VNC和iptables配置xrdp以实现远程连接
在Kali Linux中,使用VNC和iptables配置xrdp以实现远程连接涉及几个步骤。不过,值得注意的是,VNC和xrdp是两种不同的远程桌面协议,它们通常不会在同一配置中同时使用(除非有特殊的网络架构需求)。然而&#…...
小徐影院:Spring Boot技术下的影院革新
第四章 系统设计 4.1 系统的功能结构图 通过系统需求分析,本小徐影城管理系统的功能结构设计如图4-1所示: 图4-1 系统功能图 4.2 系统数据库设计 4.2.1 数据库E-R图 在该系统的信息中,由于数据库的支持,我们可以对数据库进行收集…...
命名空间
在 C 中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace 关键字的…...
使用 Elastic 将 AI 摘要添加到你的网站
作者:来自 Elastic Gustavo Llermaly 我们目前所知道的搜索(搜索栏、结果、过滤器、页面等)已经取得了长足的进步,并实现了多种不同的功能。当我们知道找到所需内容所需的关键字或知道哪些文档包含我们想要的信息时,尤…...
dOOv:Java 数据验证与映射库(简化业务逻辑)
dOOv 是一个为 Java 开发人员设计的轻量化库,专注于数据验证和对象间的映射。与传统的验证框架不同,dOOv 通过提供简洁、声明式的 API,使得开发者可以轻松地编写、扩展和维护验证和映射规则。其设计灵感源自领域驱动设计(DDD&…...
Arthas sc(查看JVM已加载的类信息 )
文章目录 二、命令列表2.2 class/classloader相关命令2.2.5 sc(查看JVM已加载的类信息 )举例1:模糊搜索,xx包下所有的类举例2:打印类的详细信息举例3:打印出类的Field信息 本人其他相关文章链接 二、命令列…...
OCR 行驶证识别 离线识别
目录 正页识别 副页识别 全部识别 OCR 行驶证识别 离线识别 正页识别 副页识别 全部识别...
PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程
介绍: 真正的好东西,搞网站优化seo从业必备。可以快速提升网站权重,带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…...
LeetCode题练习与总结:丑数--263
一、题目描述 丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:n 6 输出:true 解释࿱…...
初识C语言(五)
前言 本文章就代表C语言介绍以及了解正式完成,后续进行具体分析和详细解析学习。知识根深蒂固才可以应付后来的学习,地基要打好,后续才会轻松。 十四、结构体 结构体是C语言中最最重要的知识点,使得C语言有能力描述复杂的类型。 …...
Linux:深入理解冯诺依曼结构与操作系统
目录 1. 冯诺依曼体系结构 1.1 结构分析 1.2 存储结构分布图 2. 操作系统 2.1 概念 2.2 如何管理 2.3 什么是系统调用和库函数 1. 冯诺依曼体系结构 1.1 结构分析 不管是何种计算机,如个人笔记本电脑,服务器,都是遵循冯诺依曼结构。…...
面试中顺序表常考的十大题目解析
在数据结构与算法的面试中,顺序表是一个常见的考点。它作为一种基础的数据结构,涵盖了多种操作和概念,以下将详细介绍面试中关于顺序表常考的十大题目。 💝💝💝如果你对顺序表的概念与理解还存在疑惑&#…...
测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布
2024年9月29日,MeterSphere开源持续测试工具正式发布v3.3版本。 在这一版本中,接口测试方面,接口导入功能支持导入Postman、JMX、HAR和MeterSphere格式的文件,接口场景的自定义请求步骤支持cURL快捷导入;测试管理方面…...
TypeScript 算法手册 【归并排序】
文章目录 1. 归并排序简介1.1 归并排序定义1.2 归并排序特点 2. 归并排序步骤过程拆解2.1 分割数组2.2 递归排序2.3 合并有序数组 3. 归并排序的优化3.1 原地归并排序3.2 混合插入排序案例代码和动态图 4. 归并排序的优点5. 归并排序的缺点总结 【 已更新完 TypeScript 设计模式…...
生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础
生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础 MOA(Mechanisms Of Action,作用机理) 过去,在药物投入到临床使用之前,它的生物学机理往往未被研究透彻。如今,随着技术的发展,一种新药物…...
基础岛第3关:浦语提示词工程实践
模型部署 使用下面脚本测试模型 from huggingface_hub import login, snapshot_download import osos.environ[HF_ENDPOINT] https://hf-mirror.comlogin(token“your_access_token")models ["internlm/internlm2-chat-1_8b"]for model in models:try:snapsh…...
vscode中配置python虚拟环境
python虚拟环境作用 Python虚拟环境允许你为每个独立的项目创建一个隔离的环境,这样每个项目都可以拥有自己的一套Python安装包和依赖,不会互相影响。实际使用中,可以在vscode或pycharm中使用虚拟环境。 1.创建虚拟环境的方法: …...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
