首页 > 编程语言 >java运算符

java运算符

时间:2023-02-14 20:45:23浏览次数:41  
标签:11111111 java 结果 00000000 补码 运算符 int 表达式

java运算符

比较运算符

== :基本类型比较的是数值,引用类型比较的是地址值

!= : 不等比较

三元运算符

表达式?结果1:结果2 三目运算符

int a=10;
int b=5;
int c= a>b?1:2;//c的结果为1。该运算符的含义为 表达式为真则取结果1,为假则取结果2

逻辑运算符

&:


表达式1&表达式2 表达式1与表达式2都为真则结果为真


&&:短路与


表达式1&&表达式2 含义与上相同,区别为,若表达1为假,则无需判断表达式2,结果直接为假


|:


表达式1|表达式2 表达式1和表达式2中有一个为真则为真


||:短路或


表达式1||表达式2 含义与上相同,区别为,若表达式1为真,则无需判断表达式2,结果直接为真


!:非


!表达式 表达式为真则结果为假,表达式为假则结果为真

赋值运算符

= :赋值

int a=1;

+=,-=,*=,/= : 复合的赋值运算

int a=1;
int a+=1;//相当于 int a=a+1;
int a-=1;//相当于 int a=a-1;
int a*=1;//相当于 int a=a*1;
int a/=1;//相当于 int a=a/1;

算术运算符

+,-,*

%: 取余

int a=100%3 //结果为1

/:取整

int a=11/2;  //结果为5

++:自增

int a=1;
int c=++a;//c的结果为2,自增常用于循环中

--:自减

int a=2;
int b=--a; //c的结果为1,自减也常用于循环中

&:按位与

概念:两个数字的补码一 一相对,同为0则为0,0和1则为0,同为1则为1

int a=9;
int b=-9;
int c=4;
int d=8;
int e=a&c;
//结果为0步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//c为4 其补码为     00000000 00000000 00000000 00000100
//按上述计算结果为   00000000 00000000 00000000 00000000
int e=a&d;
//结果为8步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//d为8 其补码为     00000000 00000000 00000000 00001000
//按上述计算结果为   00000000 00000000 00000000 00001000
int f=b&d;
//结果为0步骤如下
//b为-9 其补码为    11111111 11111111 11111111 11110111
//d为8 其补码为     00000000 00000000 00000000 00001000
//按上述计算结果为   00000000 00000000 00000000 00000000
//计算的结果为补码,需要转换为原码再计算值,因为是正数补码与原码相同

|: 按位或

概念:两个数字的补码一 一相对,同为0则为0,0和1则为1,同为1则为1

int a=9;
int b=-9;
int c=4;
int d=8;
int e=a|c;
//结果为13步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//c为4 其补码为     00000000 00000000 00000000 00000100
//按上述计算结果为   00000000 00000000 00000000 00001101
int e=a|d;
//结果为9步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//d为8 其补码为     00000000 00000000 00000000 00001000
//按上述计算结果为   00000000 00000000 00000000 00001001
int f=b|d;
//结果为-1步骤如下
//b为-9 其补码为    11111111 11111111 11111111 11110111
//d为8 其补码为     00000000 00000000 00000000 00001000
//按上述计算结果为   11111111 11111111 11111111 11111111
//该负数对应的原码为 10000000 00000000 00000000 00000001 所以结果为-1    

^ : 异或

概念:两个数字的补码一 一相对,同为0则为0,0和1则为1,同为1则为0,注意与或的区别

int a=9;
int b=-9;
int c=4;
int d=8;
int e=a^c;
//结果为13步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//c为4 其补码为     00000000 00000000 00000000 00000100
//按上述计算结果为   00000000 00000000 00000000 00001101
int e=a^d;
//结果为1步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//d为8 其补码为     00000000 00000000 00000000 00001000
//按上述计算结果为   00000000 00000000 00000000 00000001
int f=b^d;
//结果为-1步骤如下
//b为-9 其补码为    11111111 11111111 11111111 11110111
//d为8 其补码为     00000000 00000000 00000000 00001000
//按上述计算结果为   11111111 11111111 11111111 11111111
//该负数对应的原码为 10000000 00000000 00000000 00000001 所以结果为-1    

~ : 取反

概念:两个数字的补码一 一相对,按位取反,0则取为1,1则取为0

int a=~9;

//结果为13步骤如下
//a为9 其补码为     00000000 00000000 00000000 00001001
//按上述计算结果为   11111111 11111111 11111111 11110110
//该负数对应的原码为 10000000 00000000 00000000 00001010  所以结果为-10

标签:11111111,java,结果,00000000,补码,运算符,int,表达式
From: https://www.cnblogs.com/planted/p/17120827.html

相关文章

  • 逻辑运算符
    逻辑运算符代码示例publicclassoperator{publicstaticvoidmain(String[]args){//与(&&)或(||)非(!)booleana=true;booleanb=false;......
  • Java内部类
    Java内部类内部类介绍在java中,可以将一个类定义到另一个类的内部或者方法内部,这样的类叫做内部类,内部类可以分为:成员内部类、局部内部类、匿名内部类、静态内部类。1.......
  • Java抽象类与接口
    Java中抽象类与接口Java抽象类在java中定义抽象类使用abstract关键字,具体用法如下:abstractclassAbstractClassName{}需要注意的是,定义一个抽象类的类名应该......
  • Java开学测试
    2021级《软件工程》课前测试试卷(180分钟) 河北省环保监测中心网络新闻发布系统(卷面成绩40分,占课程过程考核20分) 1、项目需求:河北省环保监测中心网络新闻为搭建公众......
  • JavaWeb
    JavaWebJavaWeb1、基本概念1.1、前言web开发:web,网页的意思,例如:www.baidu.com静态webHTML,css提供给所有人看到的数据始终不会发生变化动态web淘宝,几乎是所......
  • Java方法
    何为方法:1.方法是语句的集合,它们在一起执行某个功能。2.方法是解决一类问题的有序步骤组合。3.方法包含于类或对象中。4.方法在程序中被创建,在其他地方被引用。方法......
  • java面试总结
    java基础为什么java中只有值传递?java中基本类型是通过copy传递值的,引用类型是通过copy引用传递的,所以java中只有值传递。java序列化java不建议使用自带序列化Serializ......
  • java面试题(七)
    1.21说一说hashCode()和equals()的关系参考答案hashCode()用于获取哈希码(散列码),eauqls()用于比较两个对象是否相等,它们应遵守如下规定:如果两个对象相等,则它们必须有相同的......
  • javascript 高级编程系列 - Web Workers
    Webworkders的规范让javascript在后台运行脱离了UI线程,从而解决了大量计算阻塞UI线程导致卡死的问题。在Webworkers没有出现之前,我们可以使用window.setTimeout异步方......
  • Java 查找Panel 里的某个组件 比如 按钮
    遇到到一个需求,需要获取界面里的一个按钮,但是这个按钮是封装的父类嵌入的,知道label的值。 写了一个递归获取它1privateJButtonLookupTheButton(Componentcontai......