栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Golang学习之路一六运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang学习之路一六运算符

Golang学习之路一六运算符 算数运算符
符号说明
+相加
-相减
*相乘
/相除
%求余
++自增
自减
package main

import "fmt"

func main() {
	a := 10
	b := 6
	// +
	fmt.Println(a+b)
	// -
	fmt.Println(a-b)
	// *
	fmt.Println(a*b)
	// /
	fmt.Println(a/b)
	// %
	fmt.Println(a%b)
	// ++
	fmt.Println(a)
	a++
	fmt.Println(a)
	// -
	fmt.Println(b)
	b--
	fmt.Println(b)
}
关系运算符
符号说明
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
package main

import "fmt"

func main() {
	a := 10
	b := 6
	// ==
	fmt.Println(a==b)
	// !=
	fmt.Println(a!=b)
	// >
	fmt.Println(a>b)
	// <
	fmt.Println(a=
	fmt.Println(a>=b)
	// <=
	fmt.Println(a<=b)
	// ==
	fmt.Println(a==b)
}
逻辑运算符
符号说明
&&
!
package main

import "fmt"

func main() {
	a := 10
	b := 6
	c := 6
	// &&
	fmt.Println(a > b && b >= c)
	// ||
	fmt.Println(a > b || b > c)
	// !
	var d bool
	fmt.Println(!d)
}

赋值运算符
运算符描述实例
=简单的赋值运算符,将一个表达式的值赋给一个左值C = A + B 将 A + B 表达式结果赋值给 C
+=相加后再赋值C += A 等于 C = C + A
-=相减后再赋值C -= A 等于 C = C - A
*=相乘后再赋值C *= A 等于 C = C * A
/=相除后再赋值C /= A 等于 C = C / A
%=求余后再赋值C %= A 等于 C = C % A
<<=左移后赋值C <<= 2 等于 C = C << 2
>>=右移后赋值C >>= 2 等于 C = C >> 2
&=按位与后赋值C &= 2 等于 C = C & 2
^=按位异或后赋值C ^= 2 等于 C = C ^ 2
=按位或后赋值
位运算
运算符描述实例
&按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。(A & B) 结果为 12, 二进制为 0000 1100
按位或运算符"
^按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为 1。(A ^ B) 结果为 49, 二进制为 0011 0001
<<左移运算符"<<“是双目运算符。左移 n 位就是乘以 2 的 n 次方。 其功能把”<<“左边的运算数的各二进位全部左移若干位,由”<<"右边的数指定移动的位数,高位丢弃,低位补 0。A << 2 结果为 240 ,二进制为 1111 0000
>>右移运算符">>“是双目运算符。右移 n 位就是除以 2 的 n 次方。 其功能是把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数。A >> 2 结果为 1
package main

import "fmt"

func main() {

	var a uint = 60      
	var b uint = 13      
	var c uint = 0

	c = a & b       
	fmt.Println(c)

	c = a | b       
	fmt.Println(c)

	c = a ^ b       
	fmt.Println(c)

	c = a << 2     
	fmt.Println(c)

	c = a >> 2     
	fmt.Println(c)
}
其他运算符
运算符描述实例
&返回变量存储地址&a; 将给出变量的实际地址。
*指针变量。*a; 是一个指针变量
package main

import "fmt"

func main() {
	var a int = 4
	var b int32
	var c float32
	var ptr *int

	
	fmt.Printf("a 变量类型为 = %Tn", a );
	fmt.Printf("b 变量类型为 = %Tn", b );
	fmt.Printf("c 变量类型为 = %Tn", c );

	
	ptr = &a     
	fmt.Printf("a 的值为  %dn", a);
	fmt.Printf("*ptr 为 %dn", *ptr);
}
运算符优先级

有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

优先级运算符
5* / % << >> & &^
4+ - ^
3== != < <= > >=
2&&
1

当然,我们可以通过使用括号来临时提升某个表达式的整体运算优先级。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号