Java笔记学习2.2.2 常量与变量 - 常量
Posted howard2005
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java笔记学习2.2.2 常量与变量 - 常量相关的知识,希望对你有一定的参考价值。
文章目录
零、本讲学习目标
一、常量定义
- 常量就是在程序中固定不变的值,是不能改变的数据。例如数字1、字符’a’、浮点数3.2等。在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量等。
二、字面常量
(一)整型常量
1、不同进制的整型常量
- 二进制:由数字0和1 组成的数字序列。在JDK 7以后,允许使用二进制字面值来表示整数,此时二进制数值前面要以0b或0B开头,目的是为了和十进制进行区分,如:0b01101100、0B10110101。
- 八进制:以0开头,并且其后由0 ~7范围(包括0和7)内的整数组成的数字序列,如:0342。
- 十进制:由数字0~9范围(包括0和9)内的整数组成的数字序列。如:198。
- 十六进制:以0x或者0X开头,并且其后由0-9、A-F(包括0和9、A和F)组成的字符序列,如:0x25AF。
2、不同进制整数间相互转换
- 在
c02.s02.p02
包里,创建Example01
类
package c02.s02.p02;
/**
* 功能:演示进制转换
* 作者:Java课程项目组
* 日期:2022年02月28日
*/
public class Example01
public static void main(String[] args)
// 将十进制数转换成二进制、八进制与十六进制字符串
int num = 234;
System.out.println("十进制" + num + "的二进制:" + Integer.toBinaryString(num));
System.out.println("十进制" + num + "的八进制:" + Integer.toOctalString(num));
System.out.println("十进制" + num + "的十六进制:" + Integer.toHexString(num));
// 将二进制转换成十进制
int n1 = 0b11101010;
System.out.println("二进制11101010的十进制:" + n1);
// 将八进制转换成十进制
int n2 = 0352;
System.out.println("八进制352的十进制:" + n2);
// 将十六进制转换成十进制
int n3 = 0xea;
System.out.println("十六进制ea的十进制:" + n3);
- 运行程序,查看结果
课堂练习:将十六进制数7d3e5a转换成其它几种进制。
(二)浮点型常量
- 浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。
2e3f 3.6d 0f 3.84d 5.022e+23f
- 单精度浮点数后面以
F
或f
结尾,而双精度浮点数则以D
或d
结尾。当然,在使用浮点数时也可以在结尾处不加任何后缀,此时Java虚拟机会将浮点数默认识别为double
双精度浮点数。
(三)字符常量
- 字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(’ ')引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。
‘a’ ‘1’ ‘&’ ‘\\r’ ‘\\n’ ‘\\t’
转义字符:
- 在字符常量中,反斜杠(\\)是一个特殊的字符,被称为转义符,它的作用是用来转义紧随其后的一个字符。转义后的字符通常用于表示一个不可见的字符或具有特殊含义的字符,例如“\\n”表示换行。
常见转义字符:
- \\r :表示回车,将光标定位到当前行的开头,不会跳到下一行。
- \\n :表示换行,换到下一行的开头。
- \\t :表示制表符,将光标移到下一个制表符的位置,就像在文档中用Tab键一样。
- \\b :表示退格符号,就像键盘上的Backspace。
- \\’ :表示单引号字符,表示字符的开始和结束,如果直接写单引号字符(’),程序会认为前两个是一对,会报错,因此需要使用转义(\\’)。
- \\" :表示双引号字符,表示字符串的开始和结束,包含在字符串中的双引号需要转义,比如"he says,“thank you”."。
- \\\\ :表示反斜杠转义字符,由于在Java代码中的斜杠(\\)是转义符,因此需要表示字面意义上的\\,就需要使用双斜杠\\\\。
(四)字符串常量
- 字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(" ")引起来。
“Hello World” “903213” “Welcome to Luzhou~”
(五)布尔常量
- 布尔常量即布尔类型的两个值true和false,该常量用于区分一个条件的真假。
(六)null常量
- null常量只有一个值null,表示对象的引用为空。
二、符号常量
(一)定义
- Java符号常量,其实就是特殊的变量,也是固定不变的量,有且只能进行一次赋值。只需要在定义变量的语法基础上加上一个
final
关键字修饰即可。
(二)语法格式
final 常量类型 常量名 [= 初始值];
(三)案例演示
- 计算圆面积(采用符号常量
PI
) - 在
c02.s02.p02
包里,创建Example02
类
package c02.s02.p02;
import java.text.DecimalFormat;
/**
* 功能:演示符号常量
* 作者:Java课程项目组
* 日期:2022年02月28日
*/
public class Example02
public static void main(String[] args)
final double PI = 3.1415926;
double r = 2;
double area = PI * r * r;
System.out.println("area = " + area);
System.out.println("area = " + String.format("%.2f", area));
System.out.println("area = " + (int) (area * 100 + 0.5) / 100.0);
System.out.println("area = " + Math.round(area * 100) / 100.0);
DecimalFormat df = new DecimalFormat("#.##");
System.out.println("area = " + df.format(area));
-
运行程序,查看结果
-
本案例,采用了几种方式来实现保留到小数点后面两位。大家可以选择一种自己喜欢的方式,在后面的教学案例里还会用到这个东西。
-
Python里也有方法实现保留到小数点后面多少位。
四、扩展阅读
不要像小白用户那样提问
-
很多人一遇到问题就问人,而且描述不清楚问题,只说简单的问题现象。比如问:“网站访问不了怎么回事?”“连接不上服务器怎么办?”“程序启动不了怎么办?”“程序在本地运行没有问题,上传到服务器运行就有问题,怎么回事?”这些问题让人无法回答,哪位技术大牛能回答这些问题?
-
要知道你是程序员不是小白用户。不懂程序的小白用户看见网站访问不了,只能反馈给你网站访问不了。但作为一名程序员,拿这样的现象去问人,技术大牛也不知道怎么解答,因为造成网站访问不了的原因太多了。作为程序员,你是可以提供更多信息的,比如程序的错误信息、错误码、是在运行哪行代码时出错的,有了这些信息别人解答问题就更容易了。
-
我们在学校时,老师引导我们有问题就问;然而在编程时,有问题马上问,只看见个别现象就问,反而沟通效率低,自己成长也慢。有问题要先自己找解决方案。
以上是关于Java笔记学习2.2.2 常量与变量 - 常量的主要内容,如果未能解决你的问题,请参考以下文章
go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 常量变量的声明:常量的初始化定义