Java的常量
Java的常量有两种:
-
字面常量:代码里面直接写的数据值,例如:3.14。数字很直观,简洁,但是如果很多地方用到了同一个数字,后面如果要修改,那么需要同时修改很多个地方。
-
final声明的常量:用一个单词来代表一个固定的值,例如:final double pi = 3.14; 。单词的命名可以更见名知意,另外,如果后期有修改,只需要修改一个地方就可以。
无论哪一种常量,都有一个共同特征,它的值在整个Java程序中是固定不变的。
这一点和变量不同,变量也是代表一个数据,但是变量中的数据可能会在程序运行期间发生变量,因为变量可以重复赋值。
案例一:圆周率使用字面常量值
public class CircleDemo1{ public static void main(String[] args){ //声明两个变量,用来表示圆的半径值 double r1 = 1.2; double r2 = 2.5; //计算两个圆的面积值 double area1 = 3.14 * r1 * r1;//*在Java中表示乘号 double area2 = 3.14 * r2 * r2; System.out.println("圆1的半径:" + r1 + ",面积:" + area1 ); r1 = 2.0;//r1变量的值可以修改 area1 = 3.14 * r1 * r1;//重新计算第1个圆的面积值 //计算两个圆的周长 double perimeter1 = 2 * 3.14 * r1; double perimeter2 = 2 * 3.14 * r2; //在控制台输出或打印这些信息 //+代表拼接 System.out.println("圆1的半径:" + r1 + ",面积:" + area1 + ",周长:"+ perimeter1); System.out.println("圆2的半径:" + r2 + ",面积:" + area2 + ",周长:"+ perimeter2); } }
案例二:圆周率使用final声明的常量值
public class CircleDemo3{ public static void main(String[] args){ //声明两个变量,用来表示圆的半径值 double r1 = 1.2; double r2 = 2.5; //double pi = 3.1415926; final double PI = 3.0;//final表示最终的,不可修改的 //例如:客户提出来,圆周率的值统一换成3.0计算 //计算两个圆的面积值 double area1 = PI * r1 * r1;//*在Java中表示乘号 double area2 = PI * r2 * r2; System.out.println("圆1的半径:" + r1 + ",面积:" + area1 ); r1 = 2.0;//r1变量的值可以修改 area1 = PI * r1 * r1;//重新计算第1个圆的面积值 //PI = 3.5;//不能修改PI的值 //计算两个圆的周长 double perimeter1 = 2 * PI * r1; double perimeter2 = 2 * PI * r2; //在控制台输出或打印这些信息 //+代表拼接 System.out.println("圆1的半径:" + r1 + ",面积:" + area1 + ",周长:"+ perimeter1); System.out.println("圆2的半径:" + r2 + ",面积:" + area2 + ",周长:"+ perimeter2); } }
面试题:Java的常量与变量有什么区别?
-
常量的值:不变
-
变量的值:可以修改
拓展:随机产生[0,1)的小数
public class RandomDemo{ public static void main(String[] args){ //随机产生1个小数值,[0,1) double num = Math.random(); System.out.println("num = " + num); //随机产生1个[0,100)范围的小数值 /* Math.random() 得到 [0,1) Math.random() * 100 得到 [0,100) */ double num2 = Math.random() * 100; System.out.println("num2 = " + num2); } }
练习题
随机产生两个圆的半径值,范围都是[0,50),求它们的面积和周长。