how2j.cn

创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象。
给基本类型的变量赋值的方式叫做 字面值,如下所例:
float hp = 313f;
int armor = 24;

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



8分57秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



示例 1 : 整数字面值   
示例 2 : 浮点数字面值   
示例 3 : 字符和字符串字面值   
示例 4 : 练习-字面值   
示例 5 : 答案-字面值   

示例 1 :

整数字面值

当以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); } }
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);
    }
}
示例 2 :

浮点数字面值

当以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 } }
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
	}
}
示例 3 :

字符和字符串字面值

字符的字面值放在单引号中

字符串的字面值放在双引号中

需要注意的是,\表示转义,比如需要表示制表符,回车换行,双引号等就需要用 \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 = '\\'; //反斜杠 } }
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 = '\\'; //反斜杠
		
	}
}
示例 4 :

练习-字面值

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
定义如下变量,然后为每种不同类型的变量赋予合法的字面值
byte b;
short s;
int i;
long l;
float f;
double d;
char c;
String str;

比如

b = 12;


如果写成,就会报错,是非法的

b= 250;
示例 5 :

答案-字面值

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

5分44秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


以下是答案,仅供参考
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 ="达成了生命中的大和谐"; } }
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 ="达成了生命中的大和谐";
    }
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2017-12-04 交作业
java_Sh
package j2se; public class VariableNumber { public static void main(String[] args) { byte b = 127; short s = 25535; int i = 1216041003; long l = 9100101198305300883L; float f = 3.1415926f; double d = 3.1415926; char c = 'π'; String g = "3,5,10,19,单精度,双精度,圆周率,字符串"; } }








答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-12-02 假如为了省事把数字都用double定义,字符都用String定义,会有什么后果?
登陆
如题,这种习惯是不是很不好?




2 个答案

天刚刚破晓丶 答案时间:2017-12-04
交作业

z跑跑 答案时间:2017-12-02
我想可能会造成存储空的浪费,例如8,你用byte就行了,但你用了int,不就申请了多余的存储空间 (个人理解)




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-12-02 如果为了省事把数字都用double定义,字符都用String定义,会有什么后果?
2017-11-10 float hp = 313;
2017-11-10 逻辑混乱
2017-11-06 使用制表符后运行结果和站长的不一样
2017-10-28 如果字面值数字默认是int的话,那short i = 5 是不是实际上已经被系统执行成short i = (short)5 还是 这里的字面值已经变成了short的了
2017-10-28 如果字面值数字默认是int的话,那short i = 5 是不是实际上已经被系统执行成short i = (short)5 ?
2017-07-10 使用char类型定义汉字会报错
2017-05-01 如何输出八进制?
2016-04-16 2进制
2016-04-16 不懂int可以创建16进制跟2进制的意思
2016-02-28 浮点数用e表示




提问之前请登陆
关于 JAVA 基础-变量-字面值 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 389538688
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图