我的Java之路——数据类型

简介: 我的Java之路——数据类型

Java——数据类型

众所周知Java是一个强类型语言,什么是强类型语言呢?


答:要求变量的使用要严格符合规定。所有变量都必须先定义后才能使用(安全性高,速率慢!)


例子:


image.png


Java的数据类型分类

①基本类型(primitive)

数值类型

整数类型


byte占1个字节范围.

short 站2个字节范围.

int占4个字节范围.

long 占8个字节范围.


浮点类型

float占4个字节范围

double占8个字节范围


字符类型

char占2两个字节


布尔类型

占1位其值只有false和true。

八大基本数据类型

image.png


image.png




②引用类型 (reference)

引用类型包括:


1.类。

2.接口。

3.数组。

数据类型扩展

1.整数扩展:进制

二进制0b,八进制0,十进制,十六进制0x。


image.png


2.浮点数扩展

注:float是离散,有限,舍入误差,大约,接近不等于。


例:

image.png



我们可以看到的是0.1不等于0.1,c=c+1。


这个就和float有关了,即在上面强调float的特点。最后也总结出来一个道理:


最好完全避免使用浮点数进行比较!!!


3.字符拓展

所有的字符本质都是数字!!!


我们可以举例看一下:

image.png



把字符a强制转换为整数型,对应的数字是 97。这个是为什么呢?


答:在底层有一个Unicode编码:表(a:97,b:98......)每一个字符都对应有相应的数字!!!


4.转义字符

样式 含义

\123 1~3位八进制数据所表示的字符,如\256

\uF890 4位十六进制数据所表示的字符,如\u0014

’ 单引号字符

\ 反斜杠字符

\t 水平制表符

\v 垂直制表符

\r 回车

\n 换行符

\b 退格

\f 换页

\a 响铃

类型转换

低————————————————————————————>高


byte,short,char ——>int ——>long——>float——>double


注:小数的优先级大于整数!!!


例:


int i = 128;
byte b = (byte)i;
//这个转换时有溢出

输出为-127(因为有溢出)


强制转换格式:(类型)变量名


强制转换是由高到低,自动转换是由低到高。


注意一些转换的情况!!!


不能对布尔值进行转换。

不能把类型转化为不相干的类型。

在把高容量转换到低容量的时候,强制转换。

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

JDK新特性

这个是我们补充的一个地方,下面的例子是可以用到的。


首先先介绍一下JDK的新特性:数字之间是可以用下划线分隔的,这样可以更清楚的分别位数!!!


int money = 1000000000;
int money1 = 10_0000_0000;
//两者是输出相同的

image.png

解决一些溢出问题

首先我们来看下面这段代码:


     

int money1 = 10_0000_0000;
          int years = 20;
          int total = money1 *years;
          System.out.println(total);

我们来猜一下这个结果是200000000000还是什么呢?


我们来看结果!!!

image.png



可能有基础的小伙伴已经直到这个是为啥了,就是因为溢出问题 。


我么在思考一下,如果我们在total前面加个long呢???


是不是这样他就不会在溢出了???


我们来试试:


     

int money1 = 10_0000_0000;
          int years = 20;
          long total = money1 *years;
          System.out.println(total);

我们呢看一下结果:

image.png



还是溢出!!!这是为什么呢?


其实在运算前money和years就是默认为int类型,在转换前就已经出现溢出问题了!


那我们怎么来解决这个溢出呢?


我们就可以用类型转化了哦!我们来看代码:


   

int money1 = 10_0000_0000;
          int years = 20;
          long total = money1 *((long)(years));
          System.out.println(total);

这样输出的结果就是我们想要的结果了哦!

image.png



今天的Java分享就结束了,我就要正式进入Java了!!!!


冲起来!!!!


目录
相关文章
|
3月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
55 1
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
70 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
52 1
|
3月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
38 1
|
3月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
43 0
|
3月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
42 0
|
3月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
31 0
|
10天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
33 4
|
8天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
22 1
|
23天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
33 0
[Java]“不同族”基本数据类型间只能“强转”吗?