选择结构语句之swich:
执行过程:
(1),表达式中的值先和case值1比较如果匹配执行语句1,语句braek,语句结束.
(2), 如果与值1不匹配继续和case值2进行比较,如果一致执行语句2switch结束
(3) ,如果说上面的case值和表达式中的结果都不匹配,执行default语句执行语句n,switch语句结束.
注意事项:
case语句中都有break,如果没有就会造成"case传统"
case语句后面的值只能是常量值,不能是变量值
default语句可以在语句中的任何位置不会影响switch语句的执行过程
选择结构语句之if:
三种格式:
if(条件表达式){
语句;
}
if(条件表达式){ (开发中使用居多的)
语句1;
}else{
语句2;
}
if(条件表达式1){
语句1;
}else if(条件表达式2){
语句2;
...
...
}else{
语句n;
}
格式一的执行过程:
if(条件表达式){
语句;
}
条件表达式成立,则执行语句,否则不执行;
if格式1应用场景:针对单个条件进行判断!
格式二的执行过程:
1)首先判断条件表达式是成立,如果成立,则执行语句1
2)否则,不成立,则执行语句2
注意:else后面不能带()
03_循环结构语句之for
for(初始化语句;条件表达式;控制体语句或步长语句){
循环体语句;
}
执行流程:
1)先初始化语句进行赋值
2)判断条件表达式是否成立,如果成立,执行循环体语句
2.1)继续执行控制台语句或者步长语句 对初始化语句的变量进行自增或者自减
2.2)继续判断条件表达是否成立,如果成立,按照上面 这种方式执行;
2.3)如果变量自增或者自减到条件表达式不成立为止,循环语句结束!
04_循环结构语句之while
格式:
基本格式:
while(条件表达式){
循环体语句;
控制体语句或者步长语句;
}
扩展格式:(使用多)
初始化语句:
while(条件表达式){
循环体语句;
控制体语句或者步长语句;
}
执行流程:
1)初始化语句进行变量赋值
2)判断条件表达式是否成立,
成立,执行循环体语句,依次执行控制体语句(对变量控制)
继续回到2)进行判断
...
...
3)条件表达式不满足,循环结束!
while和for的区别?
共同点:
都是使用循环思想解决一些问题
不同点:
1)格式本身不同
for(初始化语句;条件表达式;控制体语句){
循环体语句;
}
初始化语句;
while(条件表达式){
循环体语句;
控制体语句;
}
2)是否明确循环次数
for循环:明确循环次数优先for循环,(for还是很频繁使用的)
while循环:不明确循环次数,使用while循环
3)从内存角度考虑销毁不同:
for循环结束,里面的变量及时释放了,所以不能在访问for中的变量
whlile循环结束,依然可以访问里面变量,
所以消耗资源相对for循环大一些!
*数组
java提供一种容器--->可以存储同一种类型的元素--->数组
数组:必须满足这些元素数据类型必须是同一种类型!
数组定义以及初始化
定义格式:
1)数据类型[] 数组名称;
2)数据类型 数组名称[] ;
初始化:
1)动态初始化
给定数组长度,系统(jvm)默认分配数组元素内容;
格式:
数据类型[] 数组名称 = new 数据类型[数组长度] ;
数据类型 数组名称[] = new 数据类型[数组长度] ;
2) 静态初始化
给定数组元素,长度由系统给定
原本格式:
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3....} ;
数据类型 数组名称[] = new 数据类型[]{元素1,元素2,元素3....} ;
简写格式
数据类型[] 数组名称 ={元素1,元素2,元素3....} ;
数据类型 数组名称[] = {元素1,元素2,元素3....}
数组高级排序算法之:冒泡排序
思想:
两两比较,将大的值往后方法,第一次比较完毕,最大值出现在最大索引处!
面向对象的思想特点 -->基于面向过程
面向过程代表--->C语言
1)需求分析 --- 键盘录入三个数据,比较数据中最大值---->使用方法完成
2)定义方法---分析返回值/参数类型/有几个参数
3)返回结果
4)自己在main方法测试
最大特点:
自己始终执行者