一篇文章带你入门Java字面量和常量

目录
  • 引言
  • 概念
  • 字面量
    • 字面量的分类
  • 常量
  • 总结

引言

♀ 小AD:哥,前两天我没有闪现到刺客脸上了吧
♂ 明世隐:在这方面做的有进步。
♀ 小AD:明哥教的好,通过学习Java关键字,游戏水平也得到了提升,一举两得,舒服。
♂ 明世隐:可是你看到残血还是上头啊,是了多少次,你说?
♀ 小AD:5、6次吧
♂ 明世隐:岂止5、6,起码10次。
♀ 小AD:这不是看到200金币,经不住诱惑吗
♂ 明世隐:关爱残血,你学哪里去了,游戏中就不能多一些人间的关爱吗?你就不能关爱一下放暑假的小弟弟小妹妹?
♀ 小AD:哥,我自己也是小。。。
♂ 明世隐:我知道你是小菜B。
♀ 小AD:呜。。。,你讨厌。
♂ 明世隐:既然你那么喜欢杀敌,喜欢200金币,今天就来学习一下字面量和常量。
♀ 小AD:哇,有可以学知识,有可以提升游戏水平,好耶,那学完后还要带上分的吧。
♂ 明世隐: 你这货就知道上分?
♀ 小AD:人家不是想着学习的吗!
♂ 明世隐:我信你个鬼!

概念

字面量:

又叫直接量或者数据,表示直接给出的一个值(可以是整数、小数、ture、false等等。

常量:

是指在Java程序中固定不变的数据(字面量)。我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。

字面量

♀ 小AD:哥什么是字面量,光看定义不是很明白呢?
♂ 明世隐:这还不明白吗?比如你今天去坐地铁,花了5块钱,这个5就是字面量。
♀ 小AD:那我明天去更远的地方要8块钱呢?
♂ 明世隐:那8就是字面量。
♀ 小AD:还是不是很清楚,你还是举游戏的例子吧。
♂ 明世隐:你这货,就举你最喜欢的,你杀一个敌方英雄多少金币。
♀ 小AD:200啊
♂ 明世隐:那200就是字面量。
♀ 小AD:那我第2次杀他,就更少钱了可能180,我要是连续杀几次,他可能只值20块了。
♂ 明世隐:那180、20就是字面量。
♀ 小AD:好像有点明白了。
♂ 明世隐:说到底就是指数据。
♀ 小AD:哦
♂ 明世隐:数据也分好几种类型

字面量的分类

字面量类型 说明 举例
字符串字面量 用双引号(")括起来的内容 “小鲁班”,“明世隐”
字符字面量 用单引号(')括起来的内容 ‘男',‘女'
整数字面量 不带小数点的数字 200 , 150
小数字面量 带小数点的数字 3.14 , 66.66
布尔字面量 布尔值表示真假 true,false
空字面量 一个特殊的值,空值 null

字符串字面量

public static void main(String[] args) {
	System.out.println("小鲁班");
	System.out.println("你个**,你特么*****");
}

♀ 小AD:明哥我知道这个
♂ 明世隐:说说看。
♀ 小AD:这个好简单,第一个是我喜欢的小鲁班,第2个是我喷打野常用台词。
♂ 明世隐:喷人你倒是记得清楚。这种用双引号包括的内容表示的,就是字符串字面量,也各类语言中常用的包括Java。
♀ 小AD:嗯这个比较好理解。
♂ 明世隐:记住双引号是英文的哦
♀ 小AD:知道了

字符字面量

System.out.println('男');
System.out.println('A');

♀ 小AD:这个看起来很上面的没有上面区别啊
♂ 明世隐:有区别啊,这个是单引号。
♀ 小AD:那我用单引号改一下小鲁班不就行了,比如:‘小鲁班'
♂ 明世隐:不行哦,会编译报错的,字符字面量只能一个字符,用单引号括住,代码试试看。
♀ 小AD:好

♂ 明世隐:invalid character constant,大概意思就是“无效的字符常数”。
♀ 小AD:就是说单引只能一个字符
♂ 明世隐:对是这个意思,如果要多个字符,就用双引号表示字符串字面量。

整形字面量

System.out.println("第一次击杀");
System.out.println(200);
System.out.println("第二次击杀");
System.out.println(180);

♀ 小AD:这个我明白,200,180就是整形字面量
♂ 明世隐:对的,不错。

小数字面量

System.out.println("π的值是");
System.out.println(3.14);
System.out.println("技能冷却时间(秒)");
System.out.println(3.5);

布尔字面量

System.out.println(true);
System.out.println(false);

♀ 小AD:哥,我看这个true,false是关键字哦。
♂ 明世隐:对的呀,布尔就两个值,true、false。
♀ 小AD:哦。。
♂ 明世隐:说的通俗点,当刺客突到你脸上的时候,你只有两种结果,没有第3种。
♀ 小AD:不不不,有好几种,刺客生,刺客死,我生我死,他得200,我得200,你看有好多种情况吧。
♂ 明世隐:但你没发现你这些都是对立的吗?
♀ 小AD:好像是哦。
♂ 明世隐:你就这样想,他突到你脸上,你的结果是什么就不会搞不明白。你的结果就2种,要么活,要么死。还有第3种情况吗。
♀ 小AD:不好意思我有复活甲。
♂ 明世隐:不好意思,既然是复活甲,那就是活,况且别人压起身,你还不得死。结果就只有生和死,没有别的。
♀ 小AD:嗯,我知道了。明哥讲问题真的透彻哦。
♂ 明世隐:没办法,谁叫哦遇到你这个大聪明呢?
♀ 小AD:我猜你肯定在夸我,虽然我后背有一丝丝的凉。
♀ 小AD:哥最后一个空字面我知道了,肯定这样写

System.out.println(null);

♀ 小AD:明哥,报错了,之前的不都这么写吗?
♂ 明世隐:System.out.println()括号中如果传入null,不同形式的null最终的输出也不同。如果是直接传入null,则会报错,因为无法确定传入的值是什么对象。
♀ 小AD:额。。不懂
♂ 明世隐:意思就是别这么用,后面的章节会具体说明。
♀ 小AD:好吧

常量

♀ 小AD:明哥明哥,我想发个言
♂ 明世隐:哟,还举手发言拉,可以啊,今天送你一颗星(明日之星)。
♀ 小AD:明哥威武,我想说常量很好理解,就比如我的身份证号码,从我出生到最后都是一样的,是不是可以看作是常量。
♂ 明世隐:嗯,不错啊,这个确实可以这样理解的。
♀ 小AD:还有还有,你看我的容颜,从小到大,都这么好看,以后也一直是这样的,也是一个常量
♂ 明世隐:你这个叫好看?得了吧,你这个叫不丑。
♀ 小AD:你要这么说的话,你跟打野对喷的时候,我可就不讲话了。
♂ 明世隐:开什么玩笑,我专业喷子30年,就这些小学生,我喷他们可以不带脏字。
♀ 小AD:你这个确实。。。有点溜
♂ 明世隐:高端的喷子,往往喷人于无形。

常量:是final关键字修饰的变量(在c语言中是被const修饰),初始化必须赋值,且类型和值不能再改变。

public static void main(String[] args) {
		final String card = "3603749832492349";
		System.out.println("身份证:"+card);
}

♀ 小AD:如果我给它修改一下呢?
♂ 明世隐:那就会编译报错。

♂ 明世隐:意思就是不能给常量赋值。
♀ 小AD:我知道了,哥我有个好想法!
♂ 明世隐:说说看。
♀ 小AD:我把我击杀敌人获得的金币设置成常量,就不会越来越不值钱的
♂ 明世隐:你这想法,有点邪恶啊。
♀ 小AD:我全部设置成第一滴血的金币值,我看谁拦得住我,你看我写的代码。

public static void main(String[] args) {
		final int gold=300;

		System.out.println("第1滴血:");
		System.out.println(gold);
		System.out.println("第2次击杀获得:");
		System.out.println(gold);
		System.out.println("第3次击杀获得:");
		System.out.println(gold);
		System.out.println("小鲁班已经无人可挡了:");
		System.out.println(gold);
		System.out.println("小鲁班正在大杀特杀:");
		System.out.println(gold);
		System.out.println("小鲁班正在大杀特杀:");
		System.out.println(gold);
		System.out.println("小鲁班已经超神了:");
		System.out.println(gold);
	}

♂ 明世隐:我草,这么灵性!
♀ 小AD:你不是说程序员可以为所欲为吗?
♂ 明世隐:这个倒是实话,你这都是第一滴血的钱,不爽到死啊 。
♀ 小AD:对啊,我的程序我做主,我说了算
♂ 明世隐:可惜不是你说了算,因为王者,马总说了算。
♀ 小AD:我不管
♂ 明世隐:行吧,今天多送你两颗星我说了算。
♀ 小AD:明哥威武,起飞!

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Java 三种进制的数值常量操作

    我就废话不多说了,大家还是直接看代码吧~ package cn.nxl2018; class Test{ //十进制常量赋值 void decimals(){ byte b=10; short s=10; char ch=69; int i=10; long l=10l;//l/L可加可不加 float f=10.1f;//float f=10,可以不加f将10默认转换为float类型,输出10.0.但当是小数时必须加f. float f2=10.2e3f;//可以用指数形式来表示 double

  • Java字符串常量池示例详解

    为什么会有常量池的概念? 不知道小伙伴们是否有思考过这个问题? 没有思考也无所谓,小编在这里类比一下,大家就会清晰了.什么是池? 我们听的最多的池,应该是数据库连接池. 为什么会有数据库连接池,其实就是为了节省资源,提高性能,防止重复创建连接,避免占用内存和网络资源. 常量池其实就是跟数据库连接池的目的都是一样的.那么他是如何实现的呢? 因为常量池是JVM的概念,源码我们也不好看,所以我们还以连接池来类比. 池化的目标就是缓存和管理 稍微提一点池化的概念,其实就是对资源做一个包装,在包装层来加一

  • java中的String定义的字面量最大长度是多少

    java的String对象底层是有字符数组存储的,理论上char[]  最大长度是int的最大值,实际 思路: 首先,String字面常量是由String类来维护的,并且在编译时就可以确定(具体请参考String常量池).因而,如果String字面常量存在一个最大的长度(目前暂且假设),而我们使用的字面常量又超过了这个极限,那么,在编译期间,编译器就能够给出错误信息.因此,我们可以使用IO流生成Java文件,文件的内容就是声明一个String对象,然后使用字面常量赋值,根据动态编译结果,调整字面

  • Java 反射修改类的常量值、静态变量值、属性值实例详解

    前言 有的时候,我们需要修改一个变量的值,但变量也许存在于 Jar 包中或其他位置,导致我们不能从代码层面进行修改,于是我们就用到了下面的场景,通过反射来进行修改变量的值. 定义一个实体类 class Bean{ private static final Integer INT_VALUE = 100; } 利用反射修改私有静态常量方法 System.out.println(Bean.INT_VALUE); Field field = Bean.class.getField("INT_VALUE

  • Java 常量字符串过长的解决方法

    问题出现 在IDEA中,字符串长度超过65535,进行打印,IDEA会提示java: 常量字符串过长.使用javac 进行编译也会有类似的提示 解决办法 使用StringBuilder StringBuilder sb = new StringBuilder(); sb.append("String"); sb.append("String"); String str = sb.toString(); String[] parts = str.split("

  • 一篇文章带你入门Java字面量和常量

    目录 引言 概念 字面量 字面量的分类 常量 总结 引言 ♀ 小AD:哥,前两天我没有闪现到刺客脸上了吧 ♂ 明世隐:在这方面做的有进步. ♀ 小AD:明哥教的好,通过学习Java关键字,游戏水平也得到了提升,一举两得,舒服. ♂ 明世隐:可是你看到残血还是上头啊,是了多少次,你说? ♀ 小AD:5.6次吧 ♂ 明世隐:岂止5.6,起码10次. ♀ 小AD:这不是看到200金币,经不住诱惑吗 ♂ 明世隐:关爱残血,你学哪里去了,游戏中就不能多一些人间的关爱吗?你就不能关爱一下放暑假的小弟弟小妹妹

  • 一篇文章带你入门Java数据类型

    目录 引言 两个基本概念 说明 数据类型分类 基本数据类型 引用数据类型 两者的区别 总结 引言 ♀ 小AD:明哥,昨天气死我了,明哥要帮我出气. ♂ 明世隐:咋了,有谁惹到你了. ♀ 小AD:昨天辅助喷我小鲁班菜,我反手就对喷,然后竟然丢脸了! ♂ 明世隐:这个我是不信的,论喷的功力,你貌似不在明哥之下,没那么容易就败北的. ♀ 小AD:明明就丢脸了吗 ♂ 明世隐:你这一喷20年的功力,这些小学生顶得住? ♀ 小AD:哼..那我不说了! ♂ 明世隐:好了好了,说说看. ♀ 小AD:是小学生喷不

  • 一篇文章带你入门java面向对象

    目录 一.继承 示例: 二.重载 三.接口 1.接口与类相似点: 2.接口与类的区别: 3.语法 四.枚举 1.定义 2.迭代枚举元素 3.在 switch 中使用枚举类 总结 一.继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为 本章就以人.学生.老师作为例子.学生和老师都继承人这个对象,都有人的特征和行为,人就是父类,老师和学生就是子类 示例: 人类: package com.zhouzy.base.t7;

  • 一篇文章带你入门Java修饰符

    目录 定义 分类 访问控制修饰符 非访问控制修饰符 修饰符的使用说明 修饰类 修饰方法 访问控制修饰符 非访问控制修饰符 修饰变量 总结 定义 Java修饰符:修饰符用来定义类.方法或者变量,通常放在语句的最前端. 分类 主要分为2类: 访问控制修饰符 非访问控制修饰符 访问控制修饰符 可以使用访问控制符来保护对类.变量.方法和构造方法的访问.分为以下4中权限:private,default,protected,public. 权限说明: 修饰符 当前类 同包 子类(不同包) 不同包(其他类)

  • 一篇文章带你入门Java继承

    目录 Java中继承 什么是继承: 为什么要用继承: 学习总结: 继承关键字:extends 总结 Java中继承 什么是继承: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 为什么要用继承: 可以去掉重复代码,方便后期维护 举个列子,大家应该都玩过英雄联盟,每个英雄都是一个类,如果说不用继承的话每次都要重复定义每个英雄的成员属性,如下图我举了一个MF,一个EZ的列子 public class MissFortu

  • 一篇文章带你入门Java封装

    目录 什么是封装 如何实现封装 代码展示 构造方法 注意点: 代码展示 总结 封装的优点 什么是封装 Java中的封装是将数据(变量)和作用于数据(方法)的代码作为一个单元包装在一起的机制. 在封装中,类的变量将从其他类隐藏,并且只能通过当前类的方法访问. 如何实现封装 可以分为两步: 第一步:将类的变量声明为private. 第二步:提供公共set和get方法来修改和获取变量的值. 代码展示 public class User { private String name; private in

  • 一篇文章带你入门Java基本概念

    目录 Java基本概念 一.JRE(Java运行时环境) 二.JDK(Java开发工具) 三.Java源代码文件(.class) 四.Java字节码文件(.java) 五.Java虚拟机(JVM) 六.跨平台运行 七.JDK与JRE.JVM的关系? 八.几个结论 总结 Java基本概念 JDK包含了不少Java开发相关命令.如,javac.java.javap.javaw.javadoc.虽然现在的Java开发都使用IDE完成,基本上不会直接使用这些命令.但是理解这些命令的用法,可以让我们更加扎

  • 一篇文章带你入门Java运算符

    目录 算数运算符(Arithmetic operator) 关系运算符(Relational operator) 逻辑运算符(Logical operator) 赋值运算符(Assignment Operators) 三元运算符(Ternary operator) 运算符优先级 标识符的命名规则和规范 关键字定义和特点 保留字 总结 运算符时一种特殊的符号,用以表示数据的运算,赋值和比较等. 算数运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三元运算符 算数运算符(Arithmetic

  • 一篇文章带你入门java泛型

    目录 一.什么是泛型 二.语法 三.示例 1.简单示例 2.返回最大值-支持各种数据类型 3.泛型类 4.类型通配符 总结 一.什么是泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 二.语法 你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数.根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用. 下面是定

  • 一篇文章带你入门java多线程

    目录 一.描述 二.一个线程的生命周期 三.线程的优先级 四.创建线程 五.示例 1.Runnable接口 2.继承Thread 3.Callable 和 Future 创建线程 4.测试 总结 一.描述 Java 给多线程编程提供了内置的支持. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销. 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个

随机推荐