java 算术运算符

合集下载

Java编程基础及应用第3章运算符、表达式和语句

Java编程基础及应用第3章运算符、表达式和语句

(1)左移位运算符
左移位运算符的符号为“<<”,是二元运算符。左移位运算符左
面的操作元称为被移位数,右面的操作数称为移位量。

例如:a<<n运算的结果是通过将a的所有位都左移n位,每左移一 个位,左边的高阶位上的0或1被移除丢弃,并用0填充右面的低位 。
3.1.5 移位运算符

(2)右移位运算符
3.1.7 条件运算符

条件运算符是一个多元运算符,它的符号是“? : ”,需要连接三
个操作数,用法如下:a?b:c,要求a的值必须为boolean型数据 。运算法则是:当a的值为true时,a?b:c运算的结果是b的值;
当a的值是false时,a?b:c运算的结果是c的值。

例如: 8>2?10:20的结果是10;
// DevideTest2.java public class DevideTest2 { public static void main(String[] args) { int a = 13, b = 4, k; float f1, f2; k = a / b;//整数相除,结果仍为整数 f1 = a / b;//将整数结果强制转换为浮点型 f2 = (float) a / b;//将a强制转换为浮点 型,结果则为浮点型

(4)“按位异或”运算符
“^”是双目运算符。对两个整型数据a、b按位进行异或运算,运 算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位
相同,则c的该位是0,否则是1。

例如:1001001和0101001进行“异或”运算,表达如下, 1001001 ^0101001 1100000

按照运算类型,可以将运算符分成以下几类:算术运算符,关系

java结构化程序设计(一)

java结构化程序设计(一)

书上29页
2.3. 控制语句


(2)再思考:定义一个int变量x并赋值[0-100]。 当x<60,输出“不及格”,当60<=x<80输出 “良”,当80=<x<100输出“优” 用 if -- else if – else 语句来完成
Int x=78; ….
2.3. 控制语句


(2)再思考:定义一个int变量x并赋值[0-100]。 当x<60,输出“不及格”,当60<=x<80输出 “良”,当80=<x<100输出“优” 用 if -- else if – else 语句来完成
例4: int x=10,y=2,z; System.out.println("x="+(++x)+"+y="+(x+y));
3.算术混合运算的精度
精度从“低”到“高”排列的顺序是: byte short int long float double Java将按运算符两边的操作元的最高精度保留结果的精度, 例如: 5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。 char型数据和整型数据运算结果的精度是int。例如: byte x=7; 那么 ‘B‟+x; 的结果是int型,因此下列代码结果是什么? char ch=‟B‟+x; Example2_2_3.java
练习Example2_2_2:
例1: int x=10,z; z=x++;
例2: int x=10,y=2,z; z=x+++--y;
2.自增,自减运算符:++,-

java基础语法2-运算符与流程控制

java基础语法2-运算符与流程控制

java基础语法2-运算符与流程控制关键字-标识符-常量和变量-运算符-流程控制-⽅法-数组5 运算符算术运算符Arithmetic Operators赋值运算符Assignment Operators⽐较运算符Compare Operators逻辑运算符Logic Operators位运算符Bitwise Operators三元运算符Ternary Operator5.1算术运算符Arithmetic Operators注意:1.除法操作两个操作数是整数时,结果也是整数,余数部分舍弃int x = 3500;System.out.println(x / 1000 * 1000);2.%操作获得的是除法操作的余数%结果的符号取决于被模数,即%前⾯的数的符号决定了结果的正负5.1.1++,--++:⾃加放在变量前,先⾃增,再使⽤放在变量后,先使⽤,后⾃增--:⾃减放在变量前,先⾃减,后使⽤放在变量后,先使⽤,后⾃减注意:只能对变量使⽤练习题:练习题1:int a = 10;int b = 10;int c = 10;a = --c;b = c++;c = ++a;经过以上操作,abc的值分别是多少?练习题2:int a = 4;int b = (++a)+(a++)+(a*10);经过以上操作,ab的值分别是多少?练习题5.1.2字符串参与运算:1.两个操作数都是字符串2.⼀个字符串⼀个变量3.多个操作数“+”除了字符串相拼接功能外,还能把⾮字符串转换成字符串,加空串即可String s = 5 + "";思考:System.out.println("5+5="+5+5);//打印结果是?System.out.println(5+5+"hello");思考5.2扩展的赋值运算符符号: = , +=, -=, *=, /=, %=(扩展的赋值运算符) 左侧为变量,右侧为字⾯量,或变量,或表达式⽰例: int a,b,c; a=b=c=3;//⽀持连续赋值 int a = 3;a += 5; //等同运算:a=a+5;思考:short s = 3;s = s + 2; //报错s += 2; //扩展的赋值运算符会默认做强制的类型转换s=(short)(s+2)s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。

Java语言中的表达式

Java语言中的表达式

Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。

在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。

一、算术运算符所谓算术运算符,也就是我们数学中学到的加、减、乘、除等运算。

这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系统在运算的过程中会做相应的转换。

1所谓数字精度,也就是系统在做数字之间的算术运算时,为了尽最大可能地保持计算机的准确性,而自动进行相应的转换,将不同的数据类型转变为精度最高的数据类型。

规则如下:1)当使用运算符把两个操作数结合到一起时,在进行运算前两个操作数会转化成相同的类型。

2)两个操作数中有一个是double类型的,则另一个将转换成double型。

3)两个操作数中有一个是float类型的,则另一个将也转换成float型。

4)两个操作数中有一个是long类型的,则另一个将也转换成long型。

5)任何其它类型的操作,两个操作数都要转换成int类型。

2对于int型的相关操作,加、减、乘的结果都是非常容易理解的,重点讲一下除(/)的运算。

两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算。

整除的余数是用%表示,例如15 / 2 = 7,而不是7.5,15 % 2 = 1。

我们用程序验证一下:/*两个整数相除及求余数*/public class Divide{public static void main(String[] args){int a = 15;int b = 2;double c = 2;System.out.println(a + "/" + b + "=" + (a / b));System.out.println(a + "%"+ b + "=" + (a % b));System.out.println(a + "/" + c + "=" + (a / c));System.out.println(a + "%" + c + "=" + (a % c));}}输出结果:15 / 2 = 715 % 2 = 115 / 2.0 = 7.515 % 2.0 = 1.03在循环与控制中,我们经常会用到类似于计数器的运算,它们的特征是每次的操作都是加1或减1。

java中number值加减乘除

java中number值加减乘除

Java中Number值的加减乘除在Java中,我们可以使用各种数据类型来存储和操作数字值。

Number是一个抽象类,它是所有数值类型的基类。

Java提供了几个具体的Number子类,如Integer、Double、Long等,用于表示不同类型的数值。

本文将介绍Java中Number值的加减乘除运算,并提供一些示例代码来帮助理解。

1. 加法运算在Java中,可以使用+运算符对两个Number对象进行加法运算。

当我们对两个不同类型的Number对象进行加法运算时,Java会自动进行类型转换,并返回一个与操作数类型相同的结果。

以下是一个示例代码:Integer num1 = 5;Double num2 = 2.5;Number sum = num1 + num2; // 自动类型转换System.out.println("Sum: " + sum);输出结果为:Sum: 7.52. 减法运算与加法类似,可以使用-运算符对两个Number对象进行减法运算。

同样地,Java会自动进行类型转换,并返回一个与操作数类型相同的结果。

以下是一个示例代码:Double num1 = 5.8;Integer num2 = 3;Number difference = num1 - num2; // 自动类型转换System.out.println("Difference: " + difference);输出结果为:Difference: 2.83. 乘法运算乘法运算可以通过*运算符来实现。

同样地,当我们对两个不同类型的Number对象进行乘法运算时,Java会自动进行类型转换,并返回一个与操作数类型相同的结果。

以下是一个示例代码:Integer num1 = 5;Double num2 = 2.5;Number product = num1 * num2; // 自动类型转换System.out.println("Product: " + product);输出结果为:Product: 12.54. 除法运算除法运算可以通过/运算符来实现。

运算符和表达式

运算符和表达式
static void prt(String s){
System.out.println(s);
}
static void pInt(String s, int i){
prt(s + " = " + i);
}
// shorthand to print a string and a float:
static void pFrt(String s, float f){
(7)算术运算符的操作数必须是数字类型的,不能在布尔型上使用算数运算符,但可以在char类型上使用,是因为Java中的char类型本质上是int型的一个子集;
(8)如果一个表达式中同时包含了几个加法和减法运算,那么操作运算符按照从左到右的顺序求值;
2.3.3关系运算符
关系运算符用来比较两个数据,确定一个操作数与另一个操作数之间的关系,即进行关系运算,关系运算符如表2.9所示。返回布尔类型的值为true或false。若关系是真实的,关系表达式会生成true(真);若关系不真实,则生成false(假)。
1.一元算术运算符
一元算术运算符涉及的操作数只有一个,一个算术表达式是由一个操作数和一个一元算术运算符构成的。一元算术运算符共有四种,如表2.7所示。
表2.7 一元算术运算符
运算符
名称
表达式
功能
+
一元加
+opt1
取正值
-
一元减
-opt1
取负值
++
增量
++opt1
加1
--
减量
--opt1
减1
一元加和一元减运算符仅仅表示某个操作数的符号,其操作结果为该操作数的正值或负值。增量运算符将操作数加1,如对浮点数进行增量操作,则结果为加1.0;减量运算符将操作数减1,如对浮点数进行减量操作,则结果为减1.0。

java3 表达式及语句

java3 表达式及语句

运算符与表达式
5.移位操作符 与表达式 移
<<(左移) >>(右移 >>>(无符号右移 右移) 无符号右移) <<(左移) >>(右移) >>>(无符号右移) 左移 左移位:空位补0 左移位:空位补0 右移位:正数补 正数补0,负数复制高位 右移位 正数补 负数复制高位 无符号右移:空位补0 无符号右移:空位补 例如: 例如:4<<3,-4<<3,4>>3,-4>>3, 4>>>3 公式:左移位 左移位( 公式 左移位(y=a<<x;y=a*2x) 公式:右移位(y=a(a为正数)>>x;y=a/2x) 公式 右移位(y=a(a为正数)>>x;y=a/2 右移位 为正数)>> 公式:右移位 y=a(a为负数)>>x;y= 右移位( 为负数)>>x;y=公式 右移位(y=a(a为负数)>>x;y=-a/2x+1) 公式:无符号右移 y=a(a为正数)>>>x;y=a/2 无符号右移( 为正数)>>> 公式 无符号右移(y=a(a为正数)>>>x;y=a/2x)
语句
2)循环语句 )
for循环语句 循环语句
for (表达式1;表达式2;表达式3) { 若干语句 }
a. b. c. 表达式1负责完成变量的初始化 表达式 负责完成变量的初始化 表达式式2是值为 表达式式 是值为boolean型的表达式, 型的表达式, 是值为 型的表达式 称为循环条件 表达式3用来修整变量, 表达式3用来修整变量,改变循环条件

java的表达式

java的表达式

java的表达式Java是⾯向表达式的语⾔,Java中⼀个简单表达式可以是下⾯任意⼀种:●常量:7、false。

●单引号括起来的字符字⾯常量:'A'、'3'。

●双引号括起来的字符串字⾯常量:"foo"、"Java"。

●任何正确声明的变量名:myString、x。

●任何⽤Java⼆元运算符(本章稍后将详细讨论)连接起来的两个上述类型的表达式:x+2。

●任何⽤Java⼀元运算符(本章稍后将详细讨论)修饰的单个上述类型的表达式:i++。

●任何⽤⼩括号括起来的上述类型的表达式:(x+2)。

以及另外⼀些与本书后⾯将要学到的对象有关的表达式类型。

⽆论多么复杂的表达式都可以由不同类型的简单表达式和括号嵌套组合⽽成,例如:((((4/x) + y) * 7) + z)。

⼀、算术运算符Java语⾔提供了许多基本的算术运算符,如表2-1所⽰。

表2-1 Java算术运算符运算符描述+加法-减法*乘法/除法%取余数 10%3=1+和-运算符也可作为⼀元运算符⽤于表⽰正负数:-3.7、+42。

除了简单赋值运算符=,还有许多特定的复合赋值运算符,这些运算符将变量赋值和算术操作合并在⼀起,如表2-2所⽰。

表2-2 Java复合赋值运算符运算符描述+=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最后要介绍的两个算术运算符是⼀元递增运算符(++)和⼀元递减运算符(--),⽤于将整数变量的值加1或减1,或者将浮点数变量的值加1.0或减1.0。

称它们为⼀元运算符是因为它们⽤于单个变量,⽽前⾯讨论的⼆元运算符则连接两个表达式的值。

⼀元递增运算符和⼀元递减运算符也可⽤于将字符变量在Unicode序列中向前或向后移动⼀个字符位置。

例如,在下⾯的代码⽚段中,字符变量c的值从'e'递增为'f':char c='e';c++; //⾃加后,c='f'递增和递减运算符可以以前缀或者后缀⽅式使⽤。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面的程序说明了模运算符的用法,代码如下
public class moBase
{
public static void main(String[] args)
{
int a=25;
double b=42.65;
System.out.println("25 mod 3的余数是:"+a%3);
System.out.println("42.65mod 4的余数是:"+b%4);
System.out.println("c的值是:"+c);
System.out.println("d的值是:"+d);
}
}
执行上述代码,结果如图3-6所示。
图3-6基本算术运算符
2.模运算符
取模运算(%)是求两个数相除的余数。在Java中,模运算符“%”不仅可以应用于整数类型,还可用于浮点类型。例如,在整除中25%3等于1,而42.65%4等于2.65。
如果自增或自减运算符在操作数之后,Java会先将操作数的值用于表达式,然后再进行自增或自减运算。
下面的程序说明了自增和自减运算符,代码如下:
public class incDec{
public static void main(String[] args)
{
int a=10;
int b=20;
int c=a++;
int d=++b;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
}
}
执行上述代码,结果如图3-8所示。
图3-8输出运算结果
++和- -运算符常用在循环语句中,对控制变量进行加1或减1运算,使程序代码简洁,运行速度快。
java
算术运算符是对数据型数据(包括整数和实数)进行运算,运算符的类型可分为byte、long、float和double。算术运算符也可以对char类型的数据进行运算,因为char实际上是int的一个子集。
但是,算术运算符不能对boolean类型进行算术运算,而算术表达式一般只含算术运算符和数值型数据,计算结果是一个整数或实数。Java定义的算术运算符如表3-4所示。
}
}。
由上图可以看出第一个表达式的值是1,第二个表达式的值是2.65。这两个结果不同是因为在第一个表达式中a为整型,根据类型转换规则,a%3的值应为整型;而第二个表达式中b为浮点型,根据类型转换规则,值应为浮点型。执行上述代码,结果如图3-7所示。
图3-7模运算结果
3.自增和自减运算符
++和- -分别是java的自增和自减运算符。它们是两个一元运算符,其运算数必须是变量。自增运算符使操作数加1,而自减运算符使操作数减1。因此,下面的两个语句的效果一样。
表3-4 Java定义的算术运算符
运算符
意义
运算符
意义
+

%
求余
-

++
自增
*

--
自减
/

1.基本算术运算符
基本算术运算符如加、减、乘和除,可以对所有的数字类型操作。记录对整数进行“/”除法运算时,所有的余数都要被舍去。乘、除和取余运算优先级高于加和减。
下面是一个基本算术运算符的简单实例。代码如下:
public class base
{
public static void main(String[] args)
{
//用整型变量实现各个基本算术运算符的功能
int a=3*7;
int b=a+5;
int c=b-4;
int d=c/2;
System.out.println("a的值是:"+a);
System.out.println("b的值是:&43;;
a=a-1;等同于a- -;
自增和自减运算符既可以放在操作数前面,也可以放在操作数的后面。例如:
a=a+1;可以被写成++a;//前缀形式
或者是a- -;//后缀形式
如果自增或自减运算符在操作数之前,Java会在表达式的其余部分使用操作数之前,先对相应的操作数进行自增或自减运算,然后参与表达式的运算。
相关文档
最新文档