java 基本--数据类型转换--001
小可转大,大转小可能会损失精度(编译出错,需要强制转换)
A: byte,short,char -> int -> long -> float ->double
B: byte,short,char相互之间不转换,他们参与运算首先转换成int
C: int 和float都是4个字节,指的是分配的存储空间一样,但是存储格式不一样
int:普通计数法
float:科学记数法(float型的二进制位里面有一部分表示幂数,科学计数法总是能用更少的文字表示更大的范围,多一个零只需要增加一次幂就可以了)
可以粗略的理解为:int和float整数部分范围一样
D:
int i,int j;//NG
byte b1 = 3, b2 = 4, b3;
b3 = b1 + b2; //NG
b3 = (byte)(b1 + b2); //OK 类型提升
b3 = 3 + 4; //OK 常量,先把结果计算出来,然后看是否在byte范围内,在就不报错
E: 不要随意强制转换,因为隐含精度问题 F:
double d = 3.123; //默认为double类型
folat f = 3.123f;
float f = (float) 3.123;
float f = 3.123 //NG G: a:97,A:65,0:48
System.out.println('a' + 1) //98 H:
System.out.println('a' + 1 + "hello") //98hello
System.out.println("hello" + 'a' + 1) //helloa1 System.out.println("5+5=" +5 +5) // 5+5=55
System.out.pringln(5+ 5+ "=5+5") // 10=5+5 I: float能表示的数据范围比long大,因为底层结构不同
long:2^63 -1
float:3.4*10^38 >2*10^38 >2*8^38 >2*2^3^38 > 2*2^114 J:Java语言中的字符char可以存储中文汉字吗?为什么?
可以,因为java语言中char占两个字符
java语言采用unicode编码 K: byte -128 ~ 127
byte b1 = 127; //127
byte b2 = 128; //-128
byte b3 = 129; //-127
byte b4 = 130; //-126
L:
int y = 10;
y +=20;
System.out.println(y) //30
M:
short s = 1;
s = s + 1; // NG 损失精度
Sysout.out.println(s) short s = 1;
s += 1; // OK 扩展的赋值运算符其实隐含了强制类型转换 == s = (s的类型)(s + 1)
Sytem.out.println(s)
/***八种基本数据类型***/
一个字节1byte==8位==256个数== -128~127
byte: 字节型 1byte
char: 字符型 2byte
short: 短整型 2byte
int: 整形 4byte
float: 浮点型(单精度) 4byte
double: 浮点型(双精度)8byte
long: 长整形 8byte
boolean: 布尔型 1byte //存储的是0或1 占1个字节 但实际用时只会用一个字节的一位,后面的7位不会用到
// 按照ANSI编码标准,标点符号、数字、大小写字母都占一个字节,汉字占2个字节。按照UNICODE标准所有字符都占2个字节
java 基本--数据类型转换--001的更多相关文章
- Java中数据类型转换&基本类型变量和对象型变量
1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型 byte,short,int,lo ...
- Java基础知识强化22:Java中数据类型转换
数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b: long b: float b: double b: 上面的语句可 ...
- Java中数据类型转换大全(个人总结)
一.字符串转换为其他类型 1.将字符串转化为int型 (1)方法一 int i = Integer.parseInt(String str); (2)方法二 int i = Integer.value ...
- java常用数据类型转换
在Java开发过程中经常会涉及到数据类型的转换问题,比如数字型转字符型,字符型转日期型,字符串转数组等等,以及其他类型的强制转换等.经常出现,所以有必要总结一下. 1.如何将字串 String 转换成 ...
- Java基础-数据类型转换
1).简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时. 自动转换 当一个较"小"数据与一个较"大"的数据一起运算 ...
- Java中数据类型转换问题
boolean类型不可以转换为替他的数据类型. Java中byte(8位).short(16位).char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转 ...
- Java高级数据类型转换:包装类、String字符串、Date类等与其他类型转换
1.包装类过渡类型转换 一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了.例如: 当希望把float型转换为double型时: float f1=1 ...
- java的数据类型转换
java中有八种基本数据类型分别是字节型byte.整型int.短整型short.长整型long.单精度浮点型float.双精度浮点型double.字符型char.布尔型boolean.这些基本数据类型 ...
- java中数据类型转换
1.自动类型转换:首先两者数据类型要兼容,且目标类型要大于源类型如(int类型转换成double类型) 2.强制转换:两者数据类型要兼容,会使破坏数据的结构
随机推荐
- 状压搜索 洛谷T47092 作业
TYM 有 nn 本作业,编号为 1,\dots,n1,…,n. 由于 \mathrm{TYM}TYM 很喜欢偷懒,而且不喜欢消耗脑细胞,所以他选择跳着完成这 nn 本作业.此外,如果将做作业的顺序转 ...
- 十分钟搭建和使用ELK日志分析系统
前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为“十分钟搭建和使用ELK日志分析系统”听 ...
- Java设计模式(21)——行为模式之备忘录模式(Memento)
一.概述 概念 UML简图 角色 根据下图得到角色 备忘录角色(Memento).发起人角色(Originator).负责人角色(Caretaker) 二.实践 使用白箱实现,给出角色的代码: 发起人 ...
- Codecraft-18 and Codeforces Round #458:D,Bash and a Tough Math Puzzle
题目传送门 题目大意:Bash喜欢对数列进行操作.第一种操作是询问l~r区间内的gcd值是否几乎为x,几乎为表示能否至多修改一个数达到.第二种操作是将ai修改为x.总共Q个询问,N个数. Soluti ...
- ORB-SLAM(十)LoopClosing Sim3求解
主要参考这篇论文 Horn B K P. Closed-form solution of absolute orientation using unit quaternions[J]. JOSA A, ...
- Ruby 基础教程1-5
1.条件语句 if unless case unless和if相反,条件不成立则执行 2.条件 除了 false和nil 其他都是true 3.unless 语法 ...
- Python 列表下标操作
Python 列表下标操作 引用网址: https://www.jianshu.com/p/a98e935e4d46
- 【独家】K8S漏洞报告 | 近期bug fix解读&1.9.11主要bug fix汇总
*内容提要: 1. Kube-proxy长连接优雅断开机制及IPVS模式实现 2. 10/29--11/19 bug fix汇总分析 3. 1.9.11重要bug fix汇总 在本周的跟踪分析中,以1 ...
- Qt-QML-QML调用C++类
QML用来做界面,在不考虑数据的请款下,那是溜溜的,但是,程序是没有不和后台数据交互的,但是了,QML在数据处理方面的效率又是不敢恭维的,这里就出现了QML负责前端界面,而后端使用JS或者C++了. ...
- Linux命令应用大词典-第43章iptables和arptables防火墙
43.1 iptables-save:保存iptables规则 43.2 iptables-restore:恢复iptables规则 43.3 iptables:IPv4数据包过滤和NAT管理工具 4 ...