IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 我的Java之路——数据类型 -> 正文阅读

[Java知识库]我的Java之路——数据类型

每日一语?

世界上没有强大的敌人,只有不够强大的自己。

前言:

本博客是按照狂神的Java视频来写的,如果我写的哪个地方有错误还请大家斧正,这也是我第一个Java博客,也希望大家多多支持,大家也可以去看看狂神的Java哦!!!

目录

Java——数据类型

Java的数据类型分类

①基本类型(primitive)

数值类型

布尔类型

?八大基本数据类型

②引用类型 (reference)

数据类型扩展?

1.整数扩展:进制?

?2.浮点数扩展

3.字符拓展

4.转义字符

类型转换

JDK新特性

解决一些溢出问题


Java——数据类型

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

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

例子:

Java的数据类型分类

①基本类型(primitive)

数值类型

整数类型

byte占1个字节范围.
short 站2个字节范围.
int占4个字节范围.
long 占8个字节范围.

浮点类型

float占4个字节范围
double占8个字节范围

字符类型

char占2两个字节

布尔类型

占1位其值只有false和true。

?八大基本数据类型

②引用类型 (reference)

引用类型包括:

1.类。

2.接口。

3.数组。


数据类型扩展?

1.整数扩展:进制?

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


?2.浮点数扩展

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

例:

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

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

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


3.字符拓展

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

我们可以举例看一下:

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

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


4.转义字符

样式含义
\1231~3位八进制数据所表示的字符,如\256
\uF8904位十六进制数据所表示的字符,如\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;
//两者是输出相同的

?

解决一些溢出问题

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

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

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

我们来看结果!!!

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

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

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

我们来试试:
?

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

我们呢看一下结果:

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

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

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

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


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

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

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

冲起来!!!!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-29 12:51:50  更:2021-10-29 12:52:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:58:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码