JAVA运算符与程序结构学习总结

  先补充一个关于之前学习数据类型的问题,就是小于4字节的类型的处理问题,byte short char这三个数据类型在存储时仍然保留其类型,当这三个类型参与运算时,CPU都是以4字节为基础进行读写内存的,因此这三个类型参与运算时会统一提升为int类型然后参与运算,例如:

   首先是String类型与int之间的转换问题,这是个重点,这在我们日常登陆APP的时候就会用到,例如:

 1.int -> String 在JAVA中任何其他类型与字符串对象“+”都会将其他类型转换为字符串类型然后进行的字符串的拼接操作,任意整型+“”;//int + String -> String + Sting;如下:

  2.调用String提供的valueOf方法

3.String -> int  调用整型包装类Intger的parseInt方法,要调用这个放法,字符串必须是由纯数字组成的字符串,若包含除了数字以外的其他类型,char都不行,调用这个方法就会报错,还有超过了整型的保存范围,也会报错,如下:

   第二个内容,算数运算符,计算结果,要么是是整数,要么是小数。

  1.基本的数学四则运算 + - * / % ,值得注意的是int/ int = int,会自动省略小数部分 int a = 3 / 2 = 1;

   2.增量运算符 += -= *= %=

   3.自增/自减运算符 ++ --,分别表示给自变量+1和-1,而前置自增 =>表示先进行自增操作而后取值 ++a,后置自增 =>表示先取值,然后进行自增操作 a++,如下:

   第三个内容,关系计算符:计算结果为布尔值,要么是ture,要么是false,== ,!=,<,>,<=,>=; 如下:

  第四个内容,逻辑运算符,运算结果也为布尔值  &&,||,!;

  1.逻辑与:&&,就是现实生活中的并且关系,语法规则:表达式1 && 表达式2,表达式1和表达式2都必须为布尔表达式,得到的也为boolean值,当且仅当表达式1和表达式2都为true,逻辑与才会返回true,有一个false,直接返回false!

  2.逻辑或 ||,就是现实生活中的或者关系,语法规则:表达式1 || 表达式2,两个表达式都为false,才会返回false,有一个true,则返回true。

 

  3.逻辑取反!。

 4.关于逻辑运算符的短路求值问题,表达式1 && 表达式2:当表达式1为false,表达式2压根不会计算,直接返回false,表达式1 || 表达式2:当表达式1为true,表达式2不会计算,直接返回true,如下: 

  第五个内容,位运算符:直接在二进制位上进行操作的运算符,&  |  ~  ^

  1.按位与  &,如果两个进制位都为1,则返回1,否则返回0。

 

   2.按位或 | ,两个二进制位都为0,返回0,否则返回1。

  3.按位异或:两个二进制位相同返回0,不同返回1

  可以巧用异或运算定位一组数据中不同的一个数,不断进行异或运算,所有出现两次的数最终都会经过异或运算变为0,只出现一次的这个数和0做异或运算就是本身,最终的结果就是只出现一次的数字,例如:

 5. 按位取反  ~:符号位也会变化,正数变为负数,负数变为正数,结果减一。

  第六个内容,位移运算  << , >>:直接在二进制位上进行操作的运算符,x << 1:二进制位最右侧补一个0,相当于x * 2, x >> 1:二进制位最左补个0,相当于x / 2,如下·:

  第七个内容,条件运算符,三目运算符,条件判断的一个简化写法:x = 表达式1 ? 表达式2 : 表达式3,若表达式1是真的,则x取表达式2的值,若表达式1是假的,则x取表达式3的值,另外表达式2和表达式3必须是同类型的,否则会发生隐式转换,三目运算符不能单独存在,必须使用一个变量来接收三目运算符的返回值。

   接下来是程序结构的学习内容,程序逻辑就是书写代码执行代码的顺序。

  第一种是顺序结构,按照代码书写的顺序一行行顺序执行(多线程场景下,执行顺序不一定严格按照书写顺序执行)

 多线程场景

   第二种是分支结构

  1.if.. else分支

2.if... else if..else分支,可以有多个else if分支,但每个分支都要是互斥的,非此即彼,只能走一个分支 

 

 以上就是我对学习运算符与程序逻辑的一个总结

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值