当前位置: 移动技术网 > IT编程>开发语言>Java > 培训日记三

培训日记三

2020年07月31日  | 移动技术网IT编程  | 我要评论
流程控制:在一个程序执行过程中,每一个语句都是顺序执行的,对程序的结果有直接的影响,也就是说,程序的流程对我们 的结果有直接的影响,所以我们必须要搞清楚,我们的各个语句的执行流程,很多时候我们要通过控制语句的执行 顺序来实现我们的实现我们的功能。1、顺序执行:public class Hello{public static void main(String[] args){//顺序执行,根据编写的代码,从上到下执行System.out.println(1);System.out.

流程控制:

在一个程序执行过程中,每一个语句都是顺序执行的,对程序的结果有直接的影响,也就是说,程序的流程对我们 的结果有直接的影响,所以我们必须要搞清楚,我们的各个语句的执行流程,很多时候我们要通过控制语句的执行 顺序来实现我们的实现我们的功能。

1、顺序执行:

public class Hello{
	public static void main(String[] args){
		//顺序执行,根据编写的代码,从上到下执行
		System.out.println(1);
		System.out.println(2);
		System.out.println(3);
		System.out.println(4);
	}
}

2、判断语句:

2.1、判断语句 if
格式:
if(关系表达式){
语句体;
}
程序语句;
执行流程:首先先判断关系表达式结果,如果他的结果是true,这个时候会执行语句体,如果是false,那么不执行 语句体。
在这里插入图片描述

public class Hello{
	//程序入口
	public static void main(String[] args){
		//if语句
		System.out.println("程序的开始");
		//定义两个变量
		int a=20;
		int b=30;
		//变量使用if语句
		if(a==b){
			System.out.println("a等于b");
		}
		int c=30;
		if(c==b){
			System.out.println("c等于b");
		}
		System.out.println("程序的结束");
	}
}

2.2、判断语句if–else
格式:
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行顺序:
首先判断关系表达式看其结果,如果是true,那么执行语句体1,如果false,执行语句体2
在这里插入图片描述

public class Hello{
	//程序的入口
	public static void main(String[] args){
		//判断给定的数据是奇数还是偶数
		int a=1;
		if(a%2==0){
			System.out.println("a是偶数");
		}else{
			System.out.println("a是个奇数");
		}
		System.out.println("程序结束!");
	}
}

2.3、判断语句if …else if…
格式:
if(关系表达式1){
语句体1
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}else{
语句体4;
}
执行流程:
首先判断关系表达式1,如果是true,执行语句体1,如果是false,那么就判断关系表达式2,如果true,那么在执 行语句体2,如果是false,那么就判断关系表达式3,如果是true,那么执行语句体3,如果是false,那么执行语句 体4。

public class Hello{
	//程序的入口
	public static void main(String[] args){
		/*
		* x>=3  y=2x+1;
		* -1<=x<3	y=2x;
		* x<-1	y=2x-1;
		* */
		int x=2;
		int y;
		if(x>=3){
			y=2*x+1;
		}else if(x>=-1&&x<3){
			y=2*x;
		}else{
			y=2*x-1;
		}
		System.out.println("y的值是:"+y);
	}
}

2.4、语句练习:
指定考试成绩,判断学生等级
90-100 优秀
80-89 好
70–79 良
60-69 及格
60以下 不及格

public class Hello{
	public static void main(String[] args){
		demo();
	}
	public static void demo(){
		int soure=100;
		if(scour<0 || score>100){
			System.out.println("你这个成绩输入有问题!");
		}else if(score>=90 && score<=100){
			System.out.println("你的成绩属于优秀!");
		}else if(score>=80 && score<90){
			System.out.println("你的成绩属于优秀!");
		}else if(score>=70 && score<80){
			System.out.println("你的成绩属于优秀!");
		}else if(score>=60 && score<70){
			System.out.println("你的成绩属于优秀!");
		}else{
			System.out.println("你的成绩不及格");
		}
	}
}

2.5、if语句和三元运算互换

public class Hello{
	//程序的入口
	public static void main(String[] args){
		int a=10;
		int b=20;
		//保存我们a和b中的最大值
		int c;
		if(a>b){
			c=a;
		}else{
			c=b;
		}
		c=a>b?a:b//可代替上方步骤
	}
}

3、选择语句:
switch语句格式:
switch(表达式){
case 常量值1:
break;
case 常量值2:
break;
case 常量值3:
break;
default:
语句体;
break;
}
执行流程:
首先判断一下表达式的值, 其次,和case进行比较,一旦对应上,就会执行相关的语句,在执行过程中,遇见break就会结束,最后,如果所 有的case和表达式不匹配,就会执行default语句体的语句,然后程序结束。
在这里插入图片描述
switch语句中:
表达式的类型:byte,short,int,char,enum(枚举) jdk1.5中才有的,面试时可能会问到。
jdk1.7后可以接受字符串。
case的穿透性:
在switch语句中,如果case后面不写break,将出现穿透现象,也就是不会判断下一个case的值,直接向后运行, 知道遇见break,或者整体switch结束。
在这里插入图片描述
上述程序总,执行case5后,由于没有break,程序一直往后走,不会判断case的值,直接运行到下一个break或者 switch结束,由于有我们的case的穿透性,所以对我们初学者加上我们break。
4、循环语句:
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段重复的代码执行称为循环。当我反复执行这个 循环的,需要在合适的场合给他把判断条件修改为false,从而结束我们的循环,否则循环会一直执行下去。
4.1、for循环
格式:
for(初始化表达式1;布尔类型表达式2;步进表达式4){
循环体3
}
执行流程:
1–2--3—4---2–3---------一直到了不满足我们的布尔表达式结束。
初始化表达式1:负责完成循环变量的初始化
布尔类型表达式2:负责判断是否满足循环条件,不满足就退出循环
循环体3:具体的执行语句
步进表达式:循环后,循环条件涉及到的变量的变化情况。
在这里插入图片描述
在这里插入图片描述
循环练习:使用循环,计算1-100之间的偶数和
在这里插入图片描述
4.2、while循环
格式:
初始化表达式1
while(布尔表达式2){
循环体3;
步进表达式4;
}
执行流程:
1----2----3----4----2----3----4— 执行不满足我们的布尔表达式的时候
初始换表达式1:负责循环变量的初始化
布尔类型表达式2:负责判断是否满足循环条件,不满足择退出
步进表达式3:循环变量的变化情况
在这里插入图片描述
while计算我们的1-100的和:
在这里插入图片描述
4.3、do…while循环(不常用)
初始化表达式0
do{
循环体1;
步进表达式2;
}while(布尔表达式3);
执行流程:
1—2-----3----1-----2—3---直到我们的布尔类型表达式不满足条件,循环结束
循环体1:具体的执行语句
步进表达式2:负责改变我们循环变量
布尔类型表达式3:就是我们的判断条件
在这里插入图片描述
在这里插入图片描述
do…while循环的特点:无条件执行一次循环,即使我们将循环条件写成false。这样循环有风险,初学者不建议使 用,do…while
4.4、循环语句的区别:
控制条件语句所控制的变量,在for循环结束以后,就不能在使用了,而while循环结束以后还可以使用我们的循环 变量,原因是for循环结束,该变量从内存中消失,能够提高我们的内存的使用率。

在后面我们遇见题目,先判断该题是否有循环次数,如果能,就选择for循环,如果不能,选择我们的while
5、跳转语句:
break:
使用场景:终止我们的switch或者循环的时候。如果离开的我们的实用场景,没有任何意义。
在这里插入图片描述
continue:
使用场景:结束本次循环,继续下一次循环
在这里插入图片描述
扩展:
死循环:
也就是我们的循环中条件运算是true,死循环是永远不会结束的循环,比如while(true){}。

在后期开发中,会使用死循环的场景,比如我们需要读取用户的输入的数据,但是用户的输多少我们不知道,也只 能使用死循环,当用户不想输入数据的售后,就可以结束我们的循环。用我们额break的语句去结束。

嵌套循环:
是一个循环的循环体中是另外一个循环你,比如我们的for循环中还有一个循环,循环的总次数就是我们的外循环 次数*内循环的次数.

嵌套循环的格式:
for(初始化表达式1;循环条件2;步进表达式){ 循环体1
for(初始化表达式2;循环条件3;步进表达式){ 循环体
}
}
在这里插入图片描述
一道面试题

int i = 0;
for(i++ ; i++<10; i++)
//可将“i++<10”看成i<10,i++
//for(i++ ; i<10,i++ ; i++);这是不对的编译方式
//i=12
System.out.println(++i);//13

在这里插入图片描述
在这里插入图片描述
九九乘法表:
在这里插入图片描述
在这里插入图片描述
水仙花数
在这里插入图片描述
完数
在这里插入图片描述
下落球

public static void main(String[] args){
	/* 一球从100米高度自由下落,每次落地后反跳回原来高度的一半;在下落,求它在第10次落地时,共经过多少米?第10次反弹多高 */
	double height=100;
	double total=height;
	for(int i = 1; i<=10 ; i++){
		height/=2;
		System.out.println("第"+i+"次反弹的高度"+height);
		if(i==10){
			break;
		}
		total+=height*2;
	}
	System.out.println("第10次落地经历的路程"+total);
}

组合
在这里插入图片描述

本文地址:https://blog.csdn.net/qq_40793592/article/details/107700024

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网