JAVA零基础小白自学日志——第四天

今日目标

掌握运算符(继续学习不光无聊,还逃离不了的内容)

今日主角:运算符

1.赋值运算符:

赋值运算符“=”,记住了这不是我们认为的等于号,不是等于号,不是等于号,重要的事情说三遍;
它的含义是把它右面的东西放到左面的盒子里面,不是左面那个东西等于右面那个东西
基本语法:变量类型 变量名 = 表达式;
例1

    int x = 10;//int 变量类型,x变量名,10表达式,10怎么就是表达式了呢,好吧,我换一下
    int x = 10 + 0;//这回像表达式了吧

例2

    int a,b,c;//这个叫声明变量,上面那个例子只是把声明和赋值放在一起了
    a = b = c = 10;//这样写也没毛病
2.算术运算符:
[1].+加、-减、*乘、/除

没啥可说的,我中心小学肄业都能看明白的,不信你会不明白

[2].%取余(模)运算符

5%2等于1,1就是5/2的余数,说完了,嗯,就能说这么多,再多我也说不出来了

[3].复合运算符(+=、-=、*=、/=、%=)

int a = 5; a += 2; 等价于 int a = 5; a = a + 2;
int a = 5; a -= 2; 等价于 int a = 5; a = a - 2;
int a = 5; a *= 2; 等价于 int a = 5; a = a * 2;
int a = 5; a /= 2; 等价于 int a = 5; a = a / 2;
int a = 5; a %= 2; 等价于 int a = 5; a = a % 2;

    int a = 5;
    a += a += 6;//等价于 a = a + (a + 6);括号的作用等同于代数中括号的作用
[4].自增自减运算符(++、–)

int a = 5; a++;等价于 int a = 5; a = a + 1;
int a = 5; a–; 等价于 int a = 5; a = a - 1;
注意: a++; 单独使用时,也可以写成 ++a;a–;也同理。如果作为表达式或表达式的一部分,那就要小心了,比如:b = a++;运行结果和b = ++a;是不一样的
int a,b; b = a++; 等价于 int a,b; b = a; a = a + 1;
int a,b; b = ++a; 等价于 int a,b; a = a + 1; b = a;
细心的你一定发现不同了,++在后面,就是后做+1的操作,++在前面就是先做+1操作。这个有的时候会把你搞蒙圈,我就被搞蒙了。。。。

3.关系运算符

关系运算符:>、<、>=、<=、==、!=
关系运算符的运算结果为boolean类型

运算符说明举例结果
>大于50>60false
<小于50<60true
>=大于等于50>=60false
<=小于等于50<=60true
==等于(这才是等于)50==60false
!=不等于50!=60true

这个没啥可说的,只有一个字,就是:牢记。

4.逻辑运算符(短路运算符)

逻辑运算符用于连接关系表达式,运算结果也为boolean类型

运算符说明举例结果
&&与运算,运算符两侧表达式必须同时为true,结果为true50>60 && 40<50false
||或运算,运算符两侧表达式一侧为true时,结果为true40<50 || 50>60ture
!非运算,取反!(40<50)false

为什么还叫短路运算符?哇!你是真聪明,问题好刁钻啊,我先看眼书去。。。。。。。
咳咳!我们用&&与运算举例吧,当与运算发现它左侧的关系表达式结果为false时,它就不再检查右侧的表达式结果了,因为与运算有一侧为false,那么结果就为false,这就是所谓的短路,你肯定听明白了。

5.三元运算符(三目运算符)

“?:”Java里唯一的三目运算符
语法:布尔表达式?表达式1 :表达式2;
如果布尔表达式为ture,返回的结果就是表达式1,否则返回表达式2的结果

  int a = 13;
  String b;
  b = (a>18) ? "成年人" : "未成年人"

聪明的你肯定发现了,这等价于:

    int a = 13;
    String b;
    if (a>18){
        b="成年人";
    }else{
        b="未成年人";
    }

挺好玩的一个运算符,用起来应该也挺顺手的,我不知道啊,我瞎猜的。。。。。。

6.instanceof运算符

定义: instanceof运算符的前一个操作数通常是一个引用型变量,后一个操作数通常是一个类,它用于判断运算符前面的引用变量是否是运算符后面的类型,或其子类型的实例。
不明白也别问,问就鸡毛掸子伺候,这段话我打下来就挺不容易的,还要解释?你想多了!不过这么执拗的定义,也证明了,这个运算符不简单,估计有大用,反正我是先PASS了。

7.位运算符

位运算符,顾名思义就是对位进行操作的,怎么感觉说了跟没说一样呢

运算符名称作用
&运算符两侧数元所有相同位都为1,结果为1
|运算符两侧操作数有1相同位为1,结果为1
^异或运算符两侧操作数相同位都不同,结果为1
<<左移操作数所有位向左位移N位,高位丢弃,低位补0
>>右移操作数所有位向右移N位,正值高位首位赋0,负值高位首位赋1
>>>无符号右移不区分正负,操作数所有位向右移N位,高位补0

各位一定都是C语言大神,所以不解释了

8.运算符优先级
括号
一元运算符
算术运算符
关系运算符
逻辑运算符
条件运算符和赋值运算符

优先级由左至右依次递减

又学完一天,这些东西就是背啊背,要变成肌肉反射的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值