三、Java基础(2)

1.基本数据类型转换

1)boolean不参与基本数据类型转换。

2)基本数据类型的精度排序

byte  < short < char < int < long < float < double

3) 隐式数据类型的转换  [自动数据类型转换]

数据类型精度低的转换成数据类型高的这个过程就是隐式数据类型转化。

低👉高        隐式数据类型转换[自动数据类型转换]

4)显式数据类型转换  [强制数据类型转换]

数据类型精度高的转换成数据类型精度低的这个过程就是显式数据类型转换。

高👉低         显式数据类型转换[强制数据类型转换]

转换格式:

        格式:  低数据类型  变量名称 = (低数据类型)   高[值/变量];

转换char与int

5)int 转换成 byte  特殊的

byte转换成int---隐式数据类型转换【自动数据类型转换】

int转换成byte---显式数据类型转换【强制数据类型转换】

1.当整数int转换成byte时,int取值正数超过byte范围以后,会从byte最小值向前推进计算。

2.当整数int转换成byte时,int取值负数超过byte范围以后,会从byte最大值向后推进计算。

2.Java中的运算符

2.1  赋值运算符  =

2.2  算术运算符  

  • +   

         数字    👉   加法 

        字符串   👉   拼接的作用

  •  -        数字  👉   减法 
  •  *        数字  👉   乘法 
  • /          数字  👉   除法 
  • %        数字  👉   取余(取模) 
  • ++       数字  👉   自增(自己+1)
  • --         数字  👉   自减(自己-1)

2.3  比较运算符   

>  

大于返回一个boolean(布尔值)

<  

小于

>=  

大于等于

<=  

小于等于

==  

等于
!=不等于

2.4   逻辑运算符  

操作符描述例子
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。(A && B)为假。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。(A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。!(A && B)为真。

{位运算符  |  &  !  ~  ^  >>  << }

位运算符需要将数据转换成2进制【00101010】数据进行运算

掌握10进制转2进制 :短除法[笨]  8421码转化法

1024  512  256  128  64  32  16  8  4   2   1

7=4+2+1—     0    0    0    0    0   0   0  0  1   1   1  --- 00000111

13=8+4+1--   0    0    0    0    0   0   0  1  1   0   1  --- 00001101

负数的2进制:实质上补码表示

正数的补码是本身

负数的补码是反码+1

反码的表示方法是:

正数的反码是其本身【原码】

负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

原码就是符号位加上真值的绝对值,即用第一位表示符号, 其余位表示值.

-7--7的2进制--00000111--[-7的源码]10000111---[-7的反码]11111000--[-7的补码]11111001

 

操作符描述例子
按位与 相同1为1,不同为0

(7 & -7)

0000 0111 (7二进制)

1111 1001  -7二进制反码

00000001 得 1

|如果相对应位都是 0,则结果为 0,否则为 1

(7 | -7)

0000 0111

1111 1001

1111 1111  (反码)

得 -1

^如果相对应位值相同,则结果为0,否则为1

(7 ^ -7)

0000 0111

1111 1001

1111 1110 (反码)

得 -2

按位取反运算符翻转操作数的每一位,即0变成1,1变成0。

(〜 - 7)

1111 1001

0000 0110

得到6

<< 按位左移运算符。左操作数按位左移右操作数指定的位数。

7 << 2

0000 0111

0001 1100

得 28

>> 按位右移运算符。左操作数按位右移右操作数指定的位数。

7 >> 2

0000 0111

0000 0001

得 1

>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。7 >>>2得到1 

 

面试题:最有效率的方法算出2乘以8等於几?  2<<3; 表示2 向左移3位

2.5 三元运算符   

格式:

【(判断)? 数据值1 :数据值2】

先判断,判断结果为true,整运算表达式的结果取数据值1

判断结果为false,整运算表达式的结果取数据值2

无奈源于不够强大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值