JAVA基础——变量和常量
JAVA的变量和常量知识总结
一、认识java标识符
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

使用标识符时,需要遵守几条规则:
1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴。
2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用void作为标识符,但是 Myvoid 可以
3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
4. 标识符的命名最好能反映出其作用,做到见名知意。(这对编写大的程序有重大意义!)
由此我们可以得出变量的命名规则(类、方法等命名类同)如下图所示:

优秀码农的习惯:
1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 表示“学生姓名”信息。
二、Java中的数据类型
通常情况下,为了方便物品的存储,我们会规定每个盒子可以存放的物品种类,就好比在“放臭袜子的盒子”里我们是不会放“面包”的!同理,变量的存储也讲究“分门别类”!
Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:

其中,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应,可以通过钥匙找到抽屉里的东西(也是说使用引用数据类型的变量来找到相应的基本数据类型变量的数据本身)。
常用的基本数据类型有:

补充:关于 float 型和 double 型的区别,以及 char 型和 String 型的不同,在后续的文章将会给大家总结,请时刻关注哦~
三、Java中变量的使用规则
不得不接受的变量小脾气:
1、Java 中的变量需要先声明后使用
2、变量使用时,可以声明变量的同时进行初始化

3、变量中每次只能赋一个值,但可以修改多次。
4、main 方法中定义的变量必须先赋值,然后才能使用。

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等。
四、Java中的自动类型转换
在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0
这种转换称为自动类型转换(还有一种叫做强制类型转换,后续会讲,自动类型转换是编译器自动帮助我们完成的)。
当然自动类型转换是需要满足特定的条件的:
1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型。(一个是数值型一个是字符型)

2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了!这理解起来也很简单,一个大篮子不能放到小篮子里,但是大篮子可以兼容小篮子。
ps:自动类型转换在实际开发中使用不高,因为面对复杂的算法时,类型转换不能自控,我们比较常用的是强制类型转换。
五、Java中的强制类型转换
相信小伙伴们也发现了,尽管自动类型转换是很方便的,但并不能满足所有的编程需要。
例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?
显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。
语法:( 数据类型 ) 数值
下面是个具体的例子:

运行结果:

可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。
因此,强制类型转换可能会造成数据的丢失哦,小伙伴们在应用时一定要慎重哦!
小技巧:如果对强制转换后的数值不确定,可以通过输出函数来测试强制转换后的数值是否符合预期哦(这技巧不止用在这里,调式程序时输出函数都是很简便的方法)
六、Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。
语法:final 常量名 = 值;

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。
伙计们注意啦:常量名一般使用大写字符。
七、如何在Java中使用注释
在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。
一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要加以重视哦!
Java 中注释有三种类型:单行注释、多行注释、文档注释

PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:
@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明
注释:此篇文章是本人根据慕课网上的java课程进行的总结,有兴趣的小伙伴可以自己去慕课网进行视频学习和在线编程,能更快更好地理解知识点哦~欢迎小伙伴随时来查阅知识点φ(>ω<*)
JAVA基础——变量和常量的更多相关文章
- JAVA基础——变量、常量
变量 java中,变量时最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型. 变量名必须是合法的标识符 变量声明时一条完整的语句 ...
- Java基础——变量与常量及命名规范
变量 () public class Demon04{ //类变量 static static double salary=2500; //属性: 变量 //实例 ...
- JAVA 基础基本语法---常量与变量
JAVA 基础基本语法---常量与变量 语法:计算机能够识别的语言的规则: 0. 基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hel ...
- Java基础-变量的定义以及作用域详解
Java基础-变量的定义以及作用域详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字面量 常量(字面量)表示不能改变的数值(程序中直接出现的值).字面量有时也称为直接量,包 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- Java学习笔记三:Java的变量、常量、变量的类型及使用规则
Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java ...
- Java基础-变量常量
变量 内存中的一小块区域,需要变量名来访问 变量的命名: 变量类型 变量名=变量值 例:String stuName= "wangwei"; java中的所有标点符号都是英文的 变 ...
- Java 基础 变量和运算符
Java基础语法 第1章 变量 1.1 变量概述 1.2 计算机存储单元 1.3 基本类型之4类8种 1.4 常量与类型 1.5 定义变量(创建变量) 1.6 变量使用的注意事项 1.7 数据类型 ...
- Java 静态变量,常量和方法
static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...
随机推荐
- html5,js插件实现手机端实现头像剪切上传
思路:先打开相册,选取图片,在剪切图片,转化为base64格式,然后上传到七牛存储,返回url,再传给后端,整个流程就是这样.用的是angular框架,图像插件用到imagecropper.js,废话 ...
- 【JAVAWEB学习笔记】01_HTML
案例一:网站信息显示页面1.什么是HTML?(Hyper Text Markup Language:超文本标记语言) 超文本:功能比普通文本更加强大 标记语言:使用一组标签对内容进行描述的一门语言(它 ...
- OpenCV探索之路(六):边缘检测(canny、sobel、laplacian)
边缘检测的一般步骤: 滤波--消除噪声 增强--使边界轮廓更加明显 检测--选出边缘点 Canny算法 Canny边缘检测算法被很多人推崇为当今最优秀的边缘检测算法,所以我们第一个就介绍他. open ...
- Java调用IDL方法总结
Java调用IDL方法总结 Java调用IDL程序,需要先在java中加载IDL的java包(javaidlb.jar),该包不需要下载,在IDL的安装目录中可以直接找到(C:\Program Fil ...
- prop()、attr()和data()
设置元素属性,用attr()还是prop()? 对于取值为true /false的属性,如 checked/selected/readonly或者disabled,使用prop(),其他属性使用 at ...
- 微服务框架下的思维变化-OSS.Core基础思路
如今框架两字已经烂大街了,xx公司架构设计随处可见,不过大多看个热闹,这些框架如何来的,细节又是如何思考的,相互之间的隔离依据又是什么...相信很多朋友应该依然存在自己的疑惑,特别是越来越火热的微服务 ...
- 开涛spring3(6.4) - AOP 之 6.4 基于@AspectJ的AOP
Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明. 6.4.1 启用对@AspectJ的支持 Spring默认不支持@AspectJ风格的切面声明, ...
- 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)
Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...
- [netty源码分析]3 eventLoop 实现类SingleThreadEventLoop职责与实现
eventLoop是基于事件系统机制,主要技术由线程池同队列组成,是由生产/消费者模型设计,那么先搞清楚谁是生产者,消费者内容 SingleThreadEventLoop 实现 public abst ...
- cas4.2以下取消https
deployerConfigContext.xml增加参数p:requireSecure="false" <bean class="org.jasig.cas.au ...