java中的?判断

Python011

java中的?判断,第1张

1.三目运算

格式:

(关系表达式 结果是布尔值) ? 表达式1 : 表达式2

1

如果前面的关系成立,则返回表达式1的值。

否则,返回表达式2的值。

int a = 20

int b = 40

//返回两者中较大的数:

int max = (a>b) ? a : b

System.out.println("较大的数是:"+max)

1

2

3

4

5

6

2.if 判断

1.第一种结构

if(关系表达式:布尔值){

语句

}

1

2

3

2.第二种结构

if(关系表达式:布尔){

语句体1

}else{

语句体2

}

1

2

3

4

5

3.第三种结构

if(关系表达式1:布尔值){

语句体1

}else if(关系表达式2:布尔值){

语句体2

}.......else if(关系表达式N:布尔值){

语句体N

}else{ //最后一个else 不带条件

语句体N+1

}

str = 你要判断的字符串

一、str.contains(",")返回true 则包含,

二、str.indexOf(",")如果等于-1,则不包含。

在Java语言中,条件语句主要有两类语法:if语句和switch语句。

if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句、if-else语句和if-else if-else语句。

功能代码;语法说明:if是该语句中的关键字,后续紧跟一对小括号,该对小括号任何时候不能省略,小括号的内部是具体的条件,语法上要求该表达式结果为boolean类型。后续为功能的代码,也就是当条件成立时执行的代码,在程序书写时,一般为了直观的表达包含关系,功能代码一般需要缩进。

需要特别注意的是:

1、 这里的功能代码只能是一行,关于多行结构的功能代码,后续将说明。

2、 if(条件表达式)后续一般不书写分号if语句的执行流程为:如果条件表达式成立,则执行功能代码,如果条件表达式不成立,则不执行后续的功能代码。

示例代码:

int a = 10;

if(a >= 0)

System.out.println(“a是正数”);

if( a % 2 == 0)

System.out.println(“a是偶数”);

在该示例代码中,第一个条件是判断变量a的值是否大于等于零,如果该条件成立则执行输出,第二个条件是判断变量a是否为偶数,如果成立也输出。

注意以下代码的执行流程:

int m = 20;

if( m >20)

m += 20;

System.out.println(m);

按照前面的语法格式说明,只有m+=20;这行代码属于功能代码,而后续的输出语句和前面的条件形成顺序结构,所以该程序执行以后输出的结果为20.如果当条件成立时,需要执行的语句有多句,则可以使用语句块来进行表述。

使用一个代码块来代替前面的功能代码,这样可以在代码块内部书写任意多行的代码,而且也使整个程序的逻辑比较清楚,所以在实际的代码编写中推荐使用该种逻辑。

if-else语句实现了封闭的条件,在程序中使用的更加常见。其中else关键字的作用是“否则”,即条件不成立的情况。

if-else语句的语法格式如下:

if(条件表达式)

语法说明:其中前面的部分和if语句一样,else部分后面是功能的代码,按照该语法格式,功能代码只能有一句。

执行顺序:如果条件成立,则执行if语句中的功能代码1,否则执行else中的功能代码2.示例代码为:

int n = 12;

if(n % 2 != 0)

System.out.println(“n是奇数”);

else System.out.println(“n不是奇数”);

则因为n%2的值是0,条件不成立,则执行else语句的代码,程序输出“n不是奇数”。

第一种好,第二种虽然不用括号更方便,但代码的层次不明,可读性差,在大项目里如果出了问题改起来更麻烦,花的时间绝不止输入几个括号的时间。而且第二种也有局限性,必须是执行体只有一句的时候才能省略括号,真的得不偿失。还不如A?B:C不容易出问题,还更方便。