`
god_sky
  • 浏览: 140278 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 运算符

    博客分类:
  • java
阅读更多

package com.sky.basic;


public class Operator {
 
 /**
  * 计算运算符:+,-,*,/;
  * @author sky
  */
 private void computOperator(){
  int a=8;
  int b=5;
  //对于除法运算,根据基本类型的自动转换规则,当除数和被除数都是整数时,得到的结果
  //也是整数。因此8/5得到的是1,而不是1.6
  int f=a/b;
  double g=a/b;
  System.out.println("\n\t f=a/b = "+f+"; (g=a/b = )"+g);
  //只要除数和被除数中有一个为double或者float,结果就不同了,8/5.0得到是1.6
  double h=a/(b*1.0d);
  float i=a/(b*1.0f);
  System.out.println("\n\t h=a/(b*1.0d)="+h+"i=a/(b*1.0f)= "+i);
 }
 
 /**
  * 比较运算符:==;<;>;!=;<=;>=;
  */
 private void compareOperator(){
  int a=5;
  int b=10;
  System.out.println("\n\t (a==b)="+(a==b));
  System.out.println("\n\t (a<b) ="+(a<b));
  System.out.println("\n\t(a>b)="+(a>b));
  System.out.println("\n\t(a!=b)="+(a!=b));
  System.out.println("\n\t(a<=b)="+(a<=b));
  System.out.println("\n\t(a>=b)="+(a>=b));
  System.out.println("\n\t(a=b)="+(a=b));
 }

 /**
  * 位运算符:&;|;^;~;>>;>>>;<<;
  */
 private void bitOperator(){
  byte a=23;//"00010111"
  byte b=6; //"00011010"
  //按位与,两个运算数都为1时,结果为1,其余结果为0;
  int c=a&b;//"00010010";
  System.out.println("\n\t (c=a&b)="+c);
  //按位或,两个运算数都为0是结果为0,其余结果为1;
  int d=a|b;//"00011111"
  System.out.println("\n\t (d=a\b)="+d);
  //按位异或,两个运算数相同时结果0,不同时为1;
  int e=a^b;//"00001101";
  System.out.println("\n\t (e=a^b)="+e);
  //按位非,0变1,1变0
  int f=~a;//"11101000";
  //注意:java采用二进制补码存储数字,整数的原码和补码一致
  //对于负数,符号不变,将原码取反然后加1,得到补码,
  //补码"11101000"对应的源码是"10011000"即-24;
  System.out.println("\n\t f"+f);
  //右移,左边空出以符号位填充
  int g=a>>1;//"00001011"
  System.out.println("\n\t (g=a>>1)="+g);
  //右移,左边空出以0填充
  int h=a>>>1;//"00001011"
  System.out.println("\n\t (h=a>>>1)="+h);
  //对负数操作时,>>和>>>得到的结果会不一样
  System.out.println("\n\t (-24>>1) ="+(-24>>1)+";(-24>>>1)="+(-24>>>1));
  //左移
  int i=a<<1;//"00101110"=46
  System.out.println("\n\t (a<<1)="+(a<<1));
 }
 
 /**
  * 布尔运算符:&&;||;!;&;|;^;
  */
 private void booleanOperator(){
  boolean b1=true;
  boolean b2=true;
  boolean b3=false;
  //&&运算符:对运算数进行与运算,当所有运算数都为true时,结果为true,
  //否则结果为false
  if(b1&&b2&&b3){
   System.out.println("\n\t变量b1,b2,b3的值都为true");
  }else{
   System.out.println("\n\t变量b1,b2,b3中至少有一个值为false");
  }
  //注意&&是短路与,意思是:当对运算数的表达式进行从左到右运算时,若遇到有运算
  //数的值为false,则结束运算,将结果置为false
  int i=2;
  int j=0;
  if(b3&&((j=i)==2)){
  }
  System.out.println("\n\t j = "+j);
  if(b1&&((j=i)==2)){
  }
  System.out.println("\n\t j = "+j);
  //||运算符:对运算数进行或运算,当所有运算数都为false时,结果为false,否则结果为true
  if(b1||b2||b3){
   System.out.println("\n\t变量b1,b2,b3中至少有一个的值为true");
  }else{
   System.out.println("\n\t变量b1,b2,b3的值都为false");
  }
  //同样,||是短路或,意思是:当对运算数的表达式进行从左到右运算时,若遇到
  //有运算数的值为true,就结束运算,将结果置为true;
  if(b1||((j=j-1)==1)){
  }
  System.out.println("\n\t j = "+j);
  if(b3||((j=j-1)==1)){
  }
  System.out.println("\n\t j = "+j);
  //!运算符:对运算数的值进行取反运算,运算数位true,取反为false
  if(!b1){
   System.out.println("\n\t变量b1为false,因为b1取反后的值为true");
  }else{
   System.out.println("\n\t变量b1为true,因为b1取反后的值为false");
  }
  //&运算符,和&&一样,对运算数做与操作,不同的是它不是短路的,它会运算完所有的运算数表达式
  if(b3&((j=i)==2)){
   System.out.println("\n\tb3&((j=i)==2):true");
  }else{
   System.out.println("\n\tb3&((j=i)==2):false");
  }
  System.out.println("\n\t j="+j);
  if(b1&((j=j-1)==0)){
  }
  System.out.println("\n\t j="+j);
  //|运算符,和||一样,对运算数进行或操作,但它不是短路
  if(b1|((j=1)==2)){
   System.out.println("\n\t b1|((j=1)==2):true");
  }else{
   System.out.println("\n\t b1|((j=1)==2):false");
  }
  System.out.println("\n\t j = "+j);
  if(b3|((j=j-1)==1)){
  }
  System.out.println("\n\t j = "+j);
  //^运算符,对运算数做异常或操作,相同为false,不同为true
  if(b1^b2){
   System.out.println("\n\t变量b1,b2的值不同");
  }else{
   System.out.println("\n\t变量b1,b2的值一样");
  }
 }
 
 /**
  * 赋值运算符:=;+=;*=;&=;|=;^=;
  */
 private void evalueOperator(){
  //=是最常见的赋值运算符
  int i=5;//变量i 的赋值为5
  //+=运算符是先将运算符左边的运算数的值加上右边的运算数的值
  //将结果再赋值给运算符左边的运算数
  i+=3;//等价于i=i+3;
  i-=3;//等价于i=i-3;
  i*=3;//等价于i=i*3;
  i/=3;//等价于i=i/3;
  i&=3;//等价于i=i&3;
  System.out.println("\n\t(i&3) = "+i);
  i|=3;//等价于i=1|3;
  System.out.println("\n\t(i|=3) = "+i);
  i^=3;//等价于i^=3;
  System.out.println("\n\t (i^=3)="+i);
 }
 
 /**
  * 其他运算符:三元运算符;++;--;-;
  */
 private void otherOperator(){
  int i=5;
  //++是将运算数加1
  //++i表示先将i加1后再进行运算
  if(i++==5){
   System.out.println("\n\t 表达式(i++==5)的值为true");
  }else{
   System.out.println("\n\t 表达式(i++==5)的值为false");
  }
  System.out.println("\n\t i="+i);
  //i++表示先进行运算,再讲i的值加1
  i=5;
  if(++i==5){
   System.out.println("\n\t 表达式(++i==5)的值为true");
  }else{
   System.out.println("\n\t 表达式(++i==5)的值为false");
  }
  System.out.println("\n\t i = "+i);
  //--将运算数减1,同样,--i是将i减1,再进行运算;i--是先进行运算,再将i减1
  i--;
  --i;
  //可以用三目运算符替代简单的if语句
  //格式是:x=a?b:c;如果a的值为true,则将b的值赋予x,否则将c的值赋予x。
  int x=(i>=0)?i:-i;//将一个减号-和数字连用,是取数字的负数
  System.out.println("\n\t i的绝对值为:"+x);
 }
 

 public static void main(String[] args) {
  Operator operator=new Operator();
  System.out.println("\n\t 计算运算符方法的输出:");
  operator.computOperator();
  System.out.println("\n\t 比较运算符方法的输出:");
  operator.compareOperator();
  System.out.println("\n\t 位运算符方法的输出:");
  operator.bitOperator();
  System.out.println("\n\t 布尔运算符方法的输出:");
  operator.booleanOperator();
  System.out.println("\n\t 赋值运算符方法的输出:");
  operator.evalueOperator();
  System.out.println("\n\t 其他运算符方法的输出:");
  operator.otherOperator();
 }

}

分享到:
评论

相关推荐

    Java运算符Java运算符Java运算符Java运算符Java运算符

    Java运算符Java运算符Java运算符Java运算符Java运算符Java运算符Java运算符Java运算符

    java运算符优先级表

    非常详细的java运算符优先级表,帮助记住优先级顺序

    28.java运算符.zip

    28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符...

    java运算符小程序

    这是一个关于java运算符简单的小程序 嘿嘿 欢迎使用

    04-JAVA运算符思维导图

    JAVA运算符思维导图,便捷整理思路,算数运算符、连接运算符、赋值运算符、扩展赋值运算符、三目运算符、逻辑运算符、关系运算符

    javaJava运算符+(优先级、目数)

    Java运算符+(优先级、目数)

    java运算符与优先级

    java运算符与优先级,完善版本。 谢谢,

    Java运算符+(优先级、目数)+.doc

    Java运算符,包括运算符的优先级和目数……

    java运算符大全

    本文件包含详细的java运算符以及运算符优先级

    Java运算符介绍.pptx.pptx

    Java运算符分类 Java运算符主要分为四类:算术运算符、关系运算符、逻辑运算符和位运算符,这些运算符用于实现不同的数学和逻辑功能。 算术运算符介绍 算术运算符包括加、减、乘、除和取余等基本运算,它们可以对...

    Java运算符的使用

    收集了Java运算符,很清楚的用表格显示出它们的使用方法和区别哦! 赶紧下载哦!

    JAVA 运算符的基本了解与使用

    Java 运算符可以分为以下几类:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元运算符等。 1. 算术运算符 算术运算符是最基本的运算符,包括加法 (+)、减法 (-)、乘法 (*)、除法 (/)、取余 (% )...

    java运算符优先级.doc

    Java 运算符优先级和异常处理 Java 是一种面向对象的编程语言,它提供了丰富的运算符和异常处理机制,以帮助开发者更好地编写程序。在本文中,我们将详细介绍 Java 运算符的优先级和常见的异常类型,以及它们的解决...

    java运算符优先级[整理].pdf

    Java 运算符优先级 Java 运算符优先级是指 Java 语言中各种运算符的执行优先级顺序。正确理解运算符优先级对于编写正确的 Java 程序至关重要。 以下是 Java 运算符优先级的详细说明: 1. 点运算符(.) 点运算符...

    java运算符优先级[借鉴].pdf

    Java运算符优先级 Java语言中的运算符优先级是指在Java语言中各种运算符的执行顺序和结合性。了解Java运算符优先级是非常重要的,因为它可以帮助我们正确地编写Java程序,避免一些常见的错误。 以下是Java运算符...

    java运算符

    java运算符

    Java运算符优先级.pdf

    Java运算符优先级.pdf

    Java运算符优先级别.doc

    "Java运算符优先级别" Java 的运算符优先级别是非常重要的知识点,对于 Java 开发者来说是必备的技能。了解 Java 的运算符优先级别可以帮助开发者编写更加清晰、简洁的代码,避免出现不必要的错误。 首先,我们...

    Java运算符

    运算符优先级 ,类型 ,转义字符 ,Math函数 ,数据类型转换

Global site tag (gtag.js) - Google Analytics