一.运算符:
1>算术运算符 + - * / % ++ --
1.1>"%"取余/取模 余数为0叫整除
1.2>++/-- 自增/自减
1.2.1>单独使用:符号在前与在后一样
1.2.2>被使用:符号在前与在后不太一样(a=1,b=0 b=++a 则b=1 a=2)(a=1,b=0 b=a++ 则b=1 a=2)(int a=1,b=1 System.out.println(a++) System.out.println(++b) 输出结果1 2)
2>关系运算符:
2.1>符号:> < >= <= != ==
2.2>关系运算的结果为boolean型
3>逻辑运算符
3.1>符号:&&短路与 ||短路或 !(非真则假,非假则真) &不断路与 |不断路或
3.2>逻辑运算的结果为boolean型
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入年龄:");
int age=scan.nextInt();
if(age>=18&&age<=50)
System.out.println("年龄在18-50之间");
else
System.out.println("年龄不在18-50之间");
}
4>赋值运算符:赋值表达式本身也有值,其本身之值即为所赋之值
= += -= *= /= %=
5>字符串连接运算符
5.1>+
5.1.1>若两边都是数字,则做加法运算
5.1.2>若两边有字符串,则做字符串连接
6>三目运算符(条件运算符)
6.1>语法:boolean表达式 ? 表达式1:表达式2
6.2>执行过程:
计算boolean的值:
若为true 则进入表达式1
若为false 则进入表达式2
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请依次输入两个整数:a,b(以空格隔开)");
int a=scan.nextInt();
int b=scan.nextInt();
int max=a>b?a:b;
System.out.println("最大值为"+max);
}
二.分支结构
1>if…
2>if…. else…
3>if…else if…..
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
double score=scan.nextDouble();
if(score<=0||score>=100){
System.out.println("成绩不合法");
}
else if(score>=90){
System.out.println("A");
}else if(score>=80){
System.out.println("B");
}else if(score>=60){
System.out.println("C");
}else System.out.println("D");
}
4>switch(整型表达式){
case 整型常量值1:
语句1;
语句2;
break;
}
default://所有case都未匹配时执行
语句 n;
break;
优点:效率高 结构清晰
缺点:用于整数(byte short int char),用于String,只能判断相等。
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请选择功能:1.显示全部记录 2.查询登录记录 0.退出");
int command=scan.nextInt();
switch (command) {
case 1:
System.out.println("显示全部记录");
break;
case 2:
System.out.println("查询登录记录");
break;
case 0:
System.out.println("退出成功");
break;
default:
System.out.println("输入不合法");
break;
}
}