不同语言操作符的优先级

简介: 不同语言操作符的优先级

看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗?

并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致:


Go:

package main
import "fmt"
func main() {
    fmt.Println(1+2>>1) // 2
}

微信截图_20230802070255.png

Java:

import java.io.*;
class test  
{
  public static void main (String[] args) throws java.lang.Exception
  {
    System.out.println(1+2>>1); // 1
  }
}

微信截图_20230802070308.png

C/C++:

#include <stdio.h>
int main(void) { 
    int a = 1+2>>1;
  printf("%d\n",a); // 1
  return 0;
}

微信截图_20230802070413.png

nodejs:

console.log(1+2>>1); // 1

微信截图_20230802070452.png

python:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
if True :
  aaa=1+2>>1 
  print(aaa) // 1
  print(sys.version) //3.8.6 (default, Sep 24 2020, 21:45:12)  [GCC 8.3.0]

微信截图_20230802070528.png

php:

<?php
$aa=1+2>>1;
echo 'hello '.'1+2>>1运算结果为:'.$aa."\n"; // hello 1+2>>1运算结果为:1
echo date('Y-m-d H:i:s',time())."\n"; // 20xx-08-28 14:33:23
echo "PHP版本:".phpversion();  // PHP版本:7.4.10
?>

微信截图_20230802070604.png

目录
相关文章
|
1月前
|
存储 算法 程序员
【c 语言 】位操作符详解
【c 语言 】位操作符详解
39 0
|
1月前
|
C++
c++运算符的优先级
c++运算符的优先级
18 0
|
1天前
|
C语言 C++
操作符的属性:优先级、结合性(缺表达式求值)
操作符的属性:优先级、结合性(缺表达式求值)
6 0
|
9天前
|
JavaScript 前端开发 Java
运算符分为哪几类? 哪些运算符常用作判断?简述运算符的优先级?
运算符分为哪几类? 哪些运算符常用作判断?简述运算符的优先级?
|
3月前
|
Go
go语言中的运算符和表达式与对应的优先级
go语言中的运算符和表达式与对应的优先级
33 0
|
5月前
|
编译器 C++
代码规范:运算符的优先级
【规则 4-5-1】不可在 for 循环体内修改循环变量,防止 for 循环失去控制。 【建议 4-5-1】建议 for 语句的循环控制变量的取值采用“半开半闭区间”写法。
28 1
|
6月前
|
编译器 C语言
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
|
9月前
|
C语言
C语言基础知识:操作符详解(附操作符优先级及结合性一览表)(上)
C语言基础知识:操作符详解(附操作符优先级及结合性一览表)
67 0
|
9月前
|
C语言 索引
C语言基础知识:操作符详解(附操作符优先级及结合性一览表)(下)
C语言基础知识:操作符详解(附操作符优先级及结合性一览表)(下)
55 0
|
10月前
|
JavaScript Java Go
不同语言操作符的优先级
不同语言操作符的优先级
30 0