day02Java3.3~3.4数据类型和标识符

数据类型

数据类型:Java是一种强类型语言,针对每一种数据都给出了明确的数据类型

数据类型分类:

1.基本数据类型

四类八种

(1)整数 占用字节数

​ byte 1

​ short 2

​ int 4

​ long 8

(2)浮点数

​ float 4

​ double 8

(3)字符

​ char 2

(4)布尔

​ boolean 1

2.引用数据类型(类/接口/数组)

注意:1.整数默认是int类型,浮点数默认的是double类型

​ 2.定义long类型数据的时候,要加L或者l,建议加L;

​ 定义float类型的时候,要加F或者f,建议加F

标识符

标识符:就是给包,类,方法,变量起名字的符号。

组成规则:A:unicode 字符(数字字符、英文大小写、汉字-不建议使用汉字)

​ B:下划线_

​ C:美元符$

注意事项:1.不能以数字开头

​ 2.不能是Java中的关键字

常见命名规则:

1.基本要求、见名知意

2.常见的命名

​ a:包(其实就是文件夹,用于对类进行管理)

​ 用法:全部小写,多级包用.隔开

​ 举例:com,com.itheima

​ b:类

​ 一个单词首字母大写

​ 举例:Student,Car

​ 多个单词每个单词的首字母大写

​ 举例:HelloWorld

​ c:方法和变量

​ 一个单词首字母小写

​ 举例:age,show()

​ 多个单词从第二个单词开始每个单词的首字母大写

​ 举例:maxAge,getAge()

*/

public class BiaoZhiFu {

​ public static void main(String[] args) {

​ //定义变量

​ //数据类型 变量名 = 初始化值;

​ int a = 10;

​ //正确

​ int b2 = 20;

​ //错误

​ //int 2b = 30;

​ //不能是java中的关键字,错误

​ //int public = 40;

​ }

}

java中float、double、long类型变量赋值添加f、d、L尾缀问题

原因:(转载自CSDN 无鞋童鞋)

1. 添加尾缀说明

我们知道Java在变量赋值的时候,其中float、double、long数据类型变量,需要在赋值直接量后面分别添加f或F、d或D、l或L尾缀来说明。
  其中,long类型最好以大写L来添加尾缀,因为小写l容易和数字1混淆。
  例如:

long lNum  = 1234L;
float fNum = 1.23f;
double dNum = 1.23d;123

这是Java语法规定,不添加尾缀很容易引起编译器报错,并且程序可读性也会变差。

2. 不添加尾缀也不会报错的情况

Java语言中,整数直接量(例如:1、2、10等),JVM虚拟机是默认为int类型数据的。所以,当整数直接量赋给long、float或者double,而不添加尾缀,虚拟机也会直接将int类型数据自动转换为对应类型然后赋值。因为数据长度短的转换为长的并不会造成数据丢失,所以默认可以自动转换。 
  例如:

long  lNum  = 5;   //不报错,因为int自动转换为long类型,不会报错
float fNum  = 7;   //不报错,因为int自动转换为float类型,不会报错
double dNum = 10;  //同上123

但是,当浮点直接量(例如:1.2等),JVM虚拟机默认为double类型,如果直接赋值给float就会引起编译器报错。

float fNum  = 1.2; //报错,因为1.2虚拟机是默认为double类型,不能直接赋值给float类型变量
float fNew  = 1.3f;//正确,因为尾缀添加了f,即告诉了虚拟机1.3属于float类型变量12

3. 总结

所以,当Java中遇到这三种类型变量需要赋直接量时候,最好都添加上相应的尾缀。这样不仅会防止编译器报错,也会增加程序的可读性。
  但是下面这种情况就算添加尾缀也是错的,因为尾缀仅是为了告诉虚拟机该直接数属于什么数据类型,而不能实现数据类型强制转换。

long lNum = 1.2L;      //错误,double类型数据不能直接赋值给long类型
long lNew = (long)1.2; //正确,double类型数据强制转换为long类型

个人学习记录,由于能力和时间有限,如果有错误烦请读者纠正,感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值