运算符
–1,算术运算符
+ - * / %(取余数) ++ –
–2,比较运算符:结果是boolean值
== !=
–3,逻辑运算符:结果是boolean值
+(拼接符) ! (取反,非真即假,非假即真)
– &(逻辑与) – 表示并且关系
– 1 & 2 ,想得到最终的结果是true,要求是:1是true并且2是true
– &&(双与/短路与)-- 表示并且关系 --高效
– 1 && 2 ,当1为false时,结果早都注定了是false,2的代码就会被短路不用执行了,提高效率
– |(逻辑或) – 表示或者关系
– 1 | 2 ,想得到最终的结果是true,要求是:1是true或者2是true
– ||(双或/短路或) – 表示或者关系 --高效
– 1 || 2 ,当1为true时,结果早都注定了是true,2的代码就会被短路不用执行了,提高效率
–4,三元运算符
1 ? 2 : 3 —运算结果可能是2,也可能是3.到底是谁?由1决定.
–当1的位置判断成立时,结果就是2
–当1的位置判断不成立时,结果就是3
–5,赋值运算符
=
+= -= *= /= 复合赋值运算符
自增自减++ –
//测试 自增
public class Test3_Zizeng {
public static void main(String[] args) {
int a = 1;
//符号在后,先使用再变化
System.out.println(a++);//1
int b = 1;
//符号在前,先变化再使用
System.out.println(++b);//2
System.out.println(++b+a+b++);//3+2+3
//自减
int c = 1;
//符号在后,先使用再变化
System.out.println(c–);//1
int d = 1;
//符号在前,先变化再使用
System.out.println(–d);//0
System.out.println(--d-d-d--);//-1-(-1)-(-1)
}
}
//测试 平年闰年
//1、能被4整除,并且不能被100整除
//2、或者能被400整除
public class Test5_Runnian {
public static void main(String[] args) {
//1,接收用户输入的年号
int year = new Scanner(System.in).nextInt() ;
String desc = "平年" ;//给变量设置默认值
//2, 判断这个年是不是闰年 -- 如果满足条件,就改成闰年
//if(判断条件){干活}
//if(判断条件1 || 判断条件2){ 改成闰年 }
//if(小条件1 && 小条件2 || 判断条件2){ 改成闰年 }
//if(能被4整除 && 不能被100整除 || 能被400整除){ 改成闰年 }
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
desc = "闰年" ;
}
System.out.println(year+"年是"+desc);
}
}
分支结构1:if
–1,用来完成先判断再执行的需求,和顺序结构不同,顺序只是向下执行.
–2,语法
–单分支
if(判断条件){
满足了条件的代码
}
–多分支
if(判断条件){
满足了条件的代码
}else{
不满足了条件的代码
}
–嵌套分支
if(判断条件1){
代码1
}else if(判断条件2){
代码2
}else if(判断条件3){
代码3
}else if(判断条件4){
代码4
}else{
以上4个判断条件都没有满足的代码5
}
统计学员得分
import java.util.Scanner;
//测试 if语法
//90分以上 优秀 80~89 良好 70~79 中等 60~69 及格 60分以下 不及格
public class Test7_If2 {
public static void main(String[] args) {
//1,接收用户输入的学员分数
int score = new Scanner(System.in).nextInt();
//不能让用户随意输入,规定个合理的范围--[0,100]--可以增强代码的健壮性
if(score<0 || score>100) {
System.out.println("请您输入正确的数据!!");
return ; //让程序不再向下执行了!!
}
String desc = "优秀" ;//定义变量,记录描述信息
//2,如果满足各种条件,就修改值就行
if(score >= 90) {//90分以上 优秀
desc = "优秀";
}else if(score>=80 && score<=89) {//80~89 良好
desc = "良好" ;
}else if(score>=70 && score<=79) {//70~79 中等
desc = "中等" ;
}else if(score>=60 && score<=69) {//60~69 及格
desc = "及格" ;
}else{//60分以下 不及格
desc = "不及格" ;
}
//3,打印
System.out.println("您的分数是:"+score+",属于:"+desc);
}
}