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

一文总结java语法规则

1. 题记

Java是一门拥有较强语法规则的编程语言,本博文主要总结介绍java语言的java语法规则。

2. java语法规则

2.1 标识符(Identifiers)

  1. 定义:标识符是用来给变量、类、方法、接口等命名的字符序列。
  2. 规则:
    –标识符可以由字母(A - Z、a - z)、数字(0 - 9)、美元符号($)和下划线(_)组成。
    –标识符必须以字母、美元符号或下划线开头,不能以数字开头。
    –标识符是大小写敏感的,例如,myVariable和myvariable是两个不同的标识符。
    –不能使用 Java 中的关键字(如class、public、private等)作为标识符,但可以包含关键字作为标识符的一部分,例如,myClass是合法的。
  3. 命名惯例:
    –变量和方法名通常采用小写字母开头的驼峰命名法,例如,myVariable、calculateSum。
    –类名和接口名通常采用大写字母开头的驼峰命名法,例如,MyClass、MyInterface。
    –常量(使用final关键字修饰)通常全部使用大写字母,单词之间用下划线分隔,例如,MAX_VALUE。

2.2 关键字(Keywords)

  1. 定义:关键字是 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)

  1. 单行注释:以//开头,直到本行结束。例如:// 这是一个单行注释,用于解释下面代码的功能。
  2. 多行注释:以/开头,以/结束,可以跨越多行。例如:
    /*
    这是一个多行注释,
    可以用于详细解释一段代码的功能,
    或者提供版权信息等。
    */
  3. 文档注释(Javadoc):以/开头,以/结束,用于生成 API 文档。例如:
    /
    *
  • 这个方法用于计算两个整数的和。
  • @param a 第一个整数
  • @param b 第二个整数
  • @return 两个整数的和
    */
public int add(int a, int b) {return a + b;
}

2.4. 数据类型和变量声明

  1. 基本数据类型声明:
    –格式为数据类型 变量名;,例如:int age;声明了一个int类型的变量age。也可以在声明变量的同时进行初始化,如int num = 5;
    –对于多个相同类型的变量,可以在一行中声明,如int a, b, c;,也可以分别初始化,如int x = 1, y = 2, z = 3;
  2. 引用数据类型声明:
    以类为例,类名 变量名;,例如Person person;声明了一个Person类的变量person。在使用之前,需要通过new关键字创建对象来进行初始化,如person = new Person(“jack_Ma”, 50);

2.5 运算符(Operators)

  1. 算术运算符:
    –加法(+)、减法(-)、乘法(*)、除法(/)、取余(%):用于基本的数学运算。例如,int result = 5 + 3;(加法),int remainder = 7 % 3;(取余)。
    –自增(++)和自减(–)运算符:有前缀和后缀两种形式。前缀形式(如++i)是先将变量的值加 1,然后再使用变量的值;后缀形式(如i++)是先使用变量的值,然后再将变量的值加 1。例如,int i = 3; int j = i++;(此时j的值为 3,i的值为 4)。
  2. 关系运算符:
    等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=):用于比较两个值的大小关系。返回值为boolean类型。例如,boolean isEqual = (5 == 5);(返回true)。
  3. 逻辑运算符:
    逻辑与(&&)、逻辑或(||)、逻辑非(!):用于组合或反转boolean类型的条件。例如,boolean result = (a > 5 && b < 10);(只有当a > 5和b < 10同时为真时,result才为真)。
  4. 赋值运算符:
    –基本赋值(=):将右侧的值赋给左侧的变量。例如,int x = 3;。
    –复合赋值(+=、-=、*=、/=、%= 等):例如,x += 2;等价于x = x + 2;。

2.6 控制语句(Control Statements)

  1. 条件语句:
    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("无效的星期");
}
  1. 循环语句:
    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);
}
  1. 跳转语句:
    break 语句: 用于跳出循环(while、do - while、for)或者switch语句。例如,在for循环中,当满足某个条件时提前结束循环。
    continue 语句: 用于跳过本次循环的剩余部分,直接开始下一次循环。例如,在for循环中,如果某个元素不符合条件,跳过对它的处理,直接处理下一个元素。

2.6 方法(Methods)

  1. 定义:方法是一段可以被重复调用的代码块,用于完成特定的功能。
  2. 格式:
    访问修饰符 返回值类型 方法名(参数列表) {
    // 方法体
    return 返回值;
    }
    例如:
public int add(int a, int b) {return a + b;
}
  1. 调用方法:可以在同一个类或者其他类中调用方法。如果是在同一个类中,直接使用方法名(参数)的形式;如果是在其他类中,需要先创建对象(对于非静态方法),然后通过对象调用方法。例如:int sum = add(3, 5);或者MyClass myObject = new MyClass(); int result = myObject.add(2, 4);。

2.8 类和对象(Classes and Objects)

  1. 类的定义:
    访问修饰符 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;}
}
  1. 对象的创建和使用:通过new关键字创建对象,如Person person = new Person("Andy ", 30);,然后可以通过对象访问类中的成员变量和成员方法,如System.out.println(person.getName());。

2.9 包(Packages)

  1. 定义:包用于组织和管理 Java 类,避免类名冲突。
  2. 声明包:在 Java 源文件的开头使用package语句声明包,例如package com.andy.myapp;。
  3. 导入包中的类:使用import语句导入其他包中的类,以便在当前类中使用。例如,import java.util.ArrayList;可以导入ArrayList类,这样就可以在代码中使用ArrayList来创建对象和调用方法。

码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,家人们的点赞和关注是我笔耕不辍的动力。

相关文章:

一文总结java语法规则

1. 题记 Java是一门拥有较强语法规则的编程语言&#xff0c;本博文主要总结介绍java语言的java语法规则。 2. java语法规则 2.1 标识符&#xff08;Identifiers&#xff09; 定义&#xff1a;标识符是用来给变量、类、方法、接口等命名的字符序列。规则&#xff1a; –标识…...

使用 npm 安装 Yarn

PS E:\WeChat Files\wxid_fipwhzebc1yh22\FileStorage\File\2024-11\spid-admin\spid-admin> yarn install yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后…...

vue3中利用路由信息渲染菜单栏

1. 创建路由时将路由信息对象进行抽离 将路由信息对象单独抽离到router/routes.ts文件 关键&#xff1a;利用路由元信息meta&#xff0c;定义3个属性 hidden&#xff1a;控制当前路由是否显示在菜单栏中title&#xff1a;菜单拦名称icon&#xff1a;对应菜单名称前面的图标 …...

Mysql每日一题(行程与用户,困难※)

今天给大家分享一个截止到目前位置&#xff0c;我遇到最难的一道mysql题目&#xff0c;非常建议大家亲手做一遍 完整代码如下&#xff0c;这道题的主要难点是它有两个外键&#xff0c;以前没遇到过&#xff0c;我也没当回事&#xff0c;分享一下错误经验哈 当时我写的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&#xff08;JDBC&#xff09;5自定义Sink输出 Flink作为数据处理框架&#xff0c;最终还是要把计算处理的结果写入外部存储&#xff0c;为外部应用提供支持。 1连接到外部系统 Flink的D…...

标准C++ 字符串

一、标准库中的字符串类型 在C中&#xff0c;字符串是一个非常重要的数据类型&#xff0c;用于表示和处理文本信息。C提供了多种方式来处理字符串&#xff0c;每种方式都有其特点和适用场景。以下是几种常见的字符串类型及其用法&#xff1a; 1. C 风格字符串 (char* 或 char…...

时序预测:多头注意力+宽度学习

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

day06(单片机)IIC+STH20

目录 IICSHT20 I2C基础简介 为什么I2C需要使用上拉电阻&#xff1f; 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发送手机短信息

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

人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例

一、医疗行业&#xff1a;AI引领的医疗革新 随着人工智能&#xff08;AI&#xff09;技术的持续飞跃&#xff0c;我们正身处一场跨行业的深刻变革之中。在医疗健康的广阔舞台上&#xff0c;人工智能技术正扮演着日益重要的角色。它不仅能够辅助医生进行病例的精准诊断&#xf…...

MVVM(Model-View-ViewModel)模型

MVVM&#xff08;ModelViewViewModel&#xff09;模型是一种常用于软件开发中的架构模式&#xff0c;尤其在前端框架&#xff08;如 Vue.js、React、Angular&#xff09;中被广泛应用。它将程序的用户界面与业务逻辑分离&#xff0c;便于维护和扩展。 MVVM 的三个组成部分 1. …...

权限系统:权限应用服务设计

今天聊聊权限系统的应用服务设计。 从业务需求的角度来看&#xff0c;权限系统需要解决两个核心问题&#xff1a; 1、菜单渲染与动态展示 当用户成功登录并接入系统后&#xff0c;系统需要动态获取并展示该用户有权限访问的菜单项。 这一过程涉及前端系统与权限系统的交互。前端…...

Android音频架构

音频基础知识 声音有哪些重要属性呢&#xff1f; 响度(Loudness) 响度就是人类可以感知到的各种声音的大小&#xff0c;也就是音量。响度与声波的振幅有直接关系。 音调(Pitch) 音调与声音的频率有关系&#xff0c;当声音的频率越大时&#xff0c;人耳所感知到的音调就越高&a…...

AI 智享直播:开启直播新篇,引领未来互动新趋势!

在数字化浪潮席卷全球的今天&#xff0c;AI技术正以不可阻挡之势渗透进我们生活的方方面面&#xff0c;从智能家居到自动驾驶&#xff0c;从医疗健康到金融服务&#xff0c;无一不彰显着其强大的影响力和无限的潜力。而在这一波科技革新的洪流中&#xff0c;直播行业也迎来了前…...

【AIGC】国内AI工具复现GPTs效果详解

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

Charles抓https包-配置系统证书(雷电)

1、导出证书 2、下载 主页上传资源中有安装包&#xff0c;免费的 openssl 安装教程自己搜 openssl x509 -subject_hash_old -in charles.pem 3、修改证书名、后缀改成点0 雷电打开root和磁盘写入 4、导入雷电证书根目录 证书拖进去&#xff0c;基本就完成了&#xff…...

在卷积神经网络中真正占用内存的是什么

在卷积神经网络&#xff08;CNN&#xff09;中&#xff0c;占用内存的主要部分包括以下几个方面&#xff1a; 1. 模型参数&#xff08;Weights and Biases&#xff09; CNN 中的权重和偏置&#xff08;即模型的参数&#xff09;通常是占用内存的最大部分。具体来说&#xff1…...

2024 ECCV | DualDn: 通过可微ISP进行双域去噪

文章标题&#xff1a;《DualDn: Dual-domain Denoising via Differentiable ISP》 论文链接&#xff1a; DualDn 代码链接&#xff1a; https://openimaginglab.github.io/DualDn/ 本文收录于2024ECCV&#xff0c;是上海AI Lab、浙江大学、香港中文大学&#xff08;薛天帆等…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

大型活动交通拥堵治理的视觉算法应用

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

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 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&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...