运算符与表达式(上)

ca8372f29c5841eeb4413709aeb4e789.gif


一、前言

  • 学习目标 1:熟练掌握基本运算符、连接符、自增、自减
  • 学习目标 2:运用赋值运算、关系运算解决例题

二、基本运算

  • 运算符:对变量进行操作的符号,如+ - * /
  • 表达式:由变量或常量与符号的组合 ,如a>b,a=b

1. 基本运算符

运算符 作用 说明
+ 在Java中可以做连接运算符
- -
* -
/ Java两个整数相除,不保留小数部分 例:6/4=1
% 取余
获取的是两个数据做除法的余数 例:6%4=2

例题 :

  • 利用除和取余运算符,将123拆分成个位、十位、百位后,打印在控制台?
public static void main(String[] args) { int n=123,i,j,k;//初始化变量 i=123%10;//个位 j=(123/10)%10;//十位 k=123/100;//百位 System.out.println(i);//输出结果 System.out.println(j);
        System.out.println(k);
    }

输出结果:

6c8a711b2e5240f19fa59b825ae6f21d.png编辑

2.+” 做连接符

  • +符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串

例题 1:

public static void main(String[] args) {
        System.out.println("字符串"+66);//字符串与数字做链接 System.out.println(66+"字符串");//左右顺序无关 }

输出结果:

76db35576d8f461eb18933d3523bbe94.png编辑

  • 如果是数字,优先计算结果

例题 2:

public static void main(String[] args) {
        System.out.println("字符串"+6+6);
        System.out.println(6+6+"字符串");
    }

输出结果:

79d8f2bb32a34dddba08ce5b4080c46d.png编辑

  • +慢走从左至右依次运算,第一个从左到右先连接字符串6 再 连接字符串66
  • 第二个先计算6+6=12,然后12与字符串连接

3.自增、自减

符号 作用 说明
++
自增
变量自身的值加1
--
自减
变量自身的值减1

特点:

  • ++ 和 -- 既可以放在变量的后边,也可以放在变量的前边。
  • 在变量前 ,先进行变量自增/自减,再使用变量
  • 在变量后 ,先使用变量,再进行变量自增/自减

  • 下面给出了几个案例,面试题可能会考选择题:

例题 1:

public static void main(String[] args) { int i,j;//初始变量 i=5;
        j=i++;//此时先把i=5赋值给j,然后进行i++,i变成6 System.out.println(i);
        System.out.println(j);
    }

输出结果:

d76efbcc163e4b4fbc860be99daa43be.png编辑

例题 2:

public static void main(String[] args) { int i,j;//初始变量 i=5;
        j=++i;//此时先计算++i,i变成6,然后把6赋值给j System.out.println(i);
        System.out.println(j);
    }

输出结果:

3d0f69ba2cf04f078db65589ba6567d5.png编辑

例题 3:

public static void main(String[] args) { int i,j,k;//初始变量 i=10;
        j=5;
        k=i++ + ++i - --j - ++j + 1 + i--; //执行步骤,10  + 12  -  4 -   5 + 1 + 12 System.out.println(i);
        System.out.println(j);
        System.out.println(k);
    }

输出结果:

e02bc3c5b37f49fd84a4c442bd811ef3.png编辑

三、赋值运算

  • 本质:赋值运算其实就是等于例如:a=10,把10赋值给变量a

扩展赋值运算符:

符号 作用 说明
+=
加后赋值
a+=b 等价于 a=a+b
-=
减后赋值
a-=b 等价于 a=a-b
*=
乘后赋值
a*=b 等价于 a=a*b
/=
除后赋值
a/=b 等价于 a=a/b
%=
取余后赋值
a%=b 等价于 a=a%b

例题 :

public static void main(String[] args) { int i,j;
        i=10;
        j=20;
        i+=j;//等价于i=i+j; i=10+20=30 i+=i;//累加给自己i=i+i; i=30+30=60; System.out.println(i);
    } //输出60
  • 注意:扩展的赋值运算符隐含了强制类型转换,赋值给a需要转换成a的类型。

四、关系运算符

  • 定义:对数据进行条件判断的符号,最终会返回一个比较的boolen(布尔)结果,正确为true、错误为false

关系运算符汇总表:

符号 说明
==
a==b,判断a和b的值是否相等,成立为true,不成立为false
!=
a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>
a>b, 判断a是否大于b,成立为true,不成立为false
>=
a>=b,判断a是否大于等于b,成立为true,不成立为false
<
a<b, 判断a是否小于b,成立为true,不成立为false
<=
a<=b,判断a是否小于等于b,成立为true,不成立为false












例题:
    public static void main(String[] args) { int i=10,j=20,k=10;//定义三个变量 //==  System.out.println(i==j);
        System.out.println(i==k);
        System.out.println("----------"); //!=  System.out.println(i!=j);
        System.out.println(i!=k);
        System.out.println("----------"); //>=  <= System.out.println(i>=j);
        System.out.println(i<=k);
        System.out.println("----------"); //= 一个等于是赋值,这里面把j的值先赋值给i,然后输出i System.out.println(i=j);
        System.out.println("----------");
    }

输出结果:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-l5b-D5a6d6LSd,size_17,color_FFFFFF,t_70,g_se,x_16编辑

  • 注意:在做相等判断是,千万不要把 == 误写成 =。一个=是赋值运算,两个=才是关系运算。


#java##Java开发##后端##每天一个行业小知识#
全部评论
这个是经常要用到的,很实用的
点赞 回复 分享
发布于 2022-08-20 12:54 陕西

相关推荐

头像
04-27 15:11
已编辑
华东师范大学 算法工程师
暑期实习从2月开始投,面了两个月,流程该挂的都挂完了,腾讯字节一共号称是1.7w个hc,不知道都发给谁了,估计今年秋招要难顶。Timeline米哈游、美团、蚂蚁、微软等公司直接简历挂穿,没进面。携程:3.3&nbsp;投递、测评3.12&nbsp;笔试3.18&nbsp;一面3.25&nbsp;二面4.13&nbsp;ai面(hr面)4.14&nbsp;英语测评4.23&nbsp;offer(已拒)腾讯:2.6&nbsp;测评2.28&nbsp;wxg一面3.5&nbsp;wxg二面(挂)3.11&nbsp;teg一面3.21&nbsp;teg二面(取消)3.31&nbsp;teg一面4.10&nbsp;teg二面(挂)4.21&nbsp;wxg一面4.24&nbsp;wxg二面(挂)字节:1.28&nbsp;aml约面(取消)3.17&nbsp;火山一面(挂)4.8&nbsp;aml一面(挂)4.20&nbsp;抖音data一面(挂)阿里:3.23&nbsp;投递、测评3.28&nbsp;笔试3.31&nbsp;淘天一面4.8&nbsp;钉钉一面4.9&nbsp;淘天二面4.10&nbsp;阿里控股一面4.12&nbsp;钉钉二面(取消)4.15&nbsp;淘天hr面4.16&nbsp;淘天offer(已接)4.21&nbsp;高德一面(取消)4.22&nbsp;淘宝闪购一面(取消)面试最大的感触是,现在撞上ai转型,一堆老业务急着转向,新业务非常不成熟,研究型的组bar非常高根本进不去,业务侧挂着算法的岗位干的都是工程活,面试却又要问算法,另外agent的落地也远没有那么广,绝大多数还是那套写死的系统调一下llm&nbsp;api或者做做rag,其余少部分真的在搭agent的,基本不能在线上服务用什么很智能的模型,现阶段成本太高,进去大概率就是给垃圾模型从工程方面兜底,除了业务场景的应用和数据经验以外,技术方面很难有什么提升。算法岗做不了基模的还是去搜广推好,之前判断失误了完全没投,秋招不知道还进不进得去。
嵌入式的小白:不错啊,淘天也是挺好的,恭喜
我的求职进度条
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务