黑马程序员_04_算术_转移_逻辑_位_三元_运算符_判断语句

 
---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
 


0209-0209-0209-0209-0209-0209-0209-0209-


1、算数运算符:
    运算 运算符  范例   结果
    
正号:+      
负号:-

加  :+
减  :-
乘  :*
除  :/ 5/5 1
取模:% 5%5 0


    自增:++ a=2 b=a++ a=3 b=2 
    自增:++ a=2 b=++a     a=3 b=3
    自减:-- a=2 b=a-- a=1 b=2
    自减:-- a=2 b=--a a=1 b=1
    
    字符串相加:+ "He"+"llo"    Hello

2、a%b 如果a<b,那么结果是a;
    如果a=b,那么结果是0;
    如果b=1,那么结果是0;
3、字符串和任何数据使用+都是相连接,最终都会变成字符串。


0210-0210-0210-0210-0210-0210-0210-0210-
转义字符:通过\和替他字母(或者符号)连用改变 原来字母(或者符号)的意义
\n换行
\r按下回车键,
\b退格,相当于backspace键
\t制表符,相当于tab键

System.out.println("I\"Love\"You");结果是:I"Love"You
System.out.println("I\'Love\'You");结果是:I'Love'You
System.out.println("I\\Love\\You");结果是:I\Love\You
2、char a='\n'; 正确
char b='你'; 正确,一个汉字是两个字节,char类型的数据也是两个字节。


0211-0211-0211-0211-0211-0211-0211-0211-
1、赋值运算符
符号:= += -= *= /= %=
思考:
short s=3;
s=s+4;
s+=4;
有什么区别?

s=s+4//编译失败,s会被提升为int类型,结果也是int类型,无法赋值给short类型
s+=4 //编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。
2、比较运算符
符号:== != > >= < <=  ,比较的结果是boolean类型,要么true,要么false


0212-0212-0212-0212-0212-0212-0212-0212-
1、&:与
当两边都是true时,结果是true;
只要有一边是false,结果就是false;
2、|:或
当两边都是false时,结果是false;
只要有一边是true,结果就是true。


3、^:异或
当两边相同时,结果是false;
当两边不同时,结果是true。
4、!:非
5、&&:And
当左边是false时,右边就不运算了,这样可以提高代码的效率。
对于&而言,无论左边的值是true还是false,右边都会运算。
6、||:Or
当左边是true时,右边就不运算了,这样可以提高代码的效率。
|:两边都运算。

0213-0213-0213-0213-0213-0213-0213-0213-
1、左移:<<    左移n位,其实就是乘以2的n次幂
2、右移:>>    右移n位,其实就是除以2的n次幂
3、无符号右移:>>>
   >>:最高位补什么有原有数据的最高位决定。
      如果原有数据的最高位是1,那么就用1补空位。
      如果原有数据的最高位是0,那么就用0补空位。
  >>>:无论原有数据的最高位是什么,右移后都用0补空位。
  
0214-0214-0214-0214-0214-0214-0214-0214-
一个数异或同一个数两次,结果还是那个数。


0215-0215-0215-0215-0215-0215-0215-0215-
【两个数互换值得三种方式】=【1种引入第三方的方式】+【2种不引入第三方的方式】


0217-0217-0217-0217-0217-0217-0217-0217-
1、三元运算符
好处:可以简化if(){}else{}代码
弊端:因为是一个运算符,所以运算完必须得有一个结果。
     故不能出现如下这样的代码:
      int b=4;
      int z;
      z=(b>3)?System.out.println("aaaaa"):300;
2、if语句的三种形式


0219-0219-0219-0219-0219-0219-0219-0219-
1、在switch语句中,被判断的数据的数据类型只能是以下四种:byte short int char
2、case语句和default语句位置可以互换,但是先执行case语句,再执行default语句。
3、switch语句结束有两种情况,一种是执行到break,另一种是执行到switch语句的最后一个花括号 "}"
4、如果匹配的case或者default没有对应的default,那么程序会继续 向下执行,运行可以执行的语句,
   直到遇到break或者switch结尾结束。


4、if 和 switch 的区别:
(1)、if语句可以判断区间,switch也可以判断区间,但是比较麻烦!!
(2)、if语句可与判断布尔类型的结果,但是switch不能。
5、if和switch的选择
(1)、如果需要对具体数值进行判断,且数值不多,那么请使用switch语句,此时switch语句效率相对较高。
(2)、如果需要对区间、布尔类型数据进行判断,那么请选择if语句。



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值