java第三章

选择结构

基本if选择结构

if(判断条件){
//代码
}

if-else选择结构

if(判断条件){
//条件为true,执行的代码
}else{
//条件为false,执行的代码
}

注意:

  1. 简化的if-else,在if-else结构中,如果只有一句代码那么“{}”可以省略
  2. 使用if-else做判断赋值操作时,与条件运算符的格式转换

多重if选择结构

说明:一般用于条件为区间的形式

if(条件1){
//条件1为true时,执行的代码
}else if(条件2){
//条件1为false并且条件2为true时,执行的代码
}else if(条件3){
//条件2为false并且条件3为true时,执行的代码
//在条件3之下可能还会出现多个条件,此处不再列举
}else{
//当条件3为false时,执行的代码
}

注意:条件区间要连续,不要出现跨越

嵌套if选择结构

if(外层判断条件){
			//外层条件为true时
			if(内层判断条件){
			//内层判断条件为true时,执行的代码
			}else{
			//内层判断条件为false时,执行的代码
			}
//其他代码
}else{
//外层判断条件为false时,执行的代码
}

三元运算

 判断条件 ? 结果1 : 结果2

举例:

int week=3;
String jie= week==6||week==7?"周天":"不是周天";
System.out.println(jie);

结果:
输出:不是周天

Switch选择结构

switch(用于比较的数值){
			 case 数值常量1:
			     //代码1
			 break;
			 case 数值常量2:
			     //代码2
			 break;
			 case 数值常量3:
			     //代码3
			 break;
		   ...
			 default:
			     //default代码
			 break;
}

switch常用于等值判断
举例:

int tian=1;
switch (tian) {
case 1:
	System.out.println("周一");
	break;
case 2:
	System.out.println("周二");
	break;
case 3:
	System.out.println("周三");
	break;
case 4:
	System.out.println("周四");
	break;
case 5:
	System.out.println("周五");
	break;		
default:
	System.out.println("周六周天休息");
	break;
}

结果:
输出:周一
switch中的break可以省略,省略时执行下一个case
举例:
题目:输入日期判断,1,3,5到校自习,2,4,6上课,周天休息

System.out.println("请输入日期:");
int qi=input.nextInt();
switch (qi) {
case 1:
case 3:
case 5:
	System.out.println("到校自习");
	break;
case 2:
case 4:
case 6:
	System.out.println("上课");
	break;
default:
	System.out.println("休息一天");
	break;
}

注意:

  1. 用于比较的数值,它的数据类型/数值常量的数据类型:JDK 1.7以前,支持int,char;JDK 1.7及以后,支持int,char,String
  2. case结构中,不写break关键字,switch的执行过程。

循环结构

While循环

while(循环条件){
		//循环执行的代码
}

do-while循环

do{
   //循环执行的代码
}whie(循环条件);

For循环

for(变量初始化;循环条件;变量的迭代){
	//循环执行的代码
}

While,do-while两者异同

相同点:都是循环结构,都可以完成循环操作
不同点:

  1. 语法不同
  2. 执行顺序不同,while是先判断后执行do-while是先执行后判断
  3. 循环次数不同,while有可能一次也不执行,do-while至少无条件执行一次

While,do-while,for三者执行特点

while: 先判断,后执行。
do-while: 先执行,后判断。循环执行的代码无论条件是否成立,都会至少执行一次。
for: 先判断,后执行。一般用于明确知道循环次数的情况,不适用于”是/否“这样的判断

二重循环

概念

一个循环体中,包含另一个完整循环。

执行特点

外层循环执行一次,内层循环要从头到尾执行一遍。

案例

直角三角形
for (int i = 1; i <6; i++) {
	for (int j = 1; j <=2*i-1; j++) {
		System.out.print("*");
	}
	System.out.println();
}
等腰三角形
for (int i = 1; i <6; i++) {
	for (int k = 1; k <6-i; k++) {
		System.out.print(" ");
	}
	for (int j = 1; j <=2*i-1; j++) {
		System.out.print("*");
	}
	System.out.println();
}
倒三角形
for (int i = 5; i >0; i--) {
	for (int j = 1; j <=i; j++) {
		System.out.print("*");
	}
	System.out.println();
}
九九乘法表
for (int i = 1; i <=9; i++) {
	for (int j = 1; j <=i; j++) {
		System.out.print(j+"*"+i+"="+(j*i)+" ");
	}
	System.out.println();
}
数字金字塔
for (int i = 1; i <=9; i++) {
	for (int j = (10-1); j >=i; j--) {
		System.out.print(" ");
	}
	for (int k = 1; k <=i; k++) {
		System.out.print(k);
	}
	for (int h = (i-1); h >=1; h--) {
		System.out.print(h);
	}
	System.out.println();
}
菱形
int gao;//输入3
do {
	System.out.println("请输入菱形高度,输入奇数:");
	 gao=input.nextInt();//输入3
} while (gao%2==0);
for (int i = 1; i <=gao/2+1; i++) {//3/2=1.5自动转成int,就是1,但是少长度最长的哪一行所以+1,=2,外层循环2次
	for (int j =gao-i-1; j >=1; j--) {//空格,高度减去外层的i,3-i,假设i现在是1,3-1=2,第一行空格是2个但是就一个*号,一个空格即可所以在他的基础上-1,逆序输出即可
		System.out.print(" ");
	}
	for (int k = 1; k <=i*2-1; k++) {//*号的规律就是外层是1的时候,内层是1;外层2,内层是3个*,所以在此基础上要*2-1就是我们想要的
		System.out.print("*");
	}
	System.out.println();
}
for (int i = gao/2; i >=1; i--) {//与上面同理,不过我们需要倒着输出,并且不需要输出最长的哪一行了,所以就不需要-1,直接逆序循环即可
	for (int j =gao-i-1; j >=1; j--) {
		System.out.print(" ");
	}
	for (int k = 1; k <=i*2-1; k++) {
		System.out.print("*");
	}
	System.out.println();
}

跳转语句

break:用来跳出它所在的switch结构或者循环结构的。
continue: 跳过它所在的循环的本次循环,执行下一次循环
Returnreturn: 中止方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云间嬉游

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值