how2j.cn


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


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



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



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

当以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 :

浮点数字面值

edit
当以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 :

字符和字符串字面值

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

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

需要注意的是,\表示转义,比如需要表示制表符,回车换行,双引号等就需要用 \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 :

练习-字面值

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

比如

b = 12;


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

b= 250;
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

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


以下是答案,仅供参考
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公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-10-17 Syntax error on token ";", , expected
hhhhhwzy

为什么在public class 里面写byte b;b=8; 就会在b后面那个分号显示Syntax error on token ";", , expected




6 个答案

冬冬97
答案时间:2022-07-15
meiyou

行业
答案时间:2022-03-11
GGP
答案时间:2022-01-28
炽热流星
答案时间:2021-12-11
geigei
答案时间:2021-10-30
/** * 变量系列教材 (二)- Java中有八种基本变量类型 * @author hezhen * */ public class bianliang { public static void main(String[] arges) { byte b; b = 112; short s; s = 16777; int i ;i = 1236789674; float f;f = 1278890899; long l ; l=12312312L; double d ;d = 123.46786786786786786787667867866786; char c ;c= '文'; String str;str = "不可预测"; System.out.println(b+" "+s+" "+i+" "+f+" "+d+" "+c+" "+str ); } }

清心
答案时间:2021-10-19
你这很明显呀,分号写错了。。。



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2021-07-04 给数据类型找对象
白日梦家




给数据类型找对象
public class Hero {
    public static void main(String[] args) {
        //整数型byte < short < int < long
        //byte的范围:-128 ~ 127
        byte b  = 127;
        short s = 1270;
        int i   = 12700;
        long l  = 127000;
        //浮点型float < double
        float f  = 12.777f;
        double d = 12.77777;
        //字符型
        char c = '勇';
        //字符串型
        String str = "勇者得前,充啊!";

        System.out.print(b + " " + s + " " +  i + " " + l + "\n" + f + " " + d + "\n" + c + "\n" + str);
    }
}

							


9 个答案

0805_3
答案时间:2022-06-29
/** *定义如下变量,然后为每种不同类型的变量赋予合法的字面值 * byte b; * short s; * int i; * long l; * float f; * double d; * char c; * String str; **/ public class Literal { public static void main(String[] args) { byte b = 12;//-128-127 short s = 900;//-32768-32767 int i = 1520; long l = 300L; float f = 3.4527f; double d = 3.1415; char c = '看'; String str = "你看"; } }

qbm
答案时间:2022-01-16
JZLong
答案时间:2021-11-03
happar886
答案时间:2021-10-18
Equation方程
答案时间:2021-08-31
byte b; b = 1; short s; s = 128; int i; i = 2000; long l; l = 2000L; float f; f = 3.56423f; double d; d = 3.14; char c; c = "a"; String str; str = "Equation";

莫名的奇妙
答案时间:2021-07-31
tjy0429tjy
答案时间:2021-07-25
FalconF
答案时间:2021-07-23
定义如下变量,然后为每种不同类型的变量赋予合法的字面值 byte b; short s; int i; long l; float f; double d; char c; String str;

Xxie
答案时间:2021-07-09
127 1270 12700 127000
12.777 12.77777
勇
勇者得前,充啊!



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-06-22 进制描述错误
2021-01-22 byte b=200;为什么是非法的呀?
2021-01-15 转义是什么意思呢?


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 44 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-变量-字面值 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图