赋值运算符
- 基本的赋值运算符
- 扩展的赋值运算符:+=,-=,*=,/=,...
int a=8;
a+=10;
System.out.println(a);//18
关系运算符
- ==,!=,>,>=,<,<=
- 关系运算符的结果都是boolean型,也就是说要么是true,要么是false
- 注意事项:关系运算符“==”不能误写为“=”
int a=10;
int b=20;
boolean bo=a==b;
System.out.println(bo);//false
boolean bo1=a!=b;
System.out.pritnln(bo1);//true
逻辑运算符
- 逻辑运算符用于连接布尔型表达式,在java中不可以写成3<x<6,应该写成x>3&&x<6
- &,|,^,!(取反)
“&”和“&&”的区别:
- 单&时,左边无论真假,右边都进行运算。
- 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
”|“和”||”的区别同理。
int a=10;
int b=20;
boolean bo= a>10 && a<20; 双符号的如果第一个关系表达式是错的,则结果就是错的
System.out.println(bo);//false
boolean bo1= a==10 || a<20;
System.out.println(bo);//true
boolean boo= a<7 && a++>4;
System.out.println(a);//10
boolean boo= a<7 & a++>4;单符号的无论第一个能否确定结果,后面的式子都执行。
System.out.println(a);//11
异或:相同为false,不同为true
Boolean bo=true^true;
System.out.println(bo);//false
Boolean boo=true^false;
System.out.println(boo);//true
三元运算符
- 格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为fasle,运算后的结果为表达式2;
- 示例
获取两个数中大数
int x=3;y=4;z;
z=(x>y)?x:y; // 变量存储的 就是两个数的大数
int a=2>1?0:-1;
System.out.println((a);//0
三元运算符练习:
int a=10;
int b=20;
用三元运算符求出最大的那个数 然后输出
int d=a<b?b:a;
System.out.println(d);//20
int a=10;
int b=20;
int c=30;
用三元运算符求出三个数中最大的
方法1:int max=a>b? (a>c?a:c) :(b>c?b:c) 三元运算符可以嵌套使用
方法2:int max=a>b?b:c;
max=max>c?max:c;
System.out.println(max);
键盘录入Scanner
- 键盘录入概述-----我们目前在写程序的时候,数据值都是个固定的,但是实际在开发过程中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。
- 如何实现键盘录入数据呢?(目前先记住使用)
(1)导包---位置放到class定义的上面 import java.util.Scanner;
- 创建对象Scanner sc=new Scanner(System.in);
- 接收数据int x=sc.nextInt();
键盘录入数据练习
- 键盘录入两个数据,并对这两个数据求和,输出其结果。
- 键盘录入两个数据,获取这两个数据中的最大值。
- 键盘录入这两个数据,比较这两个数据是否相等。
- 键盘录入三个数据,获取这三个数据中的最大值
流程控制语句
- 在一个程序执行过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
- 流程控制语句分类
- 顺序结构
- 选择结构
- 循环结构
顺序结构
- 顺序结构概述-----是程序中最简单最基本的流程控制语句,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
- 总的来说:写在前面的先执行,写在后面的后执行。
选择结构
- 选择结构---也被称为分支结构。
- 选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
- Java语言提供了两种选择结构语句
- if 语句
- switch 语句
选择结构(if语句)
- if语句有三种格式
- if语句第一种格式
if (关系表达式){
语句体
代码块
}
- 执行流程:
- 首先判断关系表达式看其结果是否是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
第1种写法 只有1个条件进行判断
if(判断语句){语句1} 我们也可以省略这对{} 前提是{}里面只有一行代码
if(true){
System.out.println(1);
}
System.out.println(2);
}
第2种写法 只有1个条件进行判断
Int a=10;
Int b=20;
If(a>b){
System.out.println(“对”);
}else{
System.out.println(“错”);
}
System.out.println(1111);
第3种写法 多个条件进行判断
if(){
}else if(){
}else if(){
}else{
}
if语句可以嵌套使用
If(){
if(){
}
}
控制台输入三个数 最终输出三个数最大的那个数 用if语句做
选择结构语句(switch语句)
- 执行流程---
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
选择结构(switch语句)
- switch语句格式
switch(表达式){byte short int char String
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
----
default;
case 值n+1:
break;
}
int a=1;
switch(a){
case 1:
System.out.println(“a”);
break;
case 2:
System.out.println(“b”);
break;
case 3:
System.out.println(“c”);
break;
case 4:
System.out.println(“d”);
break;
case 5:
System.out.println(“e”);
break;
default:
System.out.println(“w”);
case 7:
System.out.println(“g”);
case 8:
System.out.println(“k”);
}
当a=1,结果abcdew
当a=4,结果dew
如果a的值和哪个case后面的值的对应上 就从那个case开始向下执行 遇到break就结束
如果没有对应上的,就从default开始向下执行
一般在项目中不会遇上default后面还有case
switch括号里面和case后面的值,可以是byte short int char String 还有枚举类型 不可以是long类型、小数类型
作业:通过控制台输入一个月份
Scanner sc=new Scanner(System.in);
int month=sc.nextInt();
switch(month){
case 3;
case 4;
case 5;
System.out.println(“春天”);
break;
}
case 6;
case 7;
case 8;
System.out.println(“夏天”);
break;
}
Case9;
case 10;
case 11;
System.out.println(“秋天”);
break;
}
case 12;
case 1;
case 2;
System.out.println(“冬天”);
break;
}
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
}