常用的运算符
检查问题分析
-
命名规范
- 类名: 大驼峰命名法
- 变量名:小驼峰命名法
- 常量名:所有字母都大写,如果有多个单词,使用_连接
- 包名(package):全部小写
-
缩进问题
- 缩进是同级对齐,下级缩进
-
输入语句结合输出语句的问题
使用Scanner
- 导入Scanner
- 创建Scanner对象
- 使用
- next()可以输入字符串
- nextInt()可以输入整数
- nextDouble()可以输入小数
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-poHASceu-1613908329135)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107135035253.png)]
-
注意规范
- 注释应该添加在想要的解释代码的 *上方 或者右侧
- 单行注释应该空一格
- 注释的双斜线与注释内容之间有且只有一个空格
1.类型转换
在Java中存在自动类型转换和强制类型转换。
- 自动数据类型转换:取值范围小的类型可以自动转换为取值范围大的类型
double num = 10
- 强制数据类型转换:取值范围大的类型无法直接转换为取值范围小的类型
- 可以帮助我们实现取整的效果
int num = (int)10.5
类型转换也不是万能的。Java前期可以转换的就是byte. short, int, long, float, double, char这些。
自动转换例如:
byte b = 10
int num = b
强制转化例如:
int num = 10
byte b = num
字符的秘密
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WIS9PdGK-1613908329138)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107142553507.png)]
它们的转换值遵循了相应的码表,例如:ASCI码表 a是97 A是65
2.赋值运算符
"="号在各种编程语言中,不在表示相等,二手表示赋值
只有极个别的语言,=号表示赋值,又表示相等
//读法:将数字10赋值给变量num
//将等号右侧的赋值给等号左侧的
int num = 10;
//变量和变量之间的赋值
//将num的赋值给变量num2
int num2 = num;
3.算术运算符
+ 加法
_ 减法
* 乘法
/ 除法
% 取余数
++ 自增
—— 自减
四则运算
int num1 = 11;
int num2 = 2;
System.out.println(num1/mun2);//2
在java中进行数学计算时,有时候会出现与传统数学观念不符的情况,例如11/2 应该等于5.5 但结果为5
是由于11和2都是整数,那么在计算的时候,对于结果的类型也是采用整数。(在计算的时候,计算结果的类型是由计算的值中取值范围最大的类型)
如果真的想得到5.5,需要如下做:
int num1 = 11;
int num2 = 2;
System.out.println(num1* 1.0/mun2);//5.5
自增和自减
++ 自增1
– 自减1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kSInDFqE-1613908329143)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107152417695.png)]
字符的秘密
字符是可以和数值转换的。
char alphal = 'a';
alphal++;//理解为:alphal= alphal + 1
System.out.println(alphal);//b
char alpha2 = 'b';
//在计算时,结果的类型是取值范围大的类型
System.out.println(alpha2 + 1);//99
4.复合赋值运算符
-
+=
-
-=
-
*=
-
/+
-
%=
-
int num1 =10 num1 + =2;//理解为:num1 = num1 + 2 System.out.println(num1);//12 int num2 = 12 num2 -= 3;//理解为:num2 = num2-3 System.out.println(num2);//9
5.关系运算符
比较运算符,可以用来做判断,比较运算结果是布尔值。true(真)和false(假)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JEaM9Vrk-1613908329148)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107160718650.png)]
=号代表赋值,==才表示相等
6.逻辑运算符
- ‘&&’ 短路与
- || 短路或,或者
- ! 非,取反
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmR3O6lC-1613908329153)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107163418362.png)]
短路
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-frYJ4Cs2-1613908329156)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107165744757.png)]
短路与短路或,代表的是如果前面的条件能够得到结果,那么后面的条件就不再进行了!
-
falsr && true 只有一个为false,结果就为false
- 面试要求你学历本科,经验5年以上
-
true|| false 只要有一个为true,结果就位true
还有一个&和|也可以表示逻辑关系,但是一般不用,因为它们无论是否能从前面条件得到最终结果,都要对所有的条件进行运算
所以&&和||可以优化程序执行性能
7.三元运算符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E2ycmqXg-1613908329162)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107170928664.png)]
作业
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evycs7gH-1613908329164)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210107171624419.png)]
还有一个&和|也可以表示逻辑关系,但是一般不用,因为它们无论是否能从前面条件得到最终结果,都要对所有的条件进行运算
所以&&和||可以优化程序执行性能
7.三元运算符
[外链图片转存中…(img-E2ycmqXg-1613908329162)]
作业
[外链图片转存中…(img-evycs7gH-1613908329164)]