*1. Java中的运算符和表达式
表达式
是由数字,运算符,变量,常量组成一个式子,通过当前的组合可以得到一个结果,这样的组合即使表达式
例如:
1 + 2 --> 表达式: 1加2的和是什么
int a = 10;
a - 2 --> 表达式
** 2. 算数运算符
-
-
- / % 基本数学中四则运算
加号:操作数值型数据进行求和一个符号
例如 1+1 1.234+12.23 int a =1 , b = 2; a+b;
对ASCII表中字符进行计算 可以使用char类型声明的变量进行求和计算
char ch1 = ‘A’; char ch2 = ‘0’;
相加时会取出对应字符的ASCII码(十进制的值),然后进行相加得到结果 char ch3 = (char)(ch1+ch2); char ch4 = 125; 对字符串进行连接 + “sum和的值是:”+sum -->“sum和的值是:10” 打印出这个结果"helloWorld"
System.out.println(“helloWorld”);
System.out.println(“hello”+“World”);
练习: 1.求 7和3的四则运算结果加求余
2.设圆的半径r =1.5,求周长和面积
3.指定一个大写字母,输出其对的小写字母(自己看看ASCII找规律) public class ArithmeticOperator{ public static void main(String[] args)
逻辑运算符
&& 与(并且) 必须满足所有条件才可以为真,否则为假 || 或(或者) 只要满足其中一个条件即为真,只有所有条件都不满足才为假 ! 非(取对应相反值) !真 --> 假 !假 --> 真 逻辑运算符一般会和关系运算符连用,逻辑表达式 变量,常量 关系运算符和逻辑运算符组成的式子–>逻辑表达式 && 与(并且) 为例 条件1 && 条件2 结果 真 真 真 真 假 假
假 真 假 假 假 假 || 或(或者) 为例 条件1 || 条件2 结果 真 真 真 真 假 真 假 真 真 假 假 假 ! 非(取其相反判断) !真 --> 假 !假 --> 真
复合运算符和赋值运算符
赋值运算符 = 1. 等号的左边 变量,常量,对象(实例) ps:这个常量是定义常量 2. 等号的右边 变量,常量,表达式,对象(实例) 赋值运算符是一个右结合的运算符,先计算等号右边值,然后在赋值给等号左边 例如: int a = 10; int sum = 1+2; int[] arr = new int[10];
复合运算符 += -= = /= %= 可以对运算符左边的变量进行附加计算的一个运算符 例如:int a = 10; a += 1; --> a += a+1 -> a = a+1 --> a = 10+1 --> a =11 while(true){ a = a+1 -> a += 1 }//先计算表达的值然后在和变量计算 a = 2+3; —> a = a(2+3) —> a = 10(2+3) -->a =50 —> a = a2+3; 错误
++ –
1.++ – 属于算数运算符
2.++ 相当于自身变量进行+1操作
3.-- 相当于自身变量进行-1操作
int a = 1; a++ --> a = a+1 --> a += 1
int b = 2; b-- --> b = b-1 --> b -= 1
无论如何都要记住的:
无论是前++还是后++,变量都要进行一次+1操作
无论是前–还是后–,变量都要进行一次-1操作
前++:
++运算符在变量的前面,先对当前变量进行自增(+1),然后再将计算过后的变量参与其他运算
分支
条件语句,分支主要的作用就是对编写的代码进行逻辑判断,以达到不同执行的效果
Java程序的注册:顺序,分支,循环
模拟一个场景:写一个游戏,当玩家得到1000分,开启下一关否则gameover
if分支
if单分支
语法:
if(表达式){ //判断条件
执行代码
}
表达式:一般是关系运算符和逻辑运算符所组成
if后面()必须是一个boolean类型值的表达式或具体boolean值
执行过程:当代码执行到if时,首先会先判断if后面表达式的真假,若表达式的值为真,就会执行{ }里面的执行语句,
然后整个if结束,若表达式的值为假,就不会执行{ }里面的执行语句,
总结:if单分支,应对于一种情况
if-else
语法:
if(表达式){
执行语句;
}else{
执行语句; }
表达式:一般是关系运算符和逻辑运算符所组成
执行流程:当程序执行到if是会先判断表达式的真假,如果表达式的值为真,那么就会执行if后面{ }中的执行语句,
if-else语句结束,若表达式的值为假,就会执行else后面{ }的执行语句,然后if-else语句结束
三目运算符 (三元,条件) ? :
Java中的三目运算符和其他语言不同,Java中的三目必须有返回值
语法:
判断条件 ? 值1 : 值2
判断条件需要是一个boolean类型的表达式
执行过程: 先对判断条件进行判断,若条件为真,会返回值1,作为三目运算符的整个返回值,
若条件为假,会返回值2,作为三目运算符的整个返回值.
可以修改一些if-else分支,是一种简化
比较三个数获取最大值 public class SanDemo { public static void main(String[] args) { //错误的方式: 使用三目必须有返回值 **/int a = (int)(Math.random()100); int b = (int)(Math.random()100); a > b ? System.out.println(a) : System.out.println(b); ///正确使用: int a = (int)(Math.random()100); int b = (int)(Math.random()100);
int c = (int)(Math.random()100); //比较a,b,c中谁最大 int tmp = a > b ? a : b; tmp = tmp > c ? tmp : c; System.out.println(tmp); } }
if-else if
语法:
if(表达式1){
执行语句1;
}else if(表达式2){
执行语句2;
}else if(表达式3){
执行语句3;
}else{ //可以省略
执行语句; }
表达式:一般是关系运算符和逻辑运算符所组成
执行流程:当程序执行到if时会先判断表达式1的值是否为真,若表达式的值为真,就执行后面{ }的执行语句,
然后整个if-else if语句结束,若表达式1的不为真,会继续向下执行判断其他else if中的表达式,
若表达式的值真就执行对应{ }里面的执行语句,然后if-else结束,若表达式为假就继续向下,
若所有的表达式的值都为假,就会默认执行else后面的{ }里面的执行语句,然后整个if-else结束
总结:当碰到多个条件进行判断的时可以使用if-elseif分支
只要其中一个表达式的值真,剩余表达式的值都不会判断
else的省略和添加
省略:当if -elseif中所有的条件都添加成功(都写了)此时就不需要else
添加:将所有情况都判断了,剩下最后一种情况,可以不写else if 直接使用else代表最后一种情况
if-else嵌套
语法:
if(表达式){
if(){
}else{
}}
ps:个人建议嵌套层级最好不要超过三层(含三层)
switch-case分支
语法:
switch(常量){
case 常量1:执行语句1;break;
case 常量2:执行语句2;break;
case 常量3:执行语句3;break;
case 常量4:执行语句4;break;
default: 执行语句;break;
}
常量:是一个泛指,整数(支持int类型,不支持long),字符,枚举,表达式(算数表达式)得到具体的
不能放boolean类型的值或表达式
JDK1.7之后switch常量还支持字符串
switch -case 相当于if中 if-else if
执行过程:当程序执行到switch时,会先计算常量值,会和大括号中的 case 后的常量进行比较,若常量值匹配,就执行对
应的执行语句,然后执行break,switch-case结束,若case后面所有的常量值都无法匹配那么就执行default
总结:
switch和if分支
两者都是分支
1.if分支多用于判断 boolean类型的条件
2.swithc分支多用于判断具体的值
3.两个分支的语法形式不同
- / % 基本数学中四则运算
-