Java条件选择

Java的条件选择

Java运算符

比较运算符

比较运算符是用于比较两个数据的关系,比较的结果是一个boolean类型。
符号为>、<、>=、<=、== 、!=、equals
>、<、>=、<=、==、!=:用于比较基本数据类型的值。一般用来比较数字。
equals则是用于比较引用数据类型的值,一般用来比较字符串。

例如:
	int a = 100;
	int b = 200;

 	 boolean b1 = a > b;
     System.out.println(b1);
     boolean b2 = a < b;
     System.out.println(b2);
     boolean b3 = a >= b;  //a > b 或者 a == b
     System.out.println(b3);
     boolean b4 = a <= b;  //a < b 或者 a == b
     System.out.println(b4);
     boolean b5 = a == b;
     System.out.println(b5);
     System.out.println(100==100);
 	String str1 = "abcd";
     String str2 = "abc";
     System.out.println(str1.equals(str2));

逻辑运算符

一般用于比较boolean类型,结果也是boolean类型。
符号为&、|、!、&&、||
& && 与 并且 两个条件同时为真才为真,否则为假;
| || 或 或者 两个条件满足一个即可;
! 非 取反(若真则假,若假则真);

	boolean b1 = true;
	boolean b2 = false;

    boolean bb1 = b1 && b2;
    System.out.println(bb1);

    boolean bb2 = b1 || b2;
    System.out.println(bb2);

    System.out.println(!b1);

三目运算符

格式:变量 = 条件表达式?结果1,结果2
条件表达式条件成立 变量 = 结果1
条件表达式条件不成立 变量 = 结果2

 	 int a = 100;
     int b = 100;
     String s = a > b ? "a大" : "b大";
     System.out.println(s);
     结果为"b大"

Java结构

顺序结构

int num = 1;
System.out.println(++num);
System.out.println(num++);

这段代码中的运行结果是2,2。原因就是顺序结构,所谓顺序结构,其实就是按照代码原本应该的方式进行执行,从上到下,从左到右
第2,3行代码的位置交换,结果就会变成1,3。

if判断结构

if语法

if(){
	代码块……
}

选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个(true(正确)、false(错误)),所以产生选择,按照不同的选择执行不同的代码。
也就是当if()小括号中的表达式结果如果为true,则执行if(){}大括号内的代码,否则不执行。
PS:
1.if()小括号中的表达式结果只能是boolean类型。
2.如果if语句控制的代码块是一条语句,大括号可以省略。其余情况都必须携带大括号。

if—else语法

if(){
	代码块1……
}else{
	代码块2……
}

选择结构的第二种写法。增加了一种情况,属于条件分支,类似于Y字路口。功能与三目运算相同。但不能如同三目运算一样直接将结果进行赋值操作,if没有结果反馈,三目运算始终有结果反馈。
首先判断if()小括号中的表达式结果,如果是true,则执行if(){}大括号内的代码;如果是false,则执行else{}大括号内的代码。必然会也只会执行一个大括号内的代码。

else—if语法

if(){
  代码块1……
}else if{
  代码块2……
}else{
  代码块3……
}

选择结构的第三种写法。和if…else…相比,中间多了else if,相当于判断的情形多了一种。
注意:只要有一种情况成立,就执行{}中的代码,然后就跳出当前if体系。
###第四种写法

  if(){
	代码块1……
}else{
	代码块2……
}else{
	代码块3……
}

其实不只是if结构,无论任何结构,只要是在{}大括号内,我们可以编写任何逻辑代码,我们需要先进行完成判断,然后再进行内层判断。但是这种写法结构啰嗦,且需要进行多次判断,代码的执行效率较低。
这个时候就需要使用switch来解决类似问题,switch会将case后的值写入栈中,表达式的结果会直接在栈中进行查询并选择,效率更高。

switch选择结构

switch语法

语法说明:
1.表达式的取值:byte,short,int,char;JDK5以后可以是枚举;JDK7以后可以是String。
2.case后面跟的是要和表达式进行比较的值。
3.break表示中断,结束的意思,可以结束switch语句。
4.default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

	switch(表达式){
   		case 值1:
   				语句体1;
   				break;
   		case 值2:
   				语句体2;
   				break;
   				……
   		default:
   				语句体n+1;
   				break;
}

使用switch的注意事项: 1.case后面只能是常量,不能是变量,而且,多个case后面的值不能相同。 2.default可以省略。但一般不建议,除非结果是可以预计且不会发生变化的。 3.break可以省略,一般不建议。 4.default的位置可以出现在switch语句任意位置。 5.switch语句的结束条件必定是遇到break或已经执行到最末尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值