关于++,--在不同位置的相关运算

++在前先做+1运算,再将+1后的结果输出去;++在后,先将值拿出去运算,再将i的值+1,看例子。

public class HomeWork02
{
public static void main(String[] args)
{
int a = 4;
int b = 3;

int c = (a++)%2 + (--b)*3 - (a++)/3 + (b--);
/*
                4%2   +   2*3   -    5/3      +     2
     a:5         b:2         a:6           b:1

第一个++在后,拿4去对2取余,然后a+1,变成5,再看第二个式子,--在前,先将b-1,得到2,b的值变为2,再用2去乘3

第三个式子++在后,a的值在第一个式子结束就变成了5,这就用5去除以3,然后a的值+1,变为6,再看第四个式子,--在后,

b的值是在第二步变为了2,就减2,然后输出b的结果就是2-1=1,所以最后a的值为6,b的值为1,c的值为7.。
*/
System.out.println("a:"+a+",b:"+b+",e:"+e);//6,1,7

时间: 2024-10-29 00:51:31

关于++,--在不同位置的相关运算的相关文章

matlab矩阵合并及相关运算

1.matlab允许向量(和矩阵)合并,且matlab提供了两种合并方式,[a,b]和[a;b],两者的结果是不一样的. a=rand(2,3): b=rand(2,3): c=[a;b]: d=[a,b]: c的结果是将b整体合并到a 的下边,而d的结果是整体将b合并到a 的右边. 2.创建等差向量组 a=[1:2:11] 注意涉及到向量内部对应数据之间的运算时一定要用点运算符号,(.)例如,求表达式b=a^2时应该写作 b=a.^2 也可以利用linspace来创建等差向量,linspace

js 时间函数 及相关运算大全

js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-

opencl(十)----标量、向量类型的相关运算

OpenCL operators 参考:https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/ int4 vec = (int4)(1, 2, 3, 4); vec += 4://每一个元素加上4 vec &= (int4)(-1, -1, 0, -1); //按位与 vec.s01 = vec.s23 < 7; // true -1 , false 0 数据传输操作 相同类型的数据直接使用"="进行

运算符的重载(复数的相关运算)

运算符的重载实际是一种特殊的函数重载,必须定义一个函数,并告诉C++编译器,当遇到该重载的运算符时调用此函数.这个函数叫做运算符重载函数,通常为类的成员函数.    定义运算符重载函数的一般格式: 返回值类型 类名::operator重载的运算符(参数表) {--} operator是关键字,它与重载的运算符一起构成函数名.因函数名的特殊性,C++编译器可以将这类函数识别出来. 具体的加减乘除等代码运算如下: #include<iostream> #include<string>

两个大数之间的相关运算

1 import java.util.Scanner; 2 3 /* 4 进行大数相加,只能对两个正数进行相加 5 */ 6 7 public class BigNumber 8 { 9 public static void main(String[] args) 10 { 11 Scanner scan=new Scanner(System.in); 12 String a,b; 13 while (scan.hasNext()) 14 { 15 BigNumber big=new BigNu

C++实现大正整数及其相关运算(长期更新)

/** 只考虑正数[1, +∞); “-”运算只允许大数减小数; 小端存储: */ typedef struct BigInteger0 { vector<int> v; BigInteger0(int len) { v.resize(len); } BigInteger0(const vector<int>& nv) { v.assign(nv.begin(), nv.end()); } BigInteger0(const char str[]) { int len =

STL 2&mdash;迭代器相关运算&mdash;&mdash;advance(),distance(),next(),prev()

迭代器的头文件中定义了4个实现迭代器模板的函数模板. 1.advance(iterator,num):将迭代器iterator 移动了num个位置 2.distance(iterator1,iterator2):返回两个迭代器之间的元素的个数 3.next(iterator,n):将iterator正向偏移n之后所指向位置的一个迭代器4.prev(iterator,n):返回iterator反向偏移n之后的所指向的一个迭代器 #include <numeric> #include <it

复数类的相关运算(判断大小及四则运算)-&gt;(构造,析构,拷贝复制,运算符重载)

问题描述: 创建一个Plural(复数)的class类,不借助系统的默认成员函数,在类体中写入构造函数,析构函数,拷贝复制函数以及运算符重载函数.并依次实现复数的大小比较(bool)和复数的四则运算(+,-,*,/). #include<iostream> using  namespace std; class Plural { public: void  Display() { cout << "Real->:" << _real; cout

python中字符串相关运算

'''字符串的链接''' str6 = " sunck is a" str7 = "good man" str8 = str6 + str7 print(str8) #输出重复字符串 str9 = "good" str10 = str9 *3 print(str10) #访问字符串中的某一个字母#通过索引下标查找字符,索引从0开始#格式:字符串名[下标] str9 = "good" print(str9[0]) #截取字符串