丹徒网站建设方案,杭州网站建设哪家最好,工程装修,html免费网页模板目录
运算符与表达式的使用
算术运算符
隐式转换与强制转换
自增自减运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符 运算符与表达式的使用
运算符是指#xff1a;对字面量或者变量进行操作的符号。
表达式是指#xff1a;用运算符把字面量或者变量连接起来对字面量或者变量进行操作的符号。
表达式是指用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。
算术运算符
算术运算符包括加()、减(-)、乘(*)、除(\)、取余(%)。
public class Main {public static void main(String[] args) {System.out.println(11); // 2System.out.println(2-1); // 1System.out.println(2*4); // 8System.out.println(10/3); // 对整数进行相除得到的还是整数System.out.println(10%3); // 1System.out.println(10.0/3); // 小数参与计算得到的结果可能不准确}
} 当 操作中出现字符串时这个 是字符串连接符而不是算术运算符了会将前后的数据进行拼接并产生一个新的字符串。
public class Main {public static void main(String[] args) {// 当字符串和数字同时出现时用 表示拼接System.out.println(123123);// 当连续出现多个 的操作时且有字符串的话会先进行算数运算其次然后拼接System.out.println(1012123); // 101222 22与123拼接}
} 字符 char 进行 的操作时会把字符通过 ASCII 码表查询到对应的数字再进行计算。
public class Main {public static void main(String[] args) {// 对char进行操作char A a; // a在ASCII表中代表的是97int B 0;System.out.println(AB); // 970还是97}
}
隐式转换与强制转换
数字进行运算时数据类型不一样是不能进行运算的需要转成相同类型才能继续运算。而这里需要借助隐式转换和强制转换。
隐式转换也叫自动类型提升把取值范围小的数值变成取值范围大的。
public class Main {public static void main(String[] args) {int a 10;double b 3.0;System.out.println(ab); // 将数值小的int 转换成double并参与运算// 注意byte、short、char三种类型的数据在运算的时候都会直接先提升为int然后再进行运算byte x 10;byte y 20;System.out.println(xy); // 将byte类型转换成int再进行运算}
} 总结 取值范围 byte short int long float double 转换时机 数据类型不一样不能进行运算需要转成一样的才可以进行计算 转换规则 取值范围小的和取值范围大的进行运算小的会先提升为大的再进行运算byte、short、char三种类型的数据在运算的时候都会直接先提升为int然后再进行运算。 强制转换把取值范围大的数值变成取值范围小的。
其格式如下目标数据类型 变量名 目标数据类型被强转的数据。
public class Main {public static void main(String[] args) {byte b1 12;byte b2 24;byte result (byte)(b1b2);byte result1 (byte)(b1*10b2^10); // byte的取值范围为-128~127System.out.println(result);System.out.println(result1); // 结果就发生错误了因为要转换的数据过大。}
} 自增自减运算符
符号作用说明加变量的值加1--减变量的值减1
和--既可以放在变量的前面也可以放在变量的后面无论是放在前面还是后面单独写一行结果都是一样的。
public class Main {public static void main(String[] args) {int a 10;a;System.out.println(a); // 11a;System.out.println(a); // 12a--;System.out.println(a); // 11--a;System.out.println(a); // 10}
}
当然前置和--与后置和--在实际运算中是有一些区别的一般后置用的比较多如下
public class Main {public static void main(String[] args) {int a 10;int b a; // 先用后加System.out.println(a); // 11System.out.println(b); // 10int x 10;int y x; // 先加后用System.out.println(x); // 11System.out.println(y); // 11}
}
赋值运算符
符号作用说明赋值int a 10将10赋值给变量a加后赋值ab将ab的值给a-减后赋值a-b将a-b的值给a*乘后赋值a*b将a*b的值给a/除后赋值a/b将a/b的商给a%取余后赋值a%b将a/b的余数给a
注意扩展的赋值运算符隐含了强制的类型转换。
public class Main {public static void main(String[] args) {int a10,b20;ab;b/a;System.out.println(a); // a ab30System.out.println(b); // b b / a 2/3 0}
}
关系运算符
关系运算符也叫比较运算符其主要分类如下
符号说明ab判断a和b的值是否相等成立为true不成立为false!a!b判断a和b的值是否不相等成立为true不成立为falseab判断a是否大于b成立为true不成立为falseab判断a是否大于等于b成立为true不成立为falseab判断a是否小于b成立为true不成立为falseab判断a是否小于等于b成立为true不成立为false
public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println(请输入第一个整数);int i sc.nextInt();System.out.println(请输入第二个整数);int j sc.nextInt();if(ij){System.out.println(相亲成功);}else{System.out.println(相亲失败);}}
} 逻辑运算符
符号作用说明逻辑与(且)并且两边都为真结果才为真|逻辑或或者两边都为假结果才为假^逻辑异或相同为false不同为true!逻辑非取反
public class Main {public static void main(String[] args) {// 逻辑与System.out.println(true false); // falseSystem.out.println(true true); // true// 逻辑或System.out.println(true | false); // trueSystem.out.println(false | false); // false// 逻辑异或System.out.println(true ^ true); // falseSystem.out.println(true ^ false); // true// 逻辑非 System.out.println(!true); // falseSystem.out.println(!false); // true}
} 两种特殊的逻辑运算符—短路运算符 短路与结果与 相同但有短路效果。 短路或|| 结果与 | 相同但有短路效果。 短路运算符具有短路效果当左边的表达式能确定最终结果那么右边便不会再参与运行了 三元运算符
三元运算符也称三元表达式类似于if-else的简写形式其基本格式如下
关系表达式 ? 表达式1 : 表达式2;
public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println(第一个人的体重);int i sc.nextInt();System.out.println(第二个人的体重);int j sc.nextInt();String result i j ? 体重相同 : 体重不同;System.out.println(result);}
}