Java基础之字面值常量

发布于:2024-08-18 ⋅ 阅读:(143) ⋅ 点赞:(0)

常量

概念

​ 在程序运行过程中,其值不可以发生改变的量,称为常量

常量分类

  • 字面值常量
  • 自定义常量(面向对象部分讲解)

字面值常量

  • 字符串常量

    用双引号括起来的多个字符(可以包含0个、一个或多个)

    例如:“”、“a”、“abc”、"中国"等

  • 整数常量

    整数值,例如:-10、0、88等

  • 小数常量

    小数值,例如:-5.5、1.0、88.88等

  • 字符常量

    用单引号括起来的一个字符

    例如:‘a’、‘5’、‘B’、'中’等

  • 布尔常量

    布尔值,表示真假,只有两个值:true、false

  • 空常量

    一个特殊的值,空值:null

注意事项

  • 除空常量外,其他常量均可使用输出语句直接输出

  • 大家可以好好揣摩下字面值常量这个词,这个字面值是固定、不可改变的,即常量值

案例展示

package com.briup.chap02;

public class Test04_Constant {
    //输出各种类型的常量值
    public static void main(String[] args) {
        System.out.println(10); 	// 输出整数常量
        System.out.println(5.5); 	// 输出小数常量
        System.out.println('a'); 	// 输出字符常量
        System.out.println(true); 	// 输出boolean常量值true
        System.out.println("欢迎来到杰普软件"); // 输出字符串常量
    }
}

常量补充内容

观察下面案例,思考案例中常量的数据类型

//输出各种常量值
public static void main(String[] args) {
    System.out.println(10); 	// int
    System.out.println(0b0110);	// ?
    System.out.println(026);	// ?
    System.out.println(0x1c);	// ?
    System.out.println(5.5); 	// double
    System.out.println('a'); 	// char
    System.out.println(true); 	// boolean
    System.out.println("欢迎来到杰普软件"); // String
}

注意:整形字面值,不论是二进制、八进制还是十进制、十六进制,默认都是int类型常量。

思考:long、float等类型的常量,该如何书写?

  • 整形数后面加’L’或’l’,就表示long类型字面值常量

  • 小数后面加’F’或’f’,就表示float类型字面值常量

//输出各种常量值
public static void main(String[] args) {
    System.out.println(10); 	// int
    //整形数后面加'L'或'l',就表示long类型字面值常量
    System.out.println(0x1cl);	//long
    System.out.println(10L);	//long

    System.out.println(5.5); 	// double
    //小数后面加'F'或'f',就表示float类型字面值常量 
    System.out.println(3.14F);	//float
    System.out.println(-2.0f); 	//float

    //下面用double类型常量值给f1赋值,编译报错,为什么?
    //float f1 = 5.5; 
    float f2 = 5.5F;

    int num = 20;
    //下面给num赋值编译报错,为什么?
    //num = 1000000000000L;
    System.out.println(num);
    //下面给count赋值编译运行正常,为什么?
    long count = 1000000000000L;
    System.out.println(count);
}

扩展内容:思考下面代码中的为什么编译报错

package com.briup.chap02;

public class Test07_Extend {
    //输出各种常量值
    public static void main(String[] args) {
        //1.为什么下面用double类型常量值给f1赋值,会编译报错?
        //float f1 = 5.5; 
        float f2 = 5.5F;
        
        int num = 20;
        //2.为什么下面给num赋值,会编译报错?
        //num = 1000000000000L;
        System.out.println(num);
        
        //3.为什么下面给count赋值,编译运行正常?
        long count = 1000000000000L;
        System.out.println(count);
    }
}

网站公告

今日签到

点亮在社区的每一天
去签到