零基础 快速学Java韩顺平 p62-80 运算符:算数关系逻辑赋值三元和优先级
Posted karshey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础 快速学Java韩顺平 p62-80 运算符:算数关系逻辑赋值三元和优先级相关的知识,希望对你有一定的参考价值。
课程
p62-80
运算符介绍
算数运算符
对数值类型变量进行运算的。
对于自加自减(记忆方法):
a=2,b=a++ 的,b=a在前,所以a=3,b=2;
a=2,b=++a 的,b=+在前,所以a=3,b=3;
对于字符串相加:新形成的字符串没有空格。
如:
public class temp{
public static void main(String[] args){
String a = "abc";
String b = "def";
String c = a + b;
System.out.println(c);
}
}
i++和++i 都是i=i+1
一些注意事项:
关于/除法
public class temp{
public static void main(String[] args){
//除法/
System.out.println(10 / 4);//2
System.out.println(10.0 / 4);//2.5
double ans = 10 / 4;//2-->2.0
System.out.println(ans);//2.0
}
}
输出:
2
2.5
2.0
关于%取模
本质 a % b = a - a / b * b
public class temp{
public static void main(String[] args){
//取模 %
System.out.println(10 % 3);
System.out.println(-10 % 3);
System.out.println(-10 % -3);
}
}
输出:
1
-1
-1//-10 - (-10/-3)*(-3)==-10-(-9)==-1
关于前++和后++
前++:++i 先自增后赋值
后++:i++ 先赋值后自增
这里的赋值是指赋给前面的等号,比如b=a++,那么赋值就是赋给b
关系运算符(比较运算符)
结果都是boolean型,要么true要么false。
常用于if或循环结构中。
比较运算符“==”不能写成“=”
试一下String:
public class temp{
public static void main(String[] args){
//instanceof
System.out.println("abc"instanceof String);
}
}
输出:
true
逻辑运算符
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean类型。
说明逻辑运算规则:
以下跟C++的感觉不太一样(?)
&与&&
|与||
!和^
异或,异了就是true
省流版
开发中与用&&,或用||,因为可以只判断一个,效率高
赋值运算符
赋值运算顺序从右往左
三元运算符
(毫无逻辑的)记法:条件是否满足?满足就输出表达式1,否则2;
细节:
如下段代码:
public class temp{
public static void main(String[] args){
int a = 3;
int b = 8;
int c = a > b ? a : b;
System.out.println(c);
//也就是
/*
if(a > b) c = a;
else c = b;
*/
}
}
输出:
8
对于c来说,不是a赋值给c就是b赋值给c。因此,a和b都要和c的数据类型匹配,或者能强制转换。
比如:int类型的26赋值给int,可以;赋值给double,也可以。但赋值给boolean,不行(也无法强制转换)。
就是这个意思。
运算符优先级
个人感觉知道一下就好了,因为平时写Java代码的时候可以用括号了自己决定优先级
右边这个表,从上到小是优先级由高到低。
以上是关于零基础 快速学Java韩顺平 p62-80 运算符:算数关系逻辑赋值三元和优先级的主要内容,如果未能解决你的问题,请参考以下文章
零基础 快速学Java韩顺平 p87-101 四种进制及其相互转换二进制运算(原码补码反码)7种位运算符
零基础 快速学Java韩顺平 p52-59 基本数据类型转换(自动强制)与String类型的转换
零基础 快速学Java韩顺平 p20-26 快速掌握技术转义字符易犯错误注释代码规范
零基础 快速学Java韩顺平 p35-51 变量数据类型(整型,浮点,字符,布尔)重要编码,API文档
零基础 快速学Java韩顺平 p82-86 标识符的命名规则和规范关键字保留字键盘输入
零基础 快速学Java韩顺平 p104-147 流程控制:顺序分支循环跳转 控制语句 (ifforwhiledowhilebreakcontinuereturn)