目录
一、关系运算符和逻辑运算符
1、关系运算符
关系运算符包括 > < >= <= != ==
关系运算符比较的结果是一个boolean值
>是数学运算里的大于号,<是数学里的小于号,>=是数学里的大于等于,<=是数学里的小于等于,==是数学里的等于,!=是数学里的不等于。
2、逻辑运算符
逻辑运算符包括:
逻辑与&& 逻辑或|| 逻辑非!
逻辑与&&:用来衔接多个条件,这些条件必须全部满足时才为真,否则为假
逻辑或||:用来衔接多个条件,这些条件必须要同时不满足时才为假,否则为真
逻辑非!:主要用于单个条件的取反
一般涉及上述逻辑预算符的变量定义使用,变量类型要为boolean
&&使用例子:
public class exmple2{
public static void main(String[] args) {
int a=5;
boolean result1=5>4&&(++a>4);
System.out.println(a);//a的显示结果为6
boolean result2=5<4&&(++a>4);
System.out.println(a);//a的显示结果为6
//当&&逻辑运算符执行时,第一次出现false结果后,后面的关系判断部分不会进行
}
}
||使用例子:
public class exmple2{
public static void main(String[] args) {
int a=5;
boolean result1=5>4||(++a>4);
System.out.println(a);//a的输出结果是5
boolean result2=5<4||(++a>4);
System.out.println(a);//a的输出结果是6
//在||逻辑运算符的使用中,当第一次出现true结果时,后面的代码不会执行
}
}
!使用例子:
public class exmple2{
public static void main(String[] args) {
int a=5;
boolean result1=5>4||(++a>4);
System.out.println(result1);//输出结果是true
System.out.println(!result1);//输出结果是false
// !的作用在这是取反
}
}
二、选择结构
1、基本if选择结构
语法
if(条件){ //如果条件满足,就会进入该代码块执行代码
//代码块
}
例子:
public class exmple2{
public static void main(String[] args) {
int a=5;
int b=6;
if(a<b){
System.out.println("a<b成立");
}
if(a>b){
System.out.println("a>b成立");
}
}
}
//代码运行结果是a<b成立
2、if-else选择结构
语法
if(条件){ //如果条件成立,则会执行代码块1
//代码块1
} else { //否则执行代码块2
//代码块2
}
例子:
public class exmple2{
public static void main(String[] args) {
int a=7;
int b=6;
if(a<b){
System.out.println("执行if的代码块");
}
else{
System.out.println("执行else的代码块");
}
}
}
//输出结果是:执行else的代码块
3、三元一次运算符
语法
(条件 ? 表达式1 : 表达式2)
?表示判断前面的条件是否满足,如果满足,那么使用表达式1,如果不满足,那么执行表达式2。
三元一次运算符执行效率相较于if-else选择结构较为低下,不建议去习惯使用它。
4、else if 认识
基础语法
if(条件1){ //如果条件1满足,则执行代码块1
//代码块1
} else if(条件2) { /*如果上面条件不成立,且满足条件2,则执行代码块2,这样的结构可以有多个*/
//代码块2
}
5、嵌套if选择结构
解释:在 if if-else else if的结构中可以加入这些结构的使用。
基本语法例子:
if(条件1){ //如果条件1成立,则执行其大括号中的代码块
if(条件2){ //在满足条件1,且满足条件2时,执行条件2的代码块
//代码块
} else { /*条件1成立,条件1不成立时,执行这部分的代码块,注意else的内容可加可不加*/
//代码块
}
}
三、switch选择结构
1、概念解释
switch选择结构通过对变量进行判断选择,进入相应的代码块执行。
2、语法规则
switch(表达式){ //作用在表达式的结果上
case 常量1: //如果表达式结果为常量1,那么会执行代码块1
//代码块1
break; //表示代码块1执行结束,退出switch选择结构
case 常量2: //如果表达式结果为常量2,那么会执行代码块2
//代码块2
break; //表示代码块2执行结束,退出switch选择结构
//上面的 csae 样式可无限添加
default: //如果表达式结果不在常量1、常量2或其他常量上,那么执行代码块de
//代码块de
break; //表示退出程序
}
3、switch支持的数据类型
byte short int char Enum String
switch选择结构从JDK1.7开始支持String类型
4、补充
public class exmple2{
public static void main(String[] args) {
int a=5;
switch (a){
case 5:System.out.println("number1"); /*由于此case后面没有break,程序执行完这行后会继续执行后面的代码块,直到遇到break为止*/
case 6:System.out.println("number2");
break;
case 7:System.out.println("number3");
break;
}
}
}
//输出结果为:
number1
number2
四、Scanner输入验证
例子:
import java.util.Scanner;
public class exmple2{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a;
System.out.println("请输入一个整数:");
/*校验Scanner存储的数据中是否有下一个整数,如果Scanner中没有数据,
则让用户用户输入,用户输入后再判断是否为整数
*/
if(sc.hasNextInt()){ //也可用sc.hasNextDouble(),这类作用是验证输入是否满足类型要求
a=sc.nextInt();
System.out.println(a);
} else {
System.out.println("输入类型错误");
}
}
}
Scanner里的sc.hasNextInt()、sc.hasNextDouble()、sc.hasNextLong()等可作为输入验证的一大工具。