一元操作符

什么是一元操作符?

只能操作一个值的操作符就叫做一元操作符。

注意:无论是自增(递增)还是自减(递减),都是在原有值的基础上进行加一或减一的操作,并且这些操作对所有类型的值(number、string、boolean...)都有效。

写法:

/**
     自增(递增):分为前置自增和后置自增
*/

var a = 1;

++a;  // 前置++

a++;  // 后置++
/**
     自减(递减):同样也分为前置自减和后置自减
*/

var a = 1;

++a;  // 前置++

a++;  // 后置++

分类图解:

其运行原理是什么?

以下通过前置的自增和后置的自增来说明:

/*
     前置自增
*/

var a = 1;

console.log(++a);  // 2

console.log(a); //2

var b = 2;

var c = ++b;

console.log(c); //3

console.log(b); //3
/*
     后置自增
*/

var a = 1;

console.log(a++);  // 1

console.log(a); //2

var b = 2;

var c = b++;

console.log(c); //2

console.log(b); //3

通过以上的案例,想必你心中已经对前置和后置的自增有了一些自己的看法。

它包含以下两点:

1.前置自增:在语句开始时,先对自己进行加一的操作,然后在进行计算 或者 赋值。

2.后置自增:先进行计算 或者 赋值,然后在语句结束后,再对自己进行加一的操作。

在通过下面这个例子来验证一下你的想法是否真确。

var n = 5;

var m = 20;

var p = n + ++n + n++; 

console.log(p); // 17

console.log(n); // 7

var q = m++ + m + ++m;

console.log(q); // 63

console.log(m); // 22

注意:

  1. 自增,自增 ---> 对自己增加;(每一次增加一);

  2. 自减的道理和自增相同

  • 文中如有错误,欢迎在评论区指正,如果这篇文章帮助到了你,欢迎点赞和关注。
  • 如果你有什么好的知识、资源推荐,欢迎在评论区留言。

原文地址:https://www.cnblogs.com/ViavaCos/p/11331763.html

时间: 2024-10-07 18:25:01

一元操作符的相关文章

Java一元操作符++详解

废话不多说,直接上代码. package com.coshaho.learn; /** * * OperatorLearn.java Create on 2016-11-13 下午8:38:15 * * 类功能说明: 深入理解++操作符 * * Copyright: Copyright(c) 2013 * Company: COSHAHO * @Version 1.0 * @Author coshaho */ public class OperatorLearn { // 一元操作符,赋值操作符

操作符-一元操作符

只能操作一个值的操作符叫一元操作符. 1.递增和递减操作符: 递增和递减都有两个版本:前置型和后置型. 前置型: 在执行前置的递增和递减操作时,变量的值都是在语句被求值前改变的.(在计算机科学领域,这种情况通常被称做副效应). var age=29; var anotherAge=--age+2; alert(age);//28 alert(anotherAge);//30 前置递增和递减操作与执行的语句的优先级相等,因此整个语句会从左至右被求值. var num1=2; var num2=20

javascript中的一元操作符

题目如下: var s1 = "01"; var s2 = "1.1"; var s3 = "z"; var b = false; var f = 1.1; var = { valueOf: function() { return -1; } }; s1= -s1; //-1 s2 = -s2; //-1.1 s3 = -s3; //NaN b = -b; //0 f = -f; //-1.1 o = -o; //1 解释: 在对非数值应用一元加

关于解引用*和箭头操作符->的重载

这里以一个智能指针类为例,智能指针所指为一个对象. 而事实上,STL迭代器的开发均需要重载这两个操作符,上一篇文章分析STL 迭代器中除了要用到template技巧外,还需要重载技巧 1 #include<iostream> 2 using namespace std; 3 class Screen 4 { 5 6 public: 7 friend ostream& operator<<(ostream&os, Screen &s); 8 int actio

Kotlin操作符重载:把标准操作加入到任何类中(KAD 17)

作者:Antonio Leiva 时间:Mar 21, 2017 原文链接:https://antonioleiva.com/operator-overload-kotlin/ 就像其他每种语言一样,在Kotlin中,已经预定义了一些操作符执行一定的操作. 最典型的是加(+),减(-),乘(*),除(/),而且还有很多. 类似Java这样的一些语言,这些操作符被限制在一些特定的数量类型上,且没有方法让其他类型数据使用这些操作符. 还有在像Scala这样的其他语言中,由于函数名称可接受任何符号,我

C# 操作符

C#的精彩世界还离不开其提供的丰富的操作符,按照操作数的个数,C#操作符可分为以下几类: 一元操作符 :++x,x++,--y,z-- 二元操作符:x+y,x-y,x*y 三元操作符:x=(x>a?x:a); 如果从操作符的作用来看,C#操作符可以分为赋值操作符,算术操作符,关系操作符,逻辑操作符,位操作符和其它操作符. 1.赋值操作符 赋值操作符除基本的赋值操作符“=”之外还包括以下的组合赋值操作符: +=    如:int x;  x+=5; 相当于:x=x+5; -=     如:int 

c++ --&gt; 操作符重载

一.什么是操作符重载 操作符重载可以分为两部分:“操作符”和“重载”.说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载.运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符.我们不妨先直观的看一下所谓的操作符重载: #include <iostream> using namespace std; int main() { int a = 2 , b = 3; float c = 2.1f , d = 1.2f; cout<<"

JavaScript读书笔记(3)-操作符、语句和函数

1.  操作符 (1)       一元操作符 前置递增和递减操作符,变量的值都是在语句被求值以前改变的:后置相反 (2)       位操作符 在ECMAScript中,对数值进行位操作时,会发生以下转换过程:64位的数值被转换为32位数值,然后执行位操作,最后再将32位的结果转换回64位数值: 右移分为有符号右移(>>)和无符号右移(>>>) (3)       布尔操作符-(!)(&&)(||) (4)       全等操作符(===)只在两个操作数未经

Swift 基础操作符

操作符分为三类 一元操作符: 负号 -   ++  -- 二元操作符:+ - 等都是二元 三元操作符:?: 是swift中的唯一个三元操作符 1.赋值预算赋 = let 常规任务=4 var 加班任务=2 加班任务=常规任务 //就是 把常量常规任务赋值给变量加班任务 let(x,y)=(2,3) 此时x为2 y为3 在swift中 赋值运算符不会返回任何值 2.加减乘除 +.- .*./ var a=2+3 //5 var b=3-2 //1 var c =3/2 //1 var d= 3*2