java运算符和表达式

原创 2012年03月29日 21:45:20

                            Java第三课  

今天学的是运算符和表达式;

运算符:用于标明对数据执行某种运算的特定符号;

算数运算符:+、—、*/%++、——;

关系运算符:<>>=<===!=;

逻辑运算符:! &&(&)  ||(|)  ^;

位运算符:~&|^<<>>>>>;

赋值运算符:简单赋值(=)、复合算术赋值(+=-=*=/=%=)、复合位运算赋值(&=|=^=>>=<<=>>>=;)

条件运算符:? : 。

首先讲的是算术运算符:有单目运算符和双目运算符、三目运算符;

单目运算符有+-/%(取余);

双目运算符:正、负、++自增、--自减;

三目运算符:?:

Java语言的+可以连接两个字符串;

public class Test  

{

public static void main(String[] args) 

{

int i = 9;

int j;

j = ++ i;      //等价于i=i+1;j=i;

System.out.println("i="+i+"\tj="+j);

j = i ++;       //等价于i=ji=i+1;

System.out.println("i="+i+"\tj="+j);

}

}

可以对char类型的数据可以进行算数计算,而boolean类型数据不可以进行算术计算,因为char类型的数据可以自动转换成整型和float浮点型;'a'

2、关系运算符:用于判断两个操作数的等价性和大小关系得到的类型为布尔类型;为truefalse

class Test2

{

public static void main(String[] args)

{

     int a=4;

 int b=6;

 if(a==b) {

     System.out.println("a 等于 b");

 

 }

        if(a != b)

{

         System.out.println("a 不等于 b");

}

}

}

逻辑运算符:对boolean类型数据进行逻辑上的“与”、“或”、“非”、“异或”等运算,结果仍为boolean类型;、

利用&|作运算时,运算符左右两边的表达式都会被执行,最后两表达式的结果再进行与、或运算;

而利用&&||作逻辑运算时,如果只计算运算符左边的表达式即可确定与、或的结果,则右边的表达式将不会执行。

class TestBooleanOperator

{

      public static void main(String[] args)

{

  boolean b1,b2;

  b2 = false;

  b1 = !b2;

  System.out.println("逻辑值:b1="+b1+",b2="+b2);

  System.out.println("逻辑与:b1&b2="+(b1 & b2));

  System.out.println("逻辑或:b1|b2="+(b1 | b2));

  System.out.println("逻辑异或:b1^b2="+(b1 ^ b2));

  int x=3,y=9;

  b1 = x > y && x++ ==y--;

  System.out.println("短路与的结果:" + b1 + ",x=" + x + ",y=" +y);

  x=3;

  y=9;

  b2 = x > y & x++ == y--;

  System.out.println("逻辑与的结果:"+ b2 + ",x=" + x + ",y=" + y);

  }

}

位运算:对整形或者字符型数据的二进制进行运算,运行结果为一个整数;`

有“&”运算:参与运算的两个值,如果两个相应位都为1,则该位的结果为1;否则为0

|”运算:参与运算的两个值,如果两个相应位有一个为1,则该位的结果为1;否则为0

"^"运算:参与运算的两个值,如果两个相应位都相同,则该位的结果为0;否则为1

还有左移位,右移位,无符号右移;这些举些例子才能明白;

左移位:int 3<<2  //3的二进制数向左平移两位,右边补0

  00000000 00000000 00000000 00000011

向左移两位右边补零;

  00000000 00000000 00000000 00001100

左移位:int 2227>>3 //

00000000 00000000 00001000 10110011

//向右移两位,原来右侧的奖杯弃掉;

00000000 00000000 00000001 00010110

无符号右移位在负数上才能体现不同;无论正负空出来的位补零;

赋值运算符:变量=表达式;

功能:是将运算符“=”右侧表达式的计算赋值给左侧的变量;这个就不用仔细讲了

条件运算符:

<表达式1> <表达式2><表达式3>

表达式1必须是boonlean类型的,系统将首先计算表达式1的值,如果该值为ture,则将表达式2的值作为整个表达式的最终结果,否则将表达式3的值作为整个表达式的最终结果;

获取输入对话框的值,这个我也不是很清楚,但基本结构还是知道的,

首先在类的上面加上一个头文件,import  javax.swing.JOptionPane(*);

然后可以将数字的字符串形式转换为整数。Integer.parseInt(s)方法将数字的字符串表示形式s转换为其等效的有符号整数;

例如:int score

score = Integer.parseInt(JOptionPane.showInputDialog(“请输入百分制成绩:”))

String result=(score>=60)?"及格":“不及格”;

表达式:由若干个操作数和运算符按照约定规则构成的一个序列。

数据类型转换:

如果(byteshort)和int->int;

     (byteshortint)long---->long

     (byteshortintlong)和float--->float;

      (byteshortintlongfloat)和double--->double;

   charint---->int; 

强制类型转换:(目标数据类型)  变量或表达式

例:(float5/9*(f-32)   //该表达式将int型常量5强制转换成5.0fl,在和9整除;

强制类型转换时,由于目标数据类型的取值范围小于待转换数据类型的取值范围,在转换过程中会出现截断,导致高位数据丢失或精度下降。

版权声明:本文为博主原创文章,未经博主允许不得转载。

java第3章 运算符表达式和语句

  • 2013年05月17日 13:22
  • 320KB
  • 下载

java基本类型、运算符、和表达式

  • 2015年03月29日 00:36
  • 372KB
  • 下载

java基础之运算符表达式,语句

Java基础第二篇--------算术运算符,表达式,语句    一、运算符 1.1  加减运算符: + , - ; 乘,除和取余运算符:*,  / ,   %     自增,自减运算符: ...

[笔记][java 4 android] [007~019]运算符、表达式、函数、对象、继承等

【007】运算符和表达式 Tips: 1、& 和 &&(| 和 ||) 普通逻辑运算下基本相同,不同的是以下: public class test{ public static ...

[Java4Android 07_运算符与表达式

  • 2014年09月07日 09:30
  • 27.22MB
  • 下载

Java语言基础-4.运算符与表达式

运算符与表达式 1、数学运算:+ - * / % ++ – 注意事项: A.+-*/两端的变量必须是同种类型,并返回同种类型 ; B.%取余运算,负数的余数符号与被模数符号相同,-1%...

3-Java运算符、表达式

  • 2016年04月30日 17:55
  • 19.51MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java运算符和表达式
举报原因:
原因补充:

(最多只允许输入30个字)