Java 数据类型转化
Java类型转化
基本数据类型自动类型转换
基本数据类型之间的运算规则
前提:这里讨论7种基本数据类型变量间的运算,不包含布尔类型。

1.string是class类型
2.定义long型变量,必须以”l”或”L”结尾
3.定义float型变量,变量要以”f”或”F”结尾
4.char型初始化要有值,单引号括住
自动类型提升
byte/short/char -> int -> long -> float->double
当byte/short/char三种类型(同类型也是)做运算时,结果至少用int接收
java在做运算时,如果操作数均在int范围内,那么一律在int的空间内运算
强制类型转换 - 自动类型提升的逆运算
(强制转换的类型)xx
特殊情况
情况1:long l = 12315465111 会把12315465111当作int型(此时会编译失败因为超出int的范围),类型提升到long型
情况2: 浮点型默认的是double,所以float型后面一定需要添加f/F
int与long
将long型转化为int型
long a = 10;
int b = (int)a;
将Long型(包装类)转换为int型
Long a = 10;
int b=a.intValue();
将int型转化为long型
int a = 10;
long b = a;
将Integer型(包装类)转化为long型
int a = 10;
Long b = a.longValue();
int类型与String类型
int类型转换成String类型
方法1:+ 拼接空串
String str = n + "";
方法2:String.valueof()
value值为其他类型
String s = String.valueOf(value);
String类型转换成int类型
方法1:Integer.parseInt(str)
Integer.parseInt(str,[进制])
说明
目的是输出一个十进制数
参数
str表示输入的字符串
参数2表示当前的str是几进制,默认是十进制
扩展:包装类.parseXxx(String str)
String转换为其他类型
byte b = Byte.parseByte( str );
short t = Short.parseShort( str );
int i = Integer.parseInt( str );
long l = Long.parseLong( str );
Float f = Float.parseFloat( str );
Double d = Double.parseDouble( str );
char数组类型与String
String转换为char[]类型
方法1:str.toCharArray()
char[] stringToChar=str.toCharArray();
Char[] 类型转换成String
方法1:String的构造器方法
String str = new String(arr);
集合Collection与数组
coll转换成数组
方法1:coll.toArray()
toArray有两个重载的方法:
1.list.toArray():将list直接转为Object[] 数组;
2.list.toArray(T[] a):将list转化为你所需要类型的数组。
案例:转换成二维数组
return list.toArray(new int[list.size()][]);
数组转换成List
方法1:Arrays.asList(arr)
使用场景
生成一个不可更改的list
说明
1.该方法适用于对象型数据的数组(String、Integer...)
2.该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
3.该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新
4.不支持add()、remove()、clear()等方法。用此方法得到的List的长度是不可改变的
List arr = Arrays.asList(new int[]{123,456})会把new int[]{123,456}整体看成一个元素,基本数据类型数组会被看成一个整体。
可以写成 List arr = Arrays.asList(123,456)
案例
return list.toArray(new int[list.size()][]);
Java 数据类型转化的更多相关文章
- mysql-数据类型与java数据类型转化工具类
mysql和java对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.Stri ...
- 2、数据类型和运算符——Java数据类型
一.强类型语言和弱类型语言: 1.1 强类型语言 强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括Java..net .Pyt ...
- Java数据类型分析
Java的简单数据讲解列表如下: int:int为整数类型,存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0. ...
- 回顾java基础—Java数据类型
1 java数据类型.8种基本类型,3种引用类型 基本类型(也称:原始类型):byte.short.int.long.char.float.double.boolean 引用类型:类,接口,数组 2 ...
- JAVA数据类型,变量,转换,常量,运算符
java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...
- 多态、GC、Java数据类型
多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...
- java数据类型定义与输出
JAVA数据类型分基本数据类型和引用数据类型. 一.基本数据类型 Java里面包含8个基本数据类型,分别是: boolean.byte.char.short.int.float.douboe.long ...
- java数据类型图:
java数据类型图: ┏数值型━┳━整数型:byte short int long ┏基本数据类型━━┫ ...
- java数据类型学习
java数据类型基本分为两类: 一类为基本数据类型: 数值类型: 整数类型:byte.short.int.long 浮点类型:float.double 字符类型:char 布尔类型:boolean 一 ...
随机推荐
- 洛谷 P2252 [SHOI2002]取石子游戏|【模板】威佐夫博弈
链接: P2252 [SHOI2002]取石子游戏|[模板]威佐夫博弈 前言: 第一眼大水题,第二眼努力思考,第 N 眼我是大水逼. 题意: 不看题目标题都应该能看出来是取石子类的博弈论. 有两堆石子 ...
- 算法:九宫格问题--奇数阶魔方(Magic-Square)
一.魔方介绍 魔方(这里是简称,也可以叫幻方.魔术矩阵,Magic Square)是 n×n 正方形网格(n 为每侧的单元数),里面每个单元格填充了不同的正整数 1, 2, 3, ... , n2,并 ...
- 字典树(Trie)
终于学会字典树了,真开心(然后就滚过来写总结了). 首先,字典树到底是个什么东西呢?请看下面这段话: 字典树,常被用来保存与查找大量的字符串,它利用了字符串之间的公共前缀来节约时间,但它的空间花费较大 ...
- hdu 3635 Dragon Balls(并查集)
题意: N个城市,每个城市有一个龙珠. 两个操作: 1.T A B:A城市的所有龙珠转移到B城市. 2.Q A:输出第A颗龙珠所在的城市,这个城市里所有的龙珠个数,第A颗龙珠总共到目前为止被转移了多少 ...
- hdu 2190 重建希望小学(数学,递推)
题意: N*3的教室,有2种砖,2*2.1*1. 问铺设教室的方案有多少种.(要铺满) 思路: 画一下图可以很快发现递推公式 代码: int main(){ int a[35]; mem(a,0); ...
- Linux题目学习
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点来标识 ...
- 2万字|30张图带你领略glibc内存管理精髓(因为OOM导致了上千万损失)
前言 大家好,我是雨乐. 5年前,在上家公司的时候,因为进程OOM造成了上千万的损失,当时用了一个月的时间来分析glibc源码,最终将问题彻底解决. 最近在逛知乎的时候,发现不少人有对malloc/f ...
- 【浏览器】聊聊DOM
[浏览器]聊聊DOM 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 作为前端开发,在以前的工作中大多是和DOM打交道,到 ...
- 前端调试工具DevTools处理网络请求
DevTools处理网络请求 位置:network 1.是否启用网络处理功能 2.清除历史 3.过滤器,自定义筛选 4.是否保留先前的历史,因为每次刷新会删除历史重新加载,选中后新老请求都在可做对比 ...
- es date_histogram强制补零
es补零 GET /cars/transactions/_search { "size" : 0, "aggs": { "sales": { ...