A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Maoyumu 初级黑马   /  2018-10-7 17:44  /  600 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数据类型转换
当数据类型不一样时,将会发生数据类型转换
自动类型转换(隐式)
1特点:代码不需要特殊处理自动转换
2规则:数据范围从小到大
int-long,符合从小到大,发生自动类型转换

从小到大byte-short-char-int-long-float-double
一般的对象:int  double


强制类型转换(显示)
long-int 不是从小到大,不能自动类型转换
强制
1特点:代码需要特殊的格式处理,不能自动完成
2格式:范围小的类型,范围小的变量名 =
(范围小的类型) 原来范围大的数据
int num = 100L报错
int num = (int)100L;成功
注意事项
1强制类型转换,会丢失超过范围的数据;
强制类型转换一般不推荐使用,有可能发生精度损失,数据溢出
2:byte/short/char这三种类型都可以发生数学运算,例如加法“+”

计算机的底层会用一个二进制数字来代表字符A
就是65.
一旦char类型进行了数学运行,那么字符就会按一定的规则被翻译成一个数字。

3:byte/short/char这三种类型在进行计算时,都会先背提升为int类型。
byte+byte--》int+int————》int
byte+short--》int+int————》int
byte+short--》(short)(int+int)————》short

4:boolean类型不能发生类型转换
----------------------------------------------------------------------------------
ASCLL码(美国)
字符0-->48    字符A-->65   字符a-->97  
char zifu1 = '1'
System.out.println(zifu1 + 0);可以查询其ASCLL码   中文也可以这样查询
·
Unicode码表:万国码。也是数字和符号的对照,开头0-127部分和ASCLL完全一样,但是从128开始包含有更多字符。

常用的编码:GBK  UTF-8
重点保持编码格式相同通常是UTF-8
比较运算符
==比较2边是否相等 相等结果是true
!= 不等于符号 两边数据不相等结果是true
1注意
比较运算符是一个boolean值,成立是true
不成立是false
如果多次判断不能连写,1<x<3不允许这种写法


逻辑运算符
与(并且) &&  全都是true,才是true,
或(或者) ||  只要有一个true才是true
非(取反) !   本来是true,变成false
true&&false  false
true&&true   true
3<4&&10>5 true

true||false  true
false||false false
3>4||5<6 true

!true  false
!false true

短路
&&,||具有短路效果
如果根据左边就可以得到最终结果,右边代码将不再执行,从而节省一定的性能。

注意事项
1逻辑运算符只用于boolean值
2与,或左右都要一个boolean值,单取反只要一个就行
3与,或运算符,如果有多个运算符可以连续写
多个条件 A&&B&&C
YTIPS
1<x<2
1<x&&x<3

三元运算符(重要)
一元 取反! 自增++ 自减--  一个数据
二元 加法+  赋值=          两个数据
三元 数据类型 变量名称 = 判断条件? 表达式a:表达式B;

流程
首先判断条件是否成立
如果成立为true, 将表达式a 的值赋给左侧的变量
如果不成立为false, 将表达式b赋给左侧的变量
int a = 10  int b = 20
int max = a>b? a : b;最大的变量
注意
1必须同时保证表达式A和表达式B
都符合左侧数据类型的要求
判断5是不是奇数
boolean b = 5%2 == 1 ?true:false


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马