Java基础>03 - 关键字、标识符、常量、变量、运算符_标识符,关键字,常量的区别-程序员宅基地

技术标签: java  Java基础  开发语言  

学习总结:
链接:【Java基础、springboot、springcloud、docker 等,学习目录

一、关键字:

对java的编译器有特殊的意义,用来表示一种数据类型、程序的结构等,关键字不能用作变量名、方法名、类名、包名。
在这里插入图片描述
在这里插入图片描述

二、标识符:

自定义的名字,类名、方法名、变量、包名。

1、标识符定义原则:

  1. 标识符由26个英文字符大小写(a-zA-Z)、数字(0~9)、下划线(_)和美元符号($)组成。
  2. 不能以数字开头,不能是关键字
  3. 严格区分大小写
  4. 标识符的可以为任意长度

2、示例:
合法:User、UserController、user、user_name、user123、user$、
不合法:123user(数字开头)、class(关键字)、user name(空格)

3、命名规范:

  1. 包:
    多个单词组成时所有字母小写(例:package com.coolron)
  2. 类、接口:
    多个单词组成时所有单词的首字母大写(例:HelloWorld)
  3. 变量名、函数名:
    多个单词组成时第一个单词首字母小写,其他单词首字母大写(例:getUserInfo、updateUser)。
  4. 常量名:
    多个单词组成时,字母全部大写,多个单词之间使用_分隔(例:USER_CACHE)
    注意: 只是为了增加规范性、可读性而做的一种约定。
三、常量:

其值不能改变的量。只需要在变量的语法格式前面添加关键字final即可。
格式: final 数据类型 常量名称 = 值;
例如:final double PI = 3.14;
在Java语法中,常量可以首先声明,然后再进行赋值,但是只能赋值一次:
例如:final double PI; PI = 3.14;但是不声明后不赋值,直接使用,报错.
在这里插入图片描述

四、变量:

可理解为一个容器,用于存储可变数据。

变量声明:
1、格式: 数据类型 变量名字1 , 变量名字2 ,……变量名字n;
示例:int num;
首字母都一般都是以小写字母开始。
2、初始化:
int a,b = 2 ,c = 3;
a = 1;

五、char 类型:

char类型表示的是单个字符类型,任何数据使用单引号括起来的都是表示字符。字符只能有一个字符。
转义字符:
特殊字符使用”\”把其转化成字符的本身输出,那么使用”\”的字符称作为转移字符。

\r 表示接受键盘输入,相当于按下回车。
\n 表示换行。
\t 制表符,相当于Table键
\b 退格键,相当于Back Space
\’ 单引号
\’’ 双引号
\ 表示一个斜跨

示例:System.out.print(“aaa\nbbb”);
aaa
bbb

六、运算符:

1、+、-、*、/
2、%:取模,System.out.print(10%3); // 1
3、++:自增,分前自增(++a)、后自增(a++)
前自增:先自增完毕,再运算整个表达式,分号前面的都是运算表达式;

 // 前自增
 int total = 0;
 int a = 1;
 total = total + ++a; // 前自增
 System.out.println(total); // 2

后自增:先运算完整个表达式(分号前面的都是表达式),再进行自增

 // 后自增
 int total = 0;
 int a = 1;
 total = total + a++; // 后自增
 System.out.println(total); // 1

结论:

如果运算符在变量的前面,则该变量自增1或者自减1,然后返回的是变量的新值,如果运算符在变量的后面,则变量也会自增或者自减1,但是返回的是变量原来的值。++在前就是先运算,再取值,++在后就是先取值,再运算。

4、- -:自减。
5、=、+=、-=、*=、/=、%=:赋值运算符。
6、比较运算符:返回结果 boolean
!=、==、>、<、>=、<=、Instanceof:判断是否属于一个类。
7、逻辑运算符:
& 与、| 或、^ 异或、 ! 非、&& 短路与、|| 短路非、^ : 两边相同结果是false ,两边不同结果是true、~:取反:二进制只有1和0,取反就是如果为1,取反就是0,如果是0,取反就是1
true ^ true =false;
ture ^ false =true;
false ^ true= true;
false ^ false=flase;

“&”和“&&”的区别:
&:左边无论真假,右边都进行运算;
&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
8、三元运算符:z = (x>y)?x:y;//z变量存储的就是两个数的大数。
9、运算符的优先级与结合性
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cp026la/article/details/87259022

智能推荐

NoSQL数据库_rdbqry-程序员宅基地

文章浏览阅读410次。一、为什么要使用NoSQL数据库NoSQL数据库在我的理解是一类数据库的统称(如键值存储型,文档型,列存储型等等)。 NoSQL出现的意义是啥呢?适用关系型数据库的时候就使用关系型数据库(目前大部分我们所使用的数据库均为关系型),不适用的时候也没有必要非使用关系型数据库不可,这个时候就可以考虑更加合适的数据库,比如NoSQL数据库。 至于为什么说在这里使用NoSQL数据库会更加_rdbqry

python计算机毕设【附源码】基于vue的电商数据分析系统(django+mysql+论文)-程序员宅基地

文章浏览阅读644次,点赞23次,收藏14次。综上所述,基于Vue的电商数据分析系统的开发不仅能够提升电商平台的服务质量和运营效率,还能够帮助商家更好地理解和把握市场脉动,实现数据的最大价值。在数据库管理工具的选择上,使用了Navicat 11,这是一个用户友好且功能强大的数据库管理软件,它支持多种数据库系统,包括MySQL,并提供了图形化界面,使得数据库的管理和维护工作更加便捷。开发环境方面,我们选择了PyCharm作为主要的集成开发环境(IDE),它提供了丰富的Python开发工具和插件,支持Django框架,有助于提高开发效率和代码质量。

JPBC库实现基于身份的签名体制_jpbc实现聚合签名-程序员宅基地

文章浏览阅读991次,点赞6次,收藏16次。JPBC库实现基于身份的签名体制---Hess体制Hess算法:代码:Hess类:import it.unisa.dia.gas.jpbc.Element;import it.unisa.dia.gas.jpbc.Field;import it.unisa.dia.gas.jpbc.Pairing;import it.unisa.dia.gas.plaf.jpbc.pairing.PairingFactory;import java.lang.reflect.Proxy;public_jpbc实现聚合签名

[转载]XMLHTTP 抓取[天气预报]网页内容-程序员宅基地

文章浏览阅读50次。转载自:www.csdn.net抓取网页。偶要实现实实更新天气预报。利用了XMLHTTP组件,抓取网页的指定部分。需要分件html源代码此例中的被抓取的html源代码如下<p align=left>2004年8月24日星期二;白天:晴有时多云南风3—4级;夜间:晴南风3—4级;气温:最高29℃最低19℃ </p>而程序中是从以2004年8月24日为关键字搜索,直到..._利用xmlhttprequest+promise 获取天气预报

etc下的passwd和shadow文件详解-程序员宅基地

文章浏览阅读830次。在更改文件权限之前,首先先必须认识文件权限下的拥有者和拥有组的信息在哪!用户信息----/etc/passwd用户密码---/etc/shawdow用户组的信息---/etc/group用户信息和用户密码是分开放的,当然是为了安全性吧!【联系两条查看命令:head -n /etc/passwd 查看passwd的前n行tail -n /etc/passwd &nbs..._以长格式查看etc目录下passwd和shadow文件的详细信息

Android input touchpanel驱动流程_touchpanel驱动详解-程序员宅基地

文章浏览阅读1.7k次。TP的硬件接口硬件原理图可以结合查看Android Qcom Display学习博客中的部分,硬件接口主要是中断引脚:TS_INT_N GPIO80复位引脚:TS_RESET_N GPIO71总线通信:TOUCH_SCL TS_I2C_SCL/SDA GPIO7 GPIO6供电相关:LCD_IOVDD_1P8 VREG_L9A_1P8 1.65V to 3.3VTP使能引脚:TOUCH_3V3_EN_GPIO90 GPIO45部分dtsi&qupv3_se2_i2c {_touchpanel驱动详解

随便推点

LinkedHashMap-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏5次。概念LinkedHashMap继承自HashMap,它的结构如图所示:hashmap是无序的,LinkedHashMap是有序的,且默认为插入顺序。LinkedHashMap通过在HashMap的基础上增加一条双向链表,实现了插入顺序和访问顺序一致。通过对HashMap一些方法的覆盖,例如newNode, replacementNode, replacementTreeNode, newTreeNode,让所有对底层HashMap数据结构修改的同时该链表进行修改,遍历的时候便是遍历这一条有序_linkedhashmap

python基于ocr的视频字幕提取_实现视频语义信息提取任务opencv-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏42次。python 基于pytesseract ocr 的视频文字识别_实现视频语义信息提取任务opencv

error: ‘rand’ was not declared in this scope_[error] 'rand' was not declared in this scope-程序员宅基地

文章浏览阅读1.7w次,点赞2次,收藏2次。出现错误error: ‘rand’ was not declared in this scope解决方法添加头文件#include_[error] 'rand' was not declared in this scope

空洞卷积(扩张卷积,带孔卷积,atrous convolution)的一些总结与理解_空洞卷积 一维-程序员宅基地

文章浏览阅读5.4k次,点赞14次,收藏78次。空洞卷积(扩张卷积,带孔卷积,atrous convolution)是一种区别于普通卷积的卷积方式,从字面理解,就是卷积层中有洞。1.一维理解以一维为例:图中(a)Input feature表示输入特征,Output feature表示输出特征,这是一个正常的kernel = 3; stride = 1; pad = 1的卷积操作。图中(b)下面为Input feature,上面为Output feature,与图(a)不同的是pad = 2,同时引入了一个rate = 2,这个rate_空洞卷积 一维

Javascript中的undefined、null、““、0值和false的区别总结_js区分false和undefined-程序员宅基地

文章浏览阅读772次。1、值的类型不同typeof(undefined) == 'undefined' typeof(null) == 'object' typeof("") == 'string' typeof(0) == 'number' typeof(false) == 'boolean'2、共同点:在if语句中做判断,都会执行false分支。当然从广义上来看,是说明这些数值都是其对应数据类型上的无效值或空值。还有这五个值作!运算,结果全为:true。这几个值中也有不同,其中undefined和nu._js区分false和undefined

如何在SAM时代下打造高效的高性能计算大模型训练平台_sa-1b-程序员宅基地

文章浏览阅读440次。学术界有多篇论文探讨SAM 的 ZSL 能力, 如《SAM.MD: Zero-shot medical image segmentation capabilities of the Segment Anything Model》测试 SAM 的 ZSL 效果,在图像分割任务中输入部分点和框作为 prompt 提示,结果显示:专家用户可以通过 SAM 实现大部分场景下的快速半自动分割。总的来说,SAM-Track是在SAM基础上的有意义的研究成果,为视频分割和跟踪领域的研究和应用带来了新的可能性。_sa-1b