首页 > 其他分享 >Day06:运算符详解

Day06:运算符详解

时间:2022-11-09 23:56:02浏览次数:45  
标签:运算 int Day06 System 运算符 详解 println out

运算符

  • 算术运算符:+,-,*,/,%(取余;也叫模运算),++(自增),--(自减)...........
  1. 二次运算符+,-,*,/
int a=10;
int b=20;
int c=50;
int d=100;
System.out.println(a+b); //=30
System.out.println(a*c); //=500
System.out.println(a/d); //=0;值明显错误,因为int运算后都是取整,需要加上强制转换符
System.out.println(a/(double)d); //0.1;正确

不同类型间的二次运算

long a=10000000000000L;
int b=10000;
short c=100;
byte d=10;
System.out.println(a*b);//值为long型;整数型运算中有Long型,结果也为long型
System.out.println(b*c);//=100_0000;int型以下运算结果均为int型
  1. 取余 %
int a=1;
int b=4;
System.out.println(a%b);//=1;  即:1/4=0.........1
  1. 关系运算符 > ,<,==,!=
int a=10;
int b=20;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
//关系运算符返回值只有正确/错误,通常与if一起使用
  1. 一元运算符 ++,--
int a=10;
int b=a++;//首先要清楚a++是什么意思?a++/++a=a+1,但是++在a的后面表示先赋值在执行自增(自减),而++在a的前面则需要先自增(自减)再赋值
int c=++a;
System.out.println(a);//=12;a再两次变量中自增两次,a=a+1+1=12
System.out.println(b);//=10;a++代表先赋值b,再执行自增,则b=a
System.out.println(c);//=12;++a代表先自增,再赋值c,则c=a+1+1=12
  1. 幂运算

在Java中没有幂运算符号^,我们可以通过Math数学工具中找到pow代表幂运算,pow属于double类

double pow=Math.pow(2,3);
System.out.println(pow);//=2^3=8
  1. 逻辑运算符 &&(与),||(或),!(非/取反)
boolean a=true;
boolean b=false;
System.out.println(a&&b);//=false;与:同真为真,有假则假
System.out.println("(a&&b):"+(a&&b));//=(a&&b):a&&b;输出时“字符串”在变量运算前,变量运算值也变成字符串进行拼接
System.out.println(a||b);//=true;或:有真则真,同假则假
System.out.println("(a||b):"+(a||b));//=(a||b):true;输出时“字符串”在变量运算前,变量运算值也变成字符串进行拼接
System.out.println(!(a&&b));//=true;取反:真则是假,假则是真
System.out.println("!(a&&b):"+!(a&&b));//!(a&&b):true;输出时“字符串”在变量运算前,变量运算值也变成字符串进行拼接
  1. 短路运算
int a=10;
boolea b=(a<9)&&(a++>10);
//什么叫短路运算?(a<9)是false,而它与(a++>10)是“与”的关系,此时一个为假,整体为假,电脑节约资源,不会再进行(a++>10)的运算
System.out.println(b);//=false
System.out.println(a);//=10

int c=10;
boolea d=(c<11)&&(c++>10);
//因为(c<11)为true,则(a++>10)会被运算
System.out.println(d);//=false
System.out.println(c);//=11
  1. 位运算(针对二进制)&,|,^(取异),~(取反),>>(右移),<<(左移)
/*
        二进制
A=     0010 0011
B=     1110 0101
A&B=   0010 0001   &:全一为一,有零为零(结合逻辑运算符,同真为真,有假则假)
A|B=   1110 0111   |:有一则一,全零为零(结合逻辑运算符,有真则真,同假则假)
A^B=   1110 0110   ^:相同为零,相异为一
~B =   0001 1010   ~:取相反的数

        二进制            十进制
      0000 0000            0
      0000 0010            2
      0000 0011            3
      0000 0100            4
      0000 1000            8
      0001 0000            16
面试题:如何快速计算2^4的值?
思路:利用二进制;16=2*2*2*2
观察上方十进制2和16对应二进制的值,发现二进制的1向左移动三次得到16;
在Java语言中,位运算符<<是左移的意思,每移动一次,等于乘一次2,同样,>>代表右移,每移动一次,等于除一次2

答案:快速计算2^4的表达式为 System.out.println(2<<3);
*/

  1. 扩展运算符 +=,-=,*=。/=
int a=10;
int b=20;
a+=b;//a+=b含义是a=a+b
a-=b;//a-=b含义是a=a-b
System.out.println(a+=b);//30
System.out.println(a-=b);//10
System.out.println(""+a+b);//1020;输出时“字符串”在变量运算前,变量运算值也变成字符串进行拼接
System.out.println("(a+=b):"+(a+=b));//(a+=b):30;输出时“字符串”在变量运算前,变量运算值也变成字符串进行拼接,但这里(a+=b)有括号,那么括号内的值会运算后作为字符串进行拼接(添加括号,括号内运算有优先级)
System.out.println(a-=b+"");//10;输出时“字符串”在变量运算后,变量运算正常进行
  1. 三元运算符 ?:
/*
x?y:z 假如x为真,则返回y值,否则为z
int score=75;
String state=x<60?"不及格":"及格";
System.out.println(state);//及格
*/

标签:运算,int,Day06,System,运算符,详解,println,out
From: https://www.cnblogs.com/CQliuwei/p/16875612.html

相关文章

  • python选课系统项目详解
    选课系统项目详解选课系统简介及分析选课系统架构设计分析选课系统目录设计管理员视图注册登录创建学校创建课程创建讲师学生视图教师视图选课系统简介及......
  • Docker - Docker Image及Image命令详解
    Docker-DockerImage及Image命令详解什么是镜像(Image)Docker镜像(DockerImage)就是一个只读的模板。比如,一个镜像可以包含一个完整的Ubuntu操作系统环境。镜像可以用来创建D......
  • 5 hadoop3.0配置文件详解
    hadoop配置文件详解主要配置文件:hadoop-env.shcore-site.xmlhdfs-site.xmlmapred-site.xmlyar-site.xmlworkers参考:https://hadoop.apache.org/docs/r3.0.1/htt......
  • 支撑5亿用户、1.5亿活跃用户的Twitter最新架构详解及相关实现
    ​如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭摘要:Twitter出道之初只是个奋斗在RoR上的小站点,而如今已拥有1.5亿的活跃用户......
  • 367页资料详解企业数字化转型,覆盖多行业!附下载
    ​据工信部网站11月8日消息,为助力中小企业数字化转型,工业和信息化部组织相关单位共同研究制定了《中小企业数字化水平评测指标(2022年版)》(以下简称《评测指标》)。《指南》明......
  • nodejs pm2 详解
    一、PM2是什么pm2是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡。它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理......
  • K8S中使用EFK的filebeat配置详解
    前言近期公司不少项目都上了K8S,随着项目越来越多,有时候会出现“服务异常”等情况,需要上到服务器敲一大堆的命令,才有可能找到疑似的异常原因。如果我们将这些数据全部记录到......
  • Nginx配置文件详解
    Nginx的主配置文件是nginx.conf,这个配置文件一共由三部分组成,分别为全局块、events块和http块。在http块中,又包含http全局块、多个server块。每个server块中,可以包含server......
  • 目标检测中的平均精度(mAP)详解--建议收藏+掌握
    导读本文将详细介绍目标检测中的平均精度(mAP),建议收藏并掌握。(公众号:OpenCV与AI深度学习)背景介绍   平均精度(mAP)是用于评估机器学习模型的性能指标。它被PASCALV......
  • 阿里云ecs使用详解
     https://help.aliyun.com/document_detail/151694.html?spm=a2c4g.11186623.0.0.3ac1a6659YY9zX准备工作创建账号,以及完善账号信息。注册阿里云账号,并完成实......