栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaSE查漏补缺1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSE查漏补缺1

目录

1.标识符

2.八大基本类型

3.引用类型数据

4.基本数据类型拓展

5.类型转换


1.标识符

概念:Java所有组成部分都需要名字, 关键字、类名、变量名、以及方法名等都被称为标识符。

标识符大小写敏感,

Java标识符,只能以字母、美元符$、下划线_ 三者之一开始,后续可以是字母、美元符、下划线、数字任意组合。

2.八大基本类型

整数有4个:分别为 byte short int long
浮点数有2个:float double
字符有1个: char
boolean有2个: true, false;

这里尤其注意,浮点数就是小数的意思,字符串 String不是基本数据类型,是一个类。

3.引用类型数据

类、接口、数组

4.基本数据类型拓展

 得出结论:最好完全避免使用浮点数进行比较。

图片中代码输出的原因在于:基本数据类型float和double的区别 - 天天xiangshang - 博客园 (cnblogs.com)

那么,银行业务如何进行表示钱的数目? 一般使用 BigDecimal这个类进行处理!

 

所有的字符本质是数字,计算机的底层实现全是01,通过编码来实现字符和01之间的对照关系。

 为什么会出现这种输出?

在java中==和equals()的区别_CoderLC的博客-CSDN博客_java中==和equals

new string()和直接赋值的关系和异同_Nicolas Lee的博客-CSDN博客

Java中String直接赋值与使用构造方法new String()赋值的区别_任性的萝卜的博客-CSDN博客

总结:简单理解就是 == 比较的是两个变量是不是同一个内存地址(比较的是地址),而 equals 比较的是两个地址里面的内容是否一样(比较的是内容)。

5.类型转换

运算中,不同类型的数据先转换成同一类型,再运算!

注意:char也在里面,因为字符的底层是数字。且float32位,long64位,为什么float排在后面,这和两者的表示范围有关系。

强制 / 自动 类型转换:

出现这种问题的原因是内存溢出,byte的表示范围是 -128 ~ 127 

强制类型转换语法是: 高---> 低(类型)变量名

自动类型转换语法,低---> 高 直接写即可!

注意:转换的时候可能存在内存溢出或者精度问题

 

 a * b计算结果超出了 int型数据表示范围,所以会溢出。

long total2 = a * b;  在这个表达式中,乘积结果是先计算出来并存储在int型中(默认是int),再转换成long型。在转换之前,问题已经存在了。

long total3 = a * (long)b;  在计算之前,会先将两个数据转化为同一类型long,所以乘积结果保存在long型中,故能计算出正确的结果。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777334.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号