一、字面值定义

创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象。 

给基本类型的变量赋值的方式叫做 字面值,示例如下:

float hp = 313f;

int armor = 24;

二、整数字面值

  • 当以l或者L结尾的时候,一个整数字面值是long类型,否则就是int类型。 建议使用大写的L而非小写的l,因为容易和1混淆。
  • byte,short,int和long的值都可以通过int类型的字面值来创建。整数的字面值可以用如下四种进制来表示:
    • 十进制: 基 10, 包含从0-9的数字,平常用的就是这种
    • 十六进制: 基 16, 包含从0-9的数字,和从A-F的字母。
    • 八进制: 基 8, 包含从0-7的数字
    • 二进制: 基 2, 包含0和1。(从 JAVA7开始就可以创建 二进制的字面值了)

public class HelloWorld {

public static
void main(String[] args) {

long val = 26L; //以L结尾的字面值表示long型

int decVal = 26; //默认就是int型

int hexVal = 0x1a; //16进制

int oxVal = 032; //8进制

int binVal = 0b11010; //2进制

System.out.println(oxVal);

}

}

三、浮点数字面值

  • 当以f或者F结尾的时候,就表示一个float类型的浮点数,否则就是double类型(以d或者D结尾,写不写都可以)。
  • 浮点数还可以用E或者e表示(科学计数法)
    • e2表示10的二次方,即100
    • 1.234e2 = 1.234x100

public class HelloWorld {

public static
void main(String[] args) {

float f1 = 123.4F;// 以F结尾的字面值表示float类型

double d1 = 123.4;// 默认就是double类型

double d2 = 1.234e2;// 科学计数法表示double

}

}

四、字符和字符串字面值

  • 字符的字面值放在单引号中
  • 字符串的字面值放在双引号中
  • 需要注意的是,\表示转义,比如需要表示制表符,回车换行,双引号等就需要用 \t \r \n \" 的方式进行

public class HelloWorld {

public static
void main(String[] args) {

String name = "盖伦";

char a= 'c';

//以下是转义字符

char tab = '\t'; //制表符

char carriageReturn = '\r'; //回车

char newLine = '\n'; //换行

char doubleQuote = '\"'; //双引号

char singleQuote = '\''; //单引号

char backslash = '\\'; //反斜杠

}

}

五、练习及答案

题目:

定义如下变量,然后为每种不同类型的变量赋予合法的字面值

byte b;

short s;

int i;

long l;

float f;

double d;

char c;

String str;

比如:

b = 12;

如果写成,就会报错,是非法的(因为b是byte类型的,250超过了byte类型的范围)

b= 250;

官方答案:

public class HelloWorld {

public static
void main(String[] args) {

byte b = 24;

short s = 250;

int i = 1400000000;

long l = 3000000;

float f = 9.11f;

double d = 0.618;

char c ='胖';

String str ="您的身材已经被和谐";

}

}

个人整理答案:

Java知识系统回顾整理01基础03变量03字面值-LMLPHP

05-16 12:06