运算符的认识

本文详细介绍了Java编程中的命名规范,包括变量、方法和类名的驼峰命名规则,以及常量的全大写加下划线规则。接着,文章深入探讨了各种运算符的使用,如算术、赋值、关系和逻辑运算符,并通过实例展示了运算符的优先级。此外,还讲解了数据类型之间的自动转换和强制转换,以及位运算符和条件运算符的用法。文章最后通过实例解释了数据类型转换时可能遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

1)命名规则(规范):
所有变量、方法、类名:见名知意
⑴变量、方法名:
-首字母小写和驼峰原则

  1. run(), runRun() ,age ageNew monthSalary
    ⑵常量:
    大写字母和下划线:MAX VALUE
    ⑶类名:
  2. -首字母大写和驼峰原则:Man, GoodMan2)运算符
    -Java 语言支持如下运算符:

算术运算符:+,-,*,/,%,++,–

赋值运算符:=

扩展赋值运算符:+=,-=,*=,/=

关系运算符:>,<,>=,<=,==,!=

逻辑运算符:&&,‖,!

位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

条件运算符:?,:
相关概念辨析:
+运算符 操作符 Operator
5+6 表达式 expression
5 6 操作数 Operand
int m =5+6; 语句 Sentence

运算符优先级图表:
在这里插入图片描述
基本数据类型之间的转换:
▪总结
=右侧:所有变量先转换为字节数最多的数据类型,再计算
=两侧:左侧宽度>右侧宽度 自动转换
左侧宽度<右侧宽度 强制转换
▪特例
-可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围
–shortb = 12; //合法
–shortb = 1234567; //非法

下面是事例:

public class OperatorDemo{
public static void main(String[] args){ int a = 1;
int b = 2;

//算术运算符 :
System.out.println(a + b); System.out.println(a - b); System.out.println(a * b);
//取整除,或者取商 System.out.println(a / b);
//取余数,或者取模 System.out.println(a % b);

++: 单目运算符,自加1,如果++放在前面,先自加,再参加运算
如果++放在后面,先参加运算,后自加
–:单目运算符,自减1,如果–放在前面,先自减,再参加运算
如果–放在后面,先参加运算,后自减。

事例:

System.out.println(a++);
System.out.println(++a);
//元素符的优先级问题:
++优先级高于+
System.out.println(++b+b++);
//? 6
System.out.println(b);
//4

//扩展赋值运算符:
int c = 10;
//这两种写法结果是一样的,建议大家使用扩展运算符来写代码
//c = c + 2;
c += 2;

数据类型的转换:
d是byte类型,1是int类型,d+1就变成int类型,低位向高位自动转换
=号右边高位,左边是低位,就要强制转换 语法:(datatype)

byte d = 10;
//d = (byte)(d + 1);
//d = d + 1;
d += 1;
System.out.println(d);

//关系运算符
System.out.println(2 > 3); System.out.println(2 < 3); System.out.println(2 >= 3); System.out.println(2 <= 3); System.out.println(2 == 3); System.out.println(2 != 3);

//逻辑运算符 :

&&:短路与,如果第一表达式返回为false,后面的表达式就不再执行
&: 逻辑与,不管第一个表达式返回是true还是false,后面的表达式都会执行

||:短路或,如果第一表达式返回为true,后面的表达式就不再执行
|: 逻辑或,不管第一个表达式返回是true还是false,后面的表达式都会执行

System.out.println(2 > 3 && 5 > 4); System.out.println(2 > 3 & 5 > 4);
int aa = 1;
//System.out.println(2 > 3 && 5 > aa++); //System.out.println(aa);//1 System.out.println(2 > 3 & 5 > aa++); System.out.println(aa);//2 System.out.println(2 > 3 || 5 > 4); System.out.println(!false); System.out.println(!true);

//位运算符 :
System.out.println(4 & 5);//4 System.out.println(4 | 5);//5 System.out.println(4 ^ 5);//1
//移码 原码 反码 补码 System.out.println(~4);//-5 ? ?
//用最高效的方法把2变成16?

①<<:有符号左移,乘2操作,左移几位就乘以几个2
②>>:有符号右移,除2操作,右移几位就除以几个2
③>>>:无符号右移

System.out.println(2 << 3);//16 System.out.println(16 >> 3);//2

//条件运算符:
三目运算符,第一个表达式返回为true,则取?后面的值,反之取:后面的值 System.out.println(2 > 3 ? 2 : 3);//3 System.out.println(false ? false : true ? false : true);

基本数据类型之间的转换:
1、自动转换(隐式转换):赋值运算符左边范围大,右边范围小,就是小范围向大范围转,会自动转型
2、强制转换:赋值运算符左边范围小,右边范围大,就是大范围向小范围转,需要强制转换
语法:(datatype)
注意:
1、一般都是同一种数据类型,我们才讨论它们的转型问题;
2、强制转换之后,数据精度可能会丢失
byte a1 = 10;
a1 = (byte)(a1 + 2); System.out.println(a1); System.out.println((byte)270);//14
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值