一、运算符
算术运算符
十、 — 、 * 、 / 、 %(取余)
赋值运算符
基本赋值运算符 :=
扩展的赋值运算符: +=、 -=、 *=、 /=、 %=
案例演示:
public static void main(String[] args) {
int a = 12;
int b = 12;
a = a-2;
b -= 2;
System.out.println("a"+a);
System.out.println("b"+b);
}
比较运算符
逻辑运算符:用于处理代码中逻辑部分的
案例演示:
public static void main(String[] args) {
int num = 10;
int num2 = 20;
System.out.println((num<num2) & (num2/num>0));
System.out.println((num<num2) | (num2/num>0));
System.out.println(!true);
System.out.println(false ^ false);
}
------------------------------------------------------------------
public static void main(String[] args) {
int a = 3;
int b = 4;
// System.out.println(a++ ==3);
// System.out.println((a++ ==3) && (--b == 3));
System.out.println((++a ==3) || (--b == 4));
System.out.println("a:"+a+"b:"+b);
}
三目运算符
也称为三元运算符
格式 : 数据类型 变量名 = 布尔类型表达式? 表达式1:表达式2
位运算符(了解作为扩展)
待补充
二、键盘录入
步骤 :
(1)导包 【import 关键字 自动导包 】
(2) 创建键盘录入对象 Scanner sc = new Scanner(System.in)
(3)接收录入的数据
/*练习题:
键盘录入两个数据,并对这两个数据求和,输出其结果
键盘录入两个数据,获取这两个数据中的最大值
键盘录入三个数据,获取这三个数据中的最大值
键盘录入两个数据,比较这两个数据是否相等
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//键盘录入两个数字,并对这两个数字求和,输出结果
System.out.print("请输入第一个数:");
int num = sc.nextInt();
System.out.print("请输入第二个数:");
int num2 = sc.nextInt();
int sum = num+num2;
System.out.println("两个数字的和为:"+ sum);
//键盘录入两个数字,输出最大值、最小值
int max = num>num2 ? num:num2;
int min = num<num2 ? num:num2;
System.out.println("两个数字的最大值为:"+ max);
System.out.println("两个数字的最小值为:"+ min);
//键盘录入三个数字,输出最大值、最小值
System.out.print("请输入第三个数:");
int num3 = sc.nextInt();
int max1 = num3>max ? num3:max;
int min1 = num3<min ? num3:min;
System.out.println("三个数字的最大值为:"+ max1);
System.out.println("三个数字的最小值为:"+ min1);
//键盘录入两个数字,比较两个数字是否相等
System.out.println("前两个数字是否相等:"+(num==num2));
}
三、流程控制
顺序结构:就是程序依次执行
public static void main(String[] args) {
//顺序结构
System.out.println("56789");
System.out.println('n');
System.out.println("小森");
}
选择结构
含义 :也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑
运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。Java语言提供了两种选择结构语句:if语句和switch语句
if语句
if语句第一种格式(单分支):
if (关系表达式) {
语句体;
}
关系表达式必须是boolean类型的表达式,关系表达式结果为true的时候执行语句体
----------------------------------------------------------------------
if语句第二种格式(双分支):
if (关系表达式) {
语句体1;
}else{
语句体2;
}
关系表达式必须是boolean类型的表达式,关系表达式结果为true的时候执行语句体,为false的时候
执行语句体2
----------------------------------------------------------------------
if语句第三种格式(多分支):
if (关系表达式1) {
语句体1;
}else if(关系表达式2){
语句体2;
}else if(关系表达式...){
语句体...;
}else {
语句体n+1;
}
关系表达式必须是boolean类型的表达式,关系表达式1结果为true的时候执行语句体1,关系表达式2结
果为true的时候执行语句体2...所有的关系表达式结果都不为true的时候执行语句体n+1.
案例演示:
//键盘录入一个年龄,判断是少年(14)、青年(40)、中年(65)还是老年(130)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入年龄(1~130):");
int age = sc.nextInt();
if (age>0 && age<=14){
System.out.println(age+"岁是一个少年");
}else if(age>14 && age<=40){
System.out.println(age+"岁是一个青年人");
}else if(age>40 && age<=65){
System.out.println(age+"岁是一个中年人");
}else if(age>65 && age<=130){
System.out.println(age+"岁是一个老年人");
}else {
System.out.println("你输入的年龄有误,请重新输入");
}
}
if语句注意事项
if语句,语句体只有一句的时候 {} 可以省略
案例演示:
public static void main(String[] args) {
int age = 18;
// if (age>=18){
// System.out.println("成年");
// System.out.println("成年");
// System.out.println("成年");
// }
// if (age>=18)
// System.out.println("成年");
// System.out.println("成年");
// System.out.println("成年");
if (age>=17)
System.out.println("成年");
else
System.out.println("未成年");
}
switch语句(switch 关键字 开关)
switch语句格式:
switch(表达式) {
case 值1:
语句体;
break;
case 值2:
语句体;
break;
...
default:
语句体n+1;
break;
}
格式解释:
switch表示这是switch语句,表达式的取值:byte,short,int,char(JDK5以后可以是枚举,JDK7以
后可以是String)
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
案例演示:
//键盘录入一个数,判断是周几
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入1~7");
int num = sc.nextInt();
switch(num){
case 1:
System.out.println("今天周一");
break;
case 2:
System.out.println("今天周二");
break;
case 3:
System.out.println("今天周三");
break;
case 4:
System.out.println("今天周四");
break;
case 5:
System.out.println("今天周五");
break;
case 6:
System.out.println("今天周六");
break;
case 7:
System.out.println("今天周日");
break;
default:
System.out.println("输错了");
break;
}
}
break可以省略,但不建议,特殊情况可以使用
案例演示:
//案例:输入一个月份,判断是什么季节
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个月份:");
int jj = sc.nextInt();
switch (jj){
case 12:
case 1:
case 2:
System.out.println(jj+"月是冬季");
break;
case 3:
case 4:
case 5:
System.out.println(jj+"月是春季");
break;
case 6:
case 7:
case 8:
System.out.println(jj+"月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(jj+"月是秋季");
break;
default:
System.out.println("请输入正确月份");
break;
}
}
比较一下有什么区别,两次输出结果可以打在评论区探讨
public static void main(String[] args) {
int a = 1;
int b = 2;
switch (a){
default:
b++;
case 2:
b++;
case 3:
b++;
}
System.out.println("b"+b);
}
----------------------------------------------------------
public static void main(String[] args) {
int a = 1;
int b = 2;
switch (a){
default:
b++;
break;
case 2:
b++;
case 3:
b++;
}
System.out.println("b"+b);
}