Java基础知识整理,驼峰规则、流程控制、自增自减

news2025/2/22 0:32:49

写在开头

本文接着上一篇文章续写哈。Java基础知识整理,注释、关键字、运算符
在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。
在这里插入图片描述

一、命名规则

上一篇文章中提到了标识符,在Java中很多标识符都需要我们自己起名,但起名的方式千百不一,会让代码看的杂乱无章,故在漫长的近三十年时光里,Java形成了一套完成的命名规则,各大公司也在内部进行了命名规范的制约,最有名的就是《阿里巴巴Java开发手册》中的命名风格规约,大部分互联网公司都以此为准!
【必须遵守的命名规则】

1、只能由字母(大小写,26个英文字母)、数字(0~9)、下划线“_”和“$”符组成。
2、数字不可以开头。
3、不可以使用关键字和保留字,但是可以包含关键字和保留字。
4、Java中严格区分字母大小写。
5、对长度无要求。
6、标识符内不能含有空格。

【约定俗称的规范】

1、包名:当由多个单词组成时,所有单词都是小写。如aaa.bbb.ccc。
2、类名、接口名:单词的首字母大写。如XxxYyyZzz。(大驼峰命名法)
3、变量名、方法名:由多个单词组成时,第一个单词均小写,其它单词首字母大写。如xxxYyyZzz。(小驼峰命名法,简称驼峰法)
4、常量名:所有字母均大写。且由多个单词组成时,单词之间用下划线“_”隔开。如XXX_YYY_ZZZ。

【阿里巴巴规约补充】

1、除了数字不可开头外,代码中的命名均不可以下划线或美元符开始和结束。
2、所有命名严禁使用拼音和英文混合使用,更不允许直接使用中文的方式。
3、禁止出现任何带有歧视性的词语。
4、POJO类中任何布尔类型变量,都不可采用is作为前缀,可能会导致部分框架解析时序列化错误。
5、避免父子类成员变量之间或不同代码块之间的局部变量使用相同命名,不易理解。
6、为实现代码自解释,命名时尽量选择完成单词组合命名,杜绝完全不规范的缩写,词不达意。

二、流程控制

在Java中流程控制是一个很多见的语法规则,常常用过不同的流程块来控制不同场景下程序的走向。
【思维导图】(不清晰的可以点击图片放大,或私发哈)。
在这里插入图片描述
【代码示例】

  1. if语句
int a = 10;
if(a > 5){  
	System.out.println("java so easy");	
} 
输出:java so easy
  1. if嵌套语句
int age = 18;
boolean isPerson = true;
if (age >= 18) {
    if (isPerson) {
        System.out.println("成年人");
    }
}
输出:成年人
  1. if-else语句
int age = 18;
if (age < 18) {
    System.out.println("我是未成年");
} else {
    System.out.println("我已经成年");
}
输出:我已经成年
  1. if-else-if语句
int age = 31;
if (age < 30) {
    System.out.println("青春年华");
} else if (age >= 30 && age < 40 ) {
    System.out.println("而立之年");
} else if (age >= 40 && age < 50 ) {
    System.out.println("不惑之年");
} else {
    System.out.println("知天命");
}
输出:而立之年
  1. switch语句
/*
switch 语句用来判断变量与多个值之间的相等性。变量的类型可以是 byte、short、int 或者 char,或者对应的包装器类型 Byte、Short、Integer、Character,以及字符串和枚举类型。
*/
int age = 25;
switch (age) {
    case 6:
        System.out.println("上学");
        break;
    case 20:
        System.out.println("杭州读研");
        break;
    case 25 :
        System.out.println("结婚成家");
        break;
    default:
        System.out.println("未知");
        break; // 可省略
}
输出:结婚成家
  1. 普通for循环
for (int i = 0; i < 5; i++) {
    for (int j = 0;j<= i;j++) {
        System.out.print("❤");
    }
    System.out.println();
}
输出:
❤
❤❤
❤❤❤
❤❤❤❤
❤❤❤❤❤
  1. 增强for循环
String[] strs = {"醉后不知天在水", "满船清梦压星河"};

for (String str : strs) {
    System.out.println(str);
}
输出:
醉后不知天在水
满船清梦压星河
  1. while
int i = 0;
while (true) {
    System.out.println("JavaBuild");
    i++;
    if (i == 5) {
        break;
    }
}
输出:
JavaBuild
JavaBuild
JavaBuild
JavaBuild
JavaBuild
  1. do-while
int i = 0;
do {
    System.out.println("JavaBuild");
    i++;
    if (i == 5) {
        break;
    }
} while (true);
输出:
JavaBuild
JavaBuild
JavaBuild
JavaBuild
JavaBuild

流程控制可以通过break、return、continue进行中断,返回与继续,他们之间又有不同

1、continue:指跳出当前的这一次循环,继续下一次循环。
2、break:指跳出整个循环体,继续执行循环下面的语句。
3、return;:直接使用return结束方法执行,用于没有返回值函数的方法。
4、return value;:return一个特定值,用于有返回值函数的方法。

三、自增自减

在上面for循环的代码示例中我们可以看到很多整数类型的++符号,用以实现循环内部的自增,类似的还有自减–符号,既可以放在整形前也可以放在整形后,区别是:符号在前就先加/减,符号在后就后加/减。直接通过一段代码示例感受一下:
自加

public class TestAdd {

    public static void main(String[] args) {
        int a = 3;
        int b = a++;
        System.out.println("a=" + a);
        System.out.println("b=" + b);
        
        int x = 3;
        int y = ++x;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
    }
}
输出:
a=4
b=3
x=4
y=4

自减

public static void main(String[] args) {
        int a = 3;
        int b = a--;
        System.out.println("a=" + a);
        System.out.println("b=" + b);

        int x = 3;
        int y = --x;
        System.out.println("x=" + x);
        System.out.println("y=" + y);
    }
 输出:
a=2
b=3
x=2
y=2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pygame学习(三)——支持多种类型的事件

大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 实时事件循环 为了保证程序的持续刷新、保持打开的状态&#xff0c;我们会创建一个无限循环&#xff0c;通常使用的是while语句&#xff0c;w…

第二百六十九回

文章目录 概念介绍设置方法示例代码内容总结 我们在上一章回中介绍了Card Widget相关的内容&#xff0c;本章回中将介绍国际化设置.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在这里说的国际化设置是指在App设置相关操作&#xff0c;这样可以让不同国家的…

关于VScode的这个ssh的配置的经验

1.首先&#xff0c;我是因为重装了ubantu系统&#xff0c;不得不重新配置ssh 2.第一步&#xff0c;在本机的终端安装ssh插件&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09;restart开启这个ssh端口 3.然后&#xff0c;就在vscode里面&#xff0c;安装哪个…

【Rust学习】安装Rust环境

本笔记为了记录学习Rust过程&#xff0c;内容如有错误请大佬指教 使用IDE&#xff1a;vs code 参考教程&#xff1a;菜鸟教程链接: 菜鸟教程链接: Rust学习 Rust入门安装Rust编译环境Rust 编译工具 构建Rust 工程目录 Rust入门 安装Rust编译环境 因为我已经安装过VSCode了&am…

【ArcGIS遇上Python】ArcGIS Python批量筛选多个shp中指定字段值的图斑(以土地利用数据为例)

文章目录 一、案例分析二、提取效果二、代码运行效果三、Python代码四、数据及代码下载一、案例分析 以土地利用数据为例,提取多个shp数据中的旱地。 二、提取效果 原始土地利用数据: 属性表: 提取的旱地:(以图层名称+地类名称命名)

mysql — 生产环境发布DDL之避坑操作onlineDDL

一、Mysql onLineDDL特性 1、Mysql 5.6 DDL MySQL 的 DDL(Data Definition Language) 包括增减字段、增减索引等操作。MySQL Online DDL 功能从 5.6 版本开始正式引入&#xff0c;发展到现在的 8.0 版本&#xff0c;那么在 MySQL 5.6 之前&#xff0c;MySQL 的 DDL 操作会按照…

Vue高级(二)

3.搭建vuex环境 创建文件&#xff1a;src/store/index.js //引入Vue核心库import Vue from vue//引入Vueximport Vuex from vuex//应用Vuex插件Vue.use(Vuex)//准备actions对象——响应组件中用户的动作const actions {}//准备mutations对象——修改state中的数据const mutat…

近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;C从基础到进阶 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于C的优质内容&#xff01;&#x1f3c6;&#x1f3c6; C核心编程&#x1f30f;1 内存分区模型&#x1f384…

mac查看maven版本报错:The JAVA_HOME environment variable is not defined correctly

终端输入mvn -version报错: The JAVA_HOME environment variable is not defined correctly, this environment variable is needed to run this program. Java环境变量的问题,打开bash_profile查看 open ~/.bash_profile export JAVA_8_HOME/Library/Java/JavaVirtualMachine…

HCIA——12题目-1章选择

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

GaussDB(DWS)查询优化技术大揭秘

GaussDB(DWS)查询优化技术大揭秘 大数据时代&#xff0c;数据量呈爆发式增长&#xff0c;经常面临百亿、千亿数据查询场景&#xff0c;当数据仓库数据量较大、SQL语句执行效率低时&#xff0c;数据仓库性能会受到影响。本文将深入讲解在GaussDB(DWS)中如何进行表结构设计&#…

解密IP代理池:匿名访问与反爬虫的利器

当今互联网环境中&#xff0c;为了应对反爬虫、匿名访问或绕过某些地域限制等需求&#xff0c;IP代理池成为了一种常用的解决方案。IP代理池是一个包含多个可用代理IP地址的集合&#xff0c;可以通过该代理池随机选择可用IP地址来进行网络请求。 IP代理池是一组可用的代理IP地址…

实验八 排序算法的实现与分析

实验八 排序算法的实现与分析 一&#xff0e;实验目的 1.掌握常用的排序方法&#xff0c;并掌握用高级语言实现排序算法的方法&#xff1b; 2.深刻理解排序的定义和各种排序方法的特点&#xff0c;并能加以灵活应用&#xff1b; 3.了解各种方法的排序过程及其时间复杂度的分析方…

10- OpenCV:基本阈值操作(Threshold)

目录 1、图像阈值 2、阈值类型 3、代码演示 1、图像阈值 &#xff08;1&#xff09;图像阈值&#xff08;threshold&#xff09;含义&#xff1a;是将图像中的像素值划分为不同类别的一种处理方法。通过设定一个特定的阈值&#xff0c;将像素值与阈值进行比较&#xff0c;根…

单片机I/O口驱动MOS管

自记录&#xff1a; 看完本章&#xff0c;串起来看&#xff0c;看mos驱动电路这篇&#xff1a;MOS管驱动电流计算以及分立器件驱动电路-CSDN博客 使用单片机做一个PLC,输出可如下两种情况&#xff1a; 单片机I/O口驱动&#xff0c;为什么一般都选用三极管而不是MOS管&#xf…

【RTOS】快速体验FreeRTOS所有常用API(1)工程创建

目录 一、工程创建1.1 新建工程1.2 配置RCC1.3 配置SYS1.4 配置外设1&#xff09;配置 LED PC132&#xff09;配置 串口 UART13&#xff09;配置 OLED I2C1 1.5 配置FreeRTOS1.6 工程设置1.7 生成代码1.8 keil设置下载&复位1.9 添加用户代码 快速体验FreeRTOS所有常用API&a…

第36期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

什么是用户态和内核态?用户态和内核态是如何切换的?

一、什么是用户态和内核态&#xff1f; 1.1、概述 用户态和内核态是操作系统的两种运行状态。 内核态&#xff1a;处于内核态的 CPU 可以访问任意的数据&#xff0c;包括外围设备&#xff0c;比如网卡、硬盘等&#xff0c;处于内核态的 CPU 可以从一个程序切换到另外一个程序…

QGroundControl Qt安卓环境搭建及编译出现的问题

记录Qt 5.15.2搭建安卓环境出现的各种问题。 zipalign tool not found: D:/JavaAndroid/Android/sdk/build-tools//zipalign.exe&#xff1f; 答&#xff1a;需要将DANDROID_PLATFORM升级到已下载的版本. bin/llvm-readobj.exe: error: unknown argument ‘–libs’ 答&…

ES搜索的安装以及常用的增删改查操作(已经写好json文件,可以直接使用)

1.es的下载 https://www.elastic.co/cn/downloads/past-releases 2.elasticsearch安装及配置&#xff0c;遇到9200访问不了以及中文乱码&#xff0c;能访问了却要账户密码等问题 Elasticsearch启动后访问9200失败_http://localhost:9200无返回值-CSDN博客 3.开启es服务&#x…