我的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了!!!!


冲起来!!!!


目录
相关文章
|
4月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
56 1
|
3月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
84 2
|
1天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
4月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
57 1
|
4月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
47 0
|
4月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
45 0
|
4月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
33 0
|
27天前
|
Java
Java基础之数据类型
Java基础之数据类型
20 6
|
28天前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
54 7
|
1月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
58 4
下一篇
DataWorks