一文总结java语法规则
1. 题记
Java是一门拥有较强语法规则的编程语言,本博文主要总结介绍java语言的java语法规则。
2. java语法规则
2.1 标识符(Identifiers)
- 定义:标识符是用来给变量、类、方法、接口等命名的字符序列。
- 规则:
–标识符可以由字母(A - Z、a - z)、数字(0 - 9)、美元符号($)和下划线(_)组成。
–标识符必须以字母、美元符号或下划线开头,不能以数字开头。
–标识符是大小写敏感的,例如,myVariable和myvariable是两个不同的标识符。
–不能使用 Java 中的关键字(如class、public、private等)作为标识符,但可以包含关键字作为标识符的一部分,例如,myClass是合法的。 - 命名惯例:
–变量和方法名通常采用小写字母开头的驼峰命名法,例如,myVariable、calculateSum。
–类名和接口名通常采用大写字母开头的驼峰命名法,例如,MyClass、MyInterface。
–常量(使用final关键字修饰)通常全部使用大写字母,单词之间用下划线分隔,例如,MAX_VALUE。
2.2 关键字(Keywords)
- 定义:关键字是 Java 语言中已经被赋予特定意义的单词,它们用于定义数据类型、控制程序流程、访问修饰符等。
–数据类型相关:byte、short、int、long、float、double、char、boolean、class、interface、enum。
–控制流程相关:if、else、switch、case、default、while、do、for、break、continue、return。
–访问修饰符相关:public、private、protected、default(在包访问权限中)。
2.3 注释(Comments)
- 单行注释:以//开头,直到本行结束。例如:// 这是一个单行注释,用于解释下面代码的功能。
- 多行注释:以/开头,以/结束,可以跨越多行。例如:
/*
这是一个多行注释,
可以用于详细解释一段代码的功能,
或者提供版权信息等。
*/ - 文档注释(Javadoc):以/开头,以/结束,用于生成 API 文档。例如:
/*
- 这个方法用于计算两个整数的和。
- @param a 第一个整数
- @param b 第二个整数
- @return 两个整数的和
*/
public int add(int a, int b) {return a + b;
}
2.4. 数据类型和变量声明
- 基本数据类型声明:
–格式为数据类型 变量名;,例如:int age;声明了一个int类型的变量age。也可以在声明变量的同时进行初始化,如int num = 5;
–对于多个相同类型的变量,可以在一行中声明,如int a, b, c;,也可以分别初始化,如int x = 1, y = 2, z = 3; - 引用数据类型声明:
以类为例,类名 变量名;,例如Person person;声明了一个Person类的变量person。在使用之前,需要通过new关键字创建对象来进行初始化,如person = new Person(“jack_Ma”, 50);
2.5 运算符(Operators)
- 算术运算符:
–加法(+)、减法(-)、乘法(*)、除法(/)、取余(%):用于基本的数学运算。例如,int result = 5 + 3;(加法),int remainder = 7 % 3;(取余)。
–自增(++)和自减(–)运算符:有前缀和后缀两种形式。前缀形式(如++i)是先将变量的值加 1,然后再使用变量的值;后缀形式(如i++)是先使用变量的值,然后再将变量的值加 1。例如,int i = 3; int j = i++;(此时j的值为 3,i的值为 4)。 - 关系运算符:
等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=):用于比较两个值的大小关系。返回值为boolean类型。例如,boolean isEqual = (5 == 5);(返回true)。 - 逻辑运算符:
逻辑与(&&)、逻辑或(||)、逻辑非(!):用于组合或反转boolean类型的条件。例如,boolean result = (a > 5 && b < 10);(只有当a > 5和b < 10同时为真时,result才为真)。 - 赋值运算符:
–基本赋值(=):将右侧的值赋给左侧的变量。例如,int x = 3;。
–复合赋值(+=、-=、*=、/=、%= 等):例如,x += 2;等价于x = x + 2;。
2.6 控制语句(Control Statements)
- 条件语句:
if - else 语句: 根据条件执行不同的代码块。例如:
if (a > 10) {System.out.println("a大于10");
} else {System.out.println("a小于等于10");
}
switch - case 语句: 用于多分支选择。例如:
switch (dayOfWeek) {case 1:System.out.println("星期一");break;case 2:System.out.println("星期二");break;//...default:System.out.println("无效的星期");
}
- 循环语句:
while 循环: 在条件为真时重复执行代码块。例如:
while (i < 10) {System.out.println(i);i++;
}
do - while 循环: 先执行一次代码块,然后在条件为真时重复执行。例如:
do {System.out.println(i);i++;
} while (i < 10);
for 循环: 用于已知循环次数的情况。例如:
for (int j = 0; j < 5; j++) {System.out.println(j);
}
- 跳转语句:
break 语句: 用于跳出循环(while、do - while、for)或者switch语句。例如,在for循环中,当满足某个条件时提前结束循环。
continue 语句: 用于跳过本次循环的剩余部分,直接开始下一次循环。例如,在for循环中,如果某个元素不符合条件,跳过对它的处理,直接处理下一个元素。
2.6 方法(Methods)
- 定义:方法是一段可以被重复调用的代码块,用于完成特定的功能。
- 格式:
访问修饰符 返回值类型 方法名(参数列表) {
// 方法体
return 返回值;
}
例如:
public int add(int a, int b) {return a + b;
}
- 调用方法:可以在同一个类或者其他类中调用方法。如果是在同一个类中,直接使用方法名(参数)的形式;如果是在其他类中,需要先创建对象(对于非静态方法),然后通过对象调用方法。例如:int sum = add(3, 5);或者MyClass myObject = new MyClass(); int result = myObject.add(2, 4);。
2.8 类和对象(Classes and Objects)
- 类的定义:
访问修饰符 class 类名 {
// 成员变量
// 成员方法
}
例如:
public class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}
- 对象的创建和使用:通过new关键字创建对象,如Person person = new Person("Andy ", 30);,然后可以通过对象访问类中的成员变量和成员方法,如System.out.println(person.getName());。
2.9 包(Packages)
- 定义:包用于组织和管理 Java 类,避免类名冲突。
- 声明包:在 Java 源文件的开头使用package语句声明包,例如package com.andy.myapp;。
- 导入包中的类:使用import语句导入其他包中的类,以便在当前类中使用。例如,import java.util.ArrayList;可以导入ArrayList类,这样就可以在代码中使用ArrayList来创建对象和调用方法。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,家人们的点赞和关注是我笔耕不辍的动力。
相关文章:
一文总结java语法规则
1. 题记 Java是一门拥有较强语法规则的编程语言,本博文主要总结介绍java语言的java语法规则。 2. java语法规则 2.1 标识符(Identifiers) 定义:标识符是用来给变量、类、方法、接口等命名的字符序列。规则: –标识…...

使用 npm 安装 Yarn
PS E:\WeChat Files\wxid_fipwhzebc1yh22\FileStorage\File\2024-11\spid-admin\spid-admin> yarn install yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后…...
vue3中利用路由信息渲染菜单栏
1. 创建路由时将路由信息对象进行抽离 将路由信息对象单独抽离到router/routes.ts文件 关键:利用路由元信息meta,定义3个属性 hidden:控制当前路由是否显示在菜单栏中title:菜单拦名称icon:对应菜单名称前面的图标 …...

Mysql每日一题(行程与用户,困难※)
今天给大家分享一个截止到目前位置,我遇到最难的一道mysql题目,非常建议大家亲手做一遍 完整代码如下,这道题的主要难点是它有两个外键,以前没遇到过,我也没当回事,分享一下错误经验哈 当时我写的where判断…...
adb 命令 查找启动的包名以及导出安装包
查看安卓内包名 adb 查看所有安装的包 adb shell pm list packages查看安装的第三方app的包名 adb shell pm list packages -3查看启动的app的包名 adb shell dumpsys activity top | find "ACTIVITY"adb shell dumpsys activity activities | findstr "Run…...

Flink_DataStreamAPI_输出算子Sink
Flink_DataStreamAPI_输出算子Sink 1连接到外部系统2输出到文件3输出到Kafka4输出到MySQL(JDBC)5自定义Sink输出 Flink作为数据处理框架,最终还是要把计算处理的结果写入外部存储,为外部应用提供支持。 1连接到外部系统 Flink的D…...
标准C++ 字符串
一、标准库中的字符串类型 在C中,字符串是一个非常重要的数据类型,用于表示和处理文本信息。C提供了多种方式来处理字符串,每种方式都有其特点和适用场景。以下是几种常见的字符串类型及其用法: 1. C 风格字符串 (char* 或 char…...

时序预测:多头注意力+宽度学习
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

day06(单片机)IIC+STH20
目录 IICSHT20 I2C基础简介 为什么I2C需要使用上拉电阻? I2C特点 时序图分析 起始信号与终止信号 数据传输时序 字节传输和应答信号 I2C寻址 主机给从机发送一个字节 主机给从机发送多个字节 主机从从机接收一个字节 主机从从机接收多个字节 I2C寄存器 I2C_RXDR&…...

Bugku CTF_Web——文件上传
Bugku CTF_Web——文件上传 进入靶场 My name is margin,give me a image file not a php抓个包上传试试 改成png也上传失败 应该校验了文件头 增加了文件头也不行 试了一下 把文件类型改成gif可以上传 但是还是不能连接 将Content-Type改大小写 再把文件后缀名改成php4 成…...

C#版使用融合通信API发送手机短信息
目录 功能实现 范例运行环境 实现范例 类设计 类代码实现 调用范例 总结 功能实现 融合云通信服务平台,为企业提供全方位通信服务,发送手机短信是其一项核心功能,本文将讲述如何使用融合云服务API为终端手机用户发送短信信息…...

人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例
一、医疗行业:AI引领的医疗革新 随着人工智能(AI)技术的持续飞跃,我们正身处一场跨行业的深刻变革之中。在医疗健康的广阔舞台上,人工智能技术正扮演着日益重要的角色。它不仅能够辅助医生进行病例的精准诊断…...
MVVM(Model-View-ViewModel)模型
MVVM(ModelViewViewModel)模型是一种常用于软件开发中的架构模式,尤其在前端框架(如 Vue.js、React、Angular)中被广泛应用。它将程序的用户界面与业务逻辑分离,便于维护和扩展。 MVVM 的三个组成部分 1. …...

权限系统:权限应用服务设计
今天聊聊权限系统的应用服务设计。 从业务需求的角度来看,权限系统需要解决两个核心问题: 1、菜单渲染与动态展示 当用户成功登录并接入系统后,系统需要动态获取并展示该用户有权限访问的菜单项。 这一过程涉及前端系统与权限系统的交互。前端…...
Android音频架构
音频基础知识 声音有哪些重要属性呢? 响度(Loudness) 响度就是人类可以感知到的各种声音的大小,也就是音量。响度与声波的振幅有直接关系。 音调(Pitch) 音调与声音的频率有关系,当声音的频率越大时,人耳所感知到的音调就越高&a…...
AI 智享直播:开启直播新篇,引领未来互动新趋势!
在数字化浪潮席卷全球的今天,AI技术正以不可阻挡之势渗透进我们生活的方方面面,从智能家居到自动驾驶,从医疗健康到金融服务,无一不彰显着其强大的影响力和无限的潜力。而在这一波科技革新的洪流中,直播行业也迎来了前…...

【AIGC】国内AI工具复现GPTs效果详解
博客主页: [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 💯前言💯本文所要复现的GPTs介绍💯GPTs指令作为提示词在ChatGPT实现类似效果💯国内AI工具复现GPTs效果可能出现的问题解决方法解决后的效果 …...

Charles抓https包-配置系统证书(雷电)
1、导出证书 2、下载 主页上传资源中有安装包,免费的 openssl 安装教程自己搜 openssl x509 -subject_hash_old -in charles.pem 3、修改证书名、后缀改成点0 雷电打开root和磁盘写入 4、导入雷电证书根目录 证书拖进去,基本就完成了ÿ…...
在卷积神经网络中真正占用内存的是什么
在卷积神经网络(CNN)中,占用内存的主要部分包括以下几个方面: 1. 模型参数(Weights and Biases) CNN 中的权重和偏置(即模型的参数)通常是占用内存的最大部分。具体来说࿱…...

2024 ECCV | DualDn: 通过可微ISP进行双域去噪
文章标题:《DualDn: Dual-domain Denoising via Differentiable ISP》 论文链接: DualDn 代码链接: https://openimaginglab.github.io/DualDn/ 本文收录于2024ECCV,是上海AI Lab、浙江大学、香港中文大学(薛天帆等…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...