Java选择结构和三目运算笔记大全.docx

上传人:b****5 文档编号:29293460 上传时间:2023-07-22 格式:DOCX 页数:27 大小:19.84KB
下载 相关 举报
Java选择结构和三目运算笔记大全.docx_第1页
第1页 / 共27页
Java选择结构和三目运算笔记大全.docx_第2页
第2页 / 共27页
Java选择结构和三目运算笔记大全.docx_第3页
第3页 / 共27页
Java选择结构和三目运算笔记大全.docx_第4页
第4页 / 共27页
Java选择结构和三目运算笔记大全.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

Java选择结构和三目运算笔记大全.docx

《Java选择结构和三目运算笔记大全.docx》由会员分享,可在线阅读,更多相关《Java选择结构和三目运算笔记大全.docx(27页珍藏版)》请在冰豆网上搜索。

Java选择结构和三目运算笔记大全.docx

Java选择结构和三目运算笔记大全

1双目运算

/*

单目运算符:

~3

双目运算符:

3+4

三目运算符:

格式:

比较表达式?

表达式1:

表达式2;

比较表达式:

结果是一个boolean类型。

执行流程:

根据比较表达式的计算返回一个true或者false。

如果是true,就把表达式1作为结果。

如果是false,就把表达式2作为结果。

*/

classOperatorDemo{

publicstaticvoidmain(String[]args){

intx=100;

inty=200;

intz=((x>y)?

x:

y);

//intz=((x

x:

y);

//intz=((x==y)?

x:

y);

//报错

//intz=((x=y)?

x:

y);

System.out.println("z:

"+z);

}

}

2练习

/*

练习:

获取两个整数中的最大值

获取三个整数中的最大值

比较两个整数是否相同

*/

classOperatorTest{

publicstaticvoidmain(String[]args){

//获取两个整数中的最大值

intx=100;

inty=200;

intmax=(x>y?

x:

y);

System.out.println("max:

"+max);

System.out.println("--------");

//获取三个整数中的最大值

inta=10;

intb=30;

intc=20;

//分两步:

//A:

先比较a,b的最大值

//B:

拿a,b的最大值在和c进行比较

inttemp=((a>b)?

a:

b);

//System.out.println(temp);

intmax1=(temp>c?

temp:

c);

System.out.println("max1:

"+max1);

//一步搞定

//intmax2=(a>b)?

((a>c)?

a:

c):

((b>c)?

b:

c);

//这种做法不推荐。

//intmax2=a>b?

a>c?

a:

c:

b>c?

b:

c;

//System.out.println("max2:

"+max2);

System.out.println("--------");

//比较两个整数是否相同

intm=100;

intn=200;

//booleanflag=(m==n)?

true:

false;

booleanflag=(m==n);

System.out.println(flag);

}

}

3键盘录入

/*

为了让程序的数据更符合开发的数据,我们就加入了键盘录入。

让程序更灵活一下。

那么,我们如何实现键盘数据的录入呢?

A:

导包

格式:

importjava.util.Scanner;

位置:

在class上面。

B:

创建键盘录入对象

格式:

Scannersc=newScanner(System.in);

C:

通过对象获取数据

格式:

intx=sc.nextInt();

*/

importjava.util.Scanner;

classScannerDemo{

publicstaticvoidmain(String[]args){

//创建键盘录入数据对象

Scannersc=newScanner(System.in);

System.out.println("请你输入一个数据:

");

intx=sc.nextInt();

System.out.println("你输入的数据是:

"+x);

}

}

4练习

/*

键盘录入练习:

键盘录入两个数据,并对这两个数据求和,输出其结果

*/

importjava.util.Scanner;

classScannerTest{

publicstaticvoidmain(String[]args){

//键盘录入两个数据,并对这两个数据求和,输出其结果

//创建键盘录入对象

Scannersc=newScanner(System.in);

System.out.println("请输入第一个数据:

");

intx=sc.nextInt();

System.out.println("请输入第二个数据:

");

inty=sc.nextInt();

//把键盘录入的数据进行相加即可

intsum=(x+y);

System.out.println("sum:

"+sum);

}

}

练习2

/*

键盘录入练习:

键盘录入两个数据,获取这两个数据中的最大值

*/

importjava.util.Scanner;

classScannerTest2{

publicstaticvoidmain(String[]args){

//创建键盘录入对象

Scannersc=newScanner(System.in);

System.out.println("请输入第一个数据:

");

inta=sc.nextInt();

System.out.println("请输入第二个数据:

");

intb=sc.nextInt();

//获取这两个数据中的最大值

intmax=(a>b?

a:

b);

System.out.println("max:

"+max);

}

}

练习3

/*

练习:

键盘录入三个数据,获取这三个数据中的最大值

键盘录入两个数据,比较这两个数据是否相等

*/

importjava.util.Scanner;

classScannerTest3{

publicstaticvoidmain(String[]args){

//键盘录入三个数据,获取这三个数据中的最大值

//创建键盘录入对象

Scannersc=newScanner(System.in);

System.out.println("请输入第一个数据:

");

inta=sc.nextInt();

System.out.println("请输入第二个数据:

");

intb=sc.nextInt();

System.out.println("请输入第三个数据:

");

intc=sc.nextInt();

//获取这三个数据中的最大值

inttemp=((a>b)?

a:

b);

intmax=(temp>c?

temp:

c);

System.out.println("max:

"+max);

System.out.println("------------------");

//键盘录入两个数据

System.out.println("请输入第一个数据:

");

intx=sc.nextInt();

System.out.println("请输入第二个数据:

");

inty=sc.nextInt();

//比较这两个数据是否相等

booleanflag=(x==y);

System.out.println("flag:

"+flag);

}

}

3顺序结构

/*

流程控制语句:

可以控制程序的执行流程。

分类:

顺序结构

选择结构

循环结构

顺序结构:

从上往下,依次执行。

*/

classShunXuJieGouDemo{

publicstaticvoidmain(String[]args){

System.out.println("程序开始了");

System.out.println("我爱Java");

System.out.println("程序结束了");

}

}

4if语句

/*

选择结构:

if语句

switch语句

if语句:

格式1

格式2

格式3

if语句的格式:

if(比较表达式){

语句体;

}

执行流程:

先计算比较表达式的值,看其返回值是true还是false。

如果是true,就执行语句体;

如果是false,就不执行语句体;

*/

classIfDemo{

publicstaticvoidmain(String[]args){

intx=10;

if(x==10){

System.out.println("x等于10");

}

if(x==20){

System.out.println("x等于20");

}

System.out.println("over");

}

}

/*

if语句的注意事项:

A:

比较表达式无论简单还是复杂,结果必须是boolean类型

B:

if语句控制的语句体如果是一条语句,大括号可以省略;

如果是多条语句,就不能省略。

建议永远不要省略。

C:

一般来说:

有左大括号就没有分号,有分号就没有左大括号

*/

classIfDemo2{

publicstaticvoidmain(String[]args){

intx=10;

if(x==10){

System.out.println("x等于10");

}

if((x>5)||(x==10)){

System.out.println("x大于或者等于10");

}

System.out.println("-------------------");

inta=100;

/*

if(a==100){

System.out.println("a的值是100");

}

*/

if(a!

=100){

System.out.println("a的值是100");

System.out.println("over");

}

System.out.println("-------------------");

intb=100;

if(b!

=100);//这里其实是有语句体的,只不过是空语句体。

//代码块

{

System.out.println("b的值是100");

System.out.println("over");

}

}

}

5if语句格式2

/*

if语句格式2:

if(比较表达式){

语句体1;

}else{

语句体2;

}

执行流程:

首先计算比较表达式的值,看其返回值是true还是false。

如果是true,就执行语句体1;

如果是false,就执行语句体2;

注意:

else后面是没有比较表达式的,只有if后面有。

*/

classIfDemo3{

publicstaticvoidmain(String[]args){

//判断两个数据是否相等

inta=10;

intb=20;

if(a==b){

System.out.println("a等于b");

}else{

System.out.println("a不等于b");

}

}

}

/*

由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。

所以,我们就认为他们可以完成一样的操作。

但是,他们就一点区别没有吗?

肯定不是。

区别:

三元运算符实现的,都可以采用if语句实现。

反之不成立。

什么时候if语句实现不能用三元改进呢?

当if语句控制的操作是一个输出语句的时候就不能。

为什么呢?

因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

*/

classIfDemo4{

publicstaticvoidmain(String[]args){

//获取两个数据的最大值

inta=10;

intb=20;

//用if语句实现

intmax1;

if(a>b){

max1=a;

}else{

max1=b;

}

System.out.println("max1:

"+max1);

//用三元改进

intmax2=(a>b)?

a:

b;

System.out.println("max2:

"+max2);

System.out.println("----------");

//判断一个数据是奇数还是偶数,并输出是奇数还是偶数

intx=100;

if(x%2==0){

System.out.println("100是一个偶数");

}else{

System.out.println("100是一个奇数");

}

//用三元改进

//这种改进是错误的。

//Strings=(x%2==0)?

System.out.println("100是一个偶数");:

System.out.println("100是一个奇数");;

}

}

6if语句格式3

/*

if语句的格式3:

if(比较表达式1){

语句体1;

}elseif(比较表达式2){

语句体2;

}elseif(比较表达式3){

语句体3;

}

...

else{

语句体n+1;

}

执行流程:

首先计算比较表达式1看其返回值是true还是false,

如果是true,就执行语句体1,if语句结束。

如果是false,接着计算比较表达式2看其返回值是true还是false,

如果是true,就执行语句体2,if语句结束。

如果是false,接着计算比较表达式3看其返回值是true还是false,

...

如果都是false,就执行语句体n+1。

*/

importjava.util.Scanner;

classIfDemo5{

publicstaticvoidmain(String[]args){

//需求:

键盘录入一个成绩,判断并输出成绩的等级。

/*

90-100优秀

80-90好

70-80良

60-70及格

0-60不及格

*/

//创建键盘录入对象

Scannersc=newScanner(System.in);

//录入数据

System.out.println("请输入你的考试成绩:

");

intscore=sc.nextInt();

/*

if(score>=90&&score<=100){

System.out.println("优秀");

}elseif(score>=80&&score<90){

System.out.println("好");

}elseif(score>=70&&score<80){

System.out.println("良");

}elseif(score>=60&&score<70){

System.out.println("及格");

}else{

System.out.println("不及格");

}

*/

//这样写已经满足我的基本要求,但是可能别人在使用的时候,不会按照你要求的数据给出了。

//在做一个程序的基本测试的时候,一定要考虑这样的几个问题:

//正确数据,错误数据,边界数据。

//而我们刚才写的程序并没有处理错误数据,所以这个程序不是很好,要改进

/*

if(score>=90&&score<=100){

System.out.println("优秀");

}elseif(score>=80&&score<90){

System.out.println("好");

}elseif(score>=70&&score<80){

System.out.println("良");

}elseif(score>=60&&score<70){

System.out.println("及格");

}elseif(score>=0&&score<60){

System.out.println("不及格");

}else{

System.out.println("你输入的成绩有误");

}

*/

//另一种判断改进

if(score<0||score>100){

System.out.println("你输入的成绩有误");

}elseif(score>=90&&score<=100){

System.out.println("优秀");

}elseif(score>=80&&score<90){

System.out.println("好");

}elseif(score>=70&&score<80){

System.out.println("良");

}elseif(score>=60&&score<70){

System.out.println("及格");

}else{

System.out.println("不及格");

}

}

}

7

/*

if语句格式2的练习:

A:

获取两个数据中较大的值

B:

判断一个数据是奇数还是偶数,并输出是奇数还是偶数

*/

importjava.util.Scanner;

classIfTest{

publicstaticvoidmain(String[]args){

//创建键盘录入对象

Scannersc=newScanner(System.in);

//获取两个数据中较大的值

System.out.println("请输入第一个数据:

");

inta=sc.nextInt();

System.out.println("请输入第二个数据:

");

intb=sc.nextInt();

//定义一个变量接收最大值

intmax;

if(a>b){

max=a;

}else{

max=b;

}

System.out.println("max:

"+max);

System.out.println("----------------");

//判断一个数据是奇数还是偶数

System.out.println("请输入你要判断的数据:

");

intx=sc.nextInt();

if(x%2==0){

System.out.println(x+"这个数据是偶数");

}else{

System.out.println(x+"这个数据是奇数");

}

}

}

8三种if的比较

/*

三种if语句分别适合做什么事情呢?

格式1:

适合做单个判断

格式2:

适合做两个判断

格式3:

适合做多个判断

需求:

键盘录入x的值,计算出y的并输出。

x>=3y=2x+1;

-1<=x<3y=2x;

x<=-1y=2x–1;

分析:

A:

由于数据要键盘录入,所以必须使用Scanner。

B:

由于是三种判断,所以我们选择if语句格式3。

*/

importjava.util.Scanner;

classIfTest2{

publicstaticvoidmain(String[]args){

//创建键盘录入对象

Scannersc=newScanner(System.in);

System.out.println("请输入x的值:

");

intx=sc.nextInt();

//定义一个y

inty;

//用if语句格式3进行判断

if(x>=3){

y=2*x+1;

}elseif(x>=-1&&x<3){

y=2*x;

}else{

y=2*x-1;

}

System.out.println("y:

"+y);

}

}

9键盘录入

/*

键盘录入月份的值,输出对应的季节。

春3,4,5

夏6,7,8

秋9,10,11

冬12,1,2

分析:

A:

键盘录入月份的值,所以我们要使用Scanner。

B:

我们应该判断这个月份在那个季节,而这个判断情况较多,所以,用if语句格式3。

if语句的使用场景:

A:

针对表达式是一个boolean类型的判断

B:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1