*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.两个分支的语法形式不同*