运算符
1、算术运算符
例如:+ - * / % ++ –
a++:先取值再+1
++a:先+1再取值
算术表达式的最终类型取决于表达式中的最大类型。
2、关系运算符
顾名思义就是比较大小。
例如:> >= < <= !=
关系表达式最终结果为boolean
3、逻辑运算符
例如:&& || !
&&:逻辑与 二元短路与
|| :逻辑或
!:逻辑非
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && false);
所以,当都为true的时候为true,否则为false。
System.out.println(true || true);
System.out.println(true || false);
System.out.println(false || false);
逻辑或的情况下,只有当都是false的情况下为false,否则为true。
3、赋值运算符
例如: = 从右向左执行
4、三元运算符
xxx val =boolean?V1:V2;
实例在下面。
分支结构
1、单分支
if(条件){代码}
2、双分支
if(条件){代码}else{代码2}
3、多分支
if(条件1){代码1}else(条件2){代码2}....else{代码N}
switch(算术表达式){case 常量1:代码1;break; case 常量2: 代码2; break;......}
if做区间条件,switch做等值条件
case1:case2:case3:case4:....// 贯穿现象
// 只支持long以下的整数(char 枚举)
// JDK1.8以后的版本 String是个特殊
4、嵌套分支
if(){
if(){}
switch(){}
}
⭐️多个变量构成复杂条件,建议使用嵌套分支,一层只复杂一个变量构建条件。
例1:
import java.util.Scanner;
import java.text.Messageformat;
public class Case{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = input.nextInt();
if(score>=80){
System.out.println("好好学习,天天向上");
}else{
System.out.println("差生");
}
}
例2:
import java.util.Scanner;
import java.text.MessageFormat;
public class Case{
public static void main(String[] args){
Scanner input = new Scanner(system.in);
int score = input.nextInt();
if(score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=70){
System.out.println("一般");
}else if(score>=60){
System.out.println("及格");
}
}
}
例3:
import java.util.Scanner;
import java.text.MessageFormat;
public class Case{
public static void main(Stringp[] args){
Scanner input = new Scanner(System.in);
System.out.println("1、余额查询 2、账单查询 3、充值 4、人工服务 5、推出");
System.out.println("请选择:");
char choice = input.next().charAt(0);
switch(choice){
case '1':
System.out.println("当前余额为1234");
break;
case '2':
System.out.println("本月消费120元");
break;
case '3':
System.out.println("充值50元人民币成功");
break;
case '4':
System.out.println("当前人工克服09号为您服务");
break;
case '5':
System.out.println("退出系统成功");
break;
default:
System.out.println("无此服务,请重新选择");
}
}
}
例4:
import java.util.Scanner;
import java.text.MessageFormat;
public class Case{
public static void main(Stringp[] args){
Scanner input = new Scanner(System.in);
// 星期 1 3 5 狮子头 打折8块 原价20
// 星期2 4 6 鸡块 打折10块 原价 30
// 星期天 地锅鸡 打折16块 原价38
System.out.println("今天是星期几:");
char weekDay = input.next()charAt(0);
if(weekDay==1 || weekday==3 || weekDay==5){
System.out.println("狮子头 ¥8 原价:20");
}else if(weekDay==2 || weekday==4 || weekDay==6){
System.out.println("鸡块 ¥10 原价:30");
}else if(weekDay==7){
Sysrem.out.println("地锅鸡 ¥16 原价:38");
}
例5:
import java.util.Scanner;
import java.text.MessageFormat;
// 闰年
public class Case{
public static void main(Stringp[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
int year = input.nextInt();
boolean is = (year%4==0 && year%100!=0) || year%400==0;
System.out.println(year+(is?"是":"不是")+"闰年");
例6:
import java.util.Scanner;
import java.text.MessageFormat;
public class Case{
public static void main(Stringp[] args){
Scanner input = new Scanner(System.in);
// 水仙花数 abc a*a*a+b*b*b+c*c*c = abc
int value = input.nextInt();
if(value>=100&&value<=999){
int a,b,c,v=value;
a = value%10; // 121 个位
v/=10;
b = v%10; // 十位
v/=10;
c = v%10; // 百位
boolean is = a*a*a + b*b*b +c*c*c == value;
System.out.println(value+(is?"是":"不是")+"水仙花数");
例7:
import java.util.Scanner;
import java.text.MessageFormat;
public class Case{
public static void main(Stringp[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = input.nextInt();
if(score<=10){
System.out.println("请输入性别:");
char gender = input.next().charAt(0);
if(gender=='男'|| gender=='女'){
System.out.println("进入"+gender+"组");
}else{
System.out.println("性别不符合要求,请重新输入");
}
}else {
System.out.println("成绩不符合要求");
}