Java语言的学习进程
之前我们学习了变量的概念和一些常用的数据类型,主要有int、double、char、String、boolean,等,还包括一些运算符,算术运算符、赋值运算符以及关系运算符。但是生活中经常需要进行条件判断,根据判断结果决定是否做一件事情。对于很多复杂的需求,基本的条件判断语句也解决不了,因此,我们还要学习复杂的选择结构,主要包括多重if选择结构,嵌套if选择结构。要理解每种选择结构的语法特点,并体会它们的适用场合,并对可能出现的问题进行处理。
选择结构
if选择结构
if选择结构是根据条件判断之后再做处理的一种语法结构。
if(条件){
//代码块
}
流程图
程序执行时,先判断条件。当结果为true时,程序先执行大括号里的代码块,再执行if结构(即{}部分)后面的代码。当结果为false时,不执行大括号里的代码块,而直接执行if结构后面的代码。*
运算符 | 会议名称 | 表达式 | 说明 |
---|---|---|---|
&& | 与、并且 | 条件1&&条件2 | 两个条件同时为真,则结果为真;两个条件有一个为假,则结果为假 |
|| | 或者 | 条件1||条件2 | 两个条件有一个为真,则结果为真,两个条件同时为假,则结果为假 |
! | 非 | !条件 | 条件为真时,结果为假,条件为假时,结果为真, |
if-else选择结构
语法
if(条件){
//代码块
}else{
//代码块2
}
流程图
if-else选择结构的执行过程。
需要掌握的if选择结构如下:基本的if选择结构,只有一个if选择结构,只有一个if块;if-else选择结构,有if块和else,使用单给if选择结构无法完成,那么可以使用多个if选择结构实现,多重if选择结构在解决需要判断的条件是连续时有很大的优势。
多重if选择结构
多重if选择结构可以处理复杂的条件分支情况,多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。
语法
if(条件1){
//代码块1
}else if(条件2){
//代码块2
}else{
//代码块3
}
流程图
else if块可以有多个,也可以没有,需要几个else if块完全取决于实际需求,else块最多有应该或没有,eles块必须放在else if 后面。
嵌套if选择结构
在if选择结构中又包含一个或多个if选择结构的情况,这种结构一般用于比较复杂的流程控制中。
语法
if(条件1){
if(条件2){
//代码块1
}else{
//代码块2
}
}else{
if(条件3){
//代码块3
}else{
//代码块4
}
}
流程图
switch选择结构
switch选择结构可以更好地解决等值判断问题。
语法
switch(表达式){
case常量1:
//代码块1
break;
case 常量2
//代码块2
break;
.....
default;
//代码块n;
break;
}
switch选择结构用到了四个关键字:
- switch:表示“开关”,这给开关就是switch关键字后面小括号里表达式的值,switch语句小括号里可以都是int、short、byte、char、String类型表达式。
- case:表示“情况、情形“,case后可以是int、short、byte、char、String类型通常是一个固定的值。case块可以有多个,顺序可以改变,但是每个case后常量的值必须各不相同。
- default:表示”默认“,即其他情况都不满足。default后要紧跟冒号。default块和case块的先后顺序可以变动,不会影响程序执行的结果。通常,default块放在末尾,也可以省略。
- break:表示”停止“,即退出当前结构。
多重if选择结构和switch选择结构很相似,它们都是用来处理多分支条件的结构,但是switch选择结构只能用于等值条件条件判断的情况。
符号汇总
循环结构
循环不是无休无止的进行的,满足一定条件的时候循环才会继续,称为”循环条件“,循环条件不满足的时候,循环退出;其次,循环结构是反复进行相同的或类似的一系列操作,称为”循环操作“
while循环
语法
while(循环条件){
//循环条件
}
流程图
while循环结构的执行顺序;
(1)声明并初始化循环变量
(2)判断循环条件是否满足,如果满足则执行循环操作:否则退出循环。
(3)执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循环。
while循环结构如果第一次判断条件时就不满足,则会直接跳出循环,循环操作一遍都不会执行。这是while循环结构的一点特点;先判断,后执行。
do-while循环
语法
do{
//循环结构
}while(循环条件);
流程图
do-while循环的执行顺序如下;
(1)声明并初始化循环变量。
(2)执行一遍循环条件。
(3)判断循环条件,如果循环条件满足,则循环继续执行,否则退出循环。
do-while循环的特点是先执行,再判断,循环操作至少执行一遍。
for循环结构
for循环结构主要作用是反复执行一段代码,直到满足条件为止。
语法
for(表达式1;表达式2;表达式3){
//循环体
}
(1)表达式1;赋值语句,循环结构的初始部分,为循环变量赋初值
(2)表达式2;条件语句,循环结构的循环条件
()表达式3;赋值语句,通常使用++或–运算符,循环结构的迭代部分,通常用来修改循环变量的值
流程图
for循环结构执行顺序如下
(1)执行初始部分
(2)进行循环条件判断
(3)根据循环条件判断结果。如果为true,则执行循环体;如果为false,则退出循环,步骤(4)和步骤(5)都都不执行
(4)执行迭代部分,改变循环变量值
(5)重复步骤(2)~(4)步骤直到退出for循环结构
在循环中,可以使用break和continue语句控制程序流程的值。
break语句用于终止某个循环,程序跳转到循环体外的下一条语句。
continue语句用于跳转本次循环,进入下一次循环。
数组
用数组集中操作数据比使用多个变量操作数据便捷得多,数组就是在内存空间划出一串连续的空间。
分配空间就是要告诉计算机在内存中分配一些连续的空间来存储数据,可以使用new关键字来给数组分配空间。
数组的基本结构
1.数组只有应该名称。
2.数组元素在数组里的顺序排列编号,该编号即为数组下标,它标明了元素在数组中的位置,
第一个元素的编号规定为0,因此数组的下标依次为0.1.2.3.4等。
3.数组中的每个元素的可以通过下标来访问,由于元素是按顺序存储的,每个元素固定对应一个下标,因此可以通过下标快速的访问到每一个元素。
4.数组大小(长度)是数组可以容纳元素的最大数量。定义一个数组的同时也定义了它的大小,如果数组已满但是还继续向数组中存储数据的话,程序就会出错,这称为数组越界。
语法
数据类型[]数组名
或者数据类型 数组名[]
数组名 = new 数据类型[数组长度]
将上面两个步骤合并,即在声明数组的同时就给它赋值分配空间,语法如下
数据类型 [] 数组名 = new 数据类型[数组长度]
分配空间后就可以向数组里放数据了, 数组中每个元素都是通过下标来访问的语法如下下
数组名[下标值] 例如向csores
scores[0]=89;
scores[1]=60;
scoews[2]=70;
.......
另外一种创建数组的方式,它将声明数组,分配空间和赋值合并完成,语法如下
数据类型 [] 数组名 = { 值1 值1 值3.......值n }
注意的是,直接创建并赋值的方式一般在数组元素比较少的情况下使用。它必须以并完成,如下代码是不合法的
int[] score;
scores = {60.70.98.90.76}
数组排序
Aeeays是java中提供的一个类,而sort()是该类型的一个方法,将数组名放在sort()方法的括号中,就可以完成对该数组的排序,因此,这个方法执行后,数组中的元素已经有序(升序)了。
语法
Arrays。soet(数组名);
总结
1.数组是可以在内存中连续存储多个元素的结构,数组中的使用元素必须属于相同数据类型。
2.数组在的元素通过数组的下标进行访问,数组的下标从0开始
3.数组可用一个循环为元素赋值,或者用一个循环输出数组中的元素信息
4.通过数组。length可获得数组长度。
5.利用Arrays类提供的sort()方法可以方便地对数组中的元素进行排序。
循环结构进阶
二重循环结构
二重循环就是一个循环体内又不含另一个完整的循环结构,前面的三种循环,while循环,do-while循环和for循环,这三种循环可以互相嵌套的,一个循环位置的包含在另一个循环中,
二重循环结构语法
while与while循环嵌套
while(循环条件1){
//循环条件1
while(循环条件2){
//循环条件2
}
}
do-while与do-while循环嵌套
do{
//循环操作1
}do{
//循环操作2
}while(循环条件2);
}while(循环条件1)
for与for循环的嵌套
for(循环条件1){
// 循环操作1
for(循环条件2){
}
}
while与for循环嵌套
while(循环条件1){
//循环条件1
for(循环条件2){
}
}
循环条件1和循环操作1对应的循环外称为外层循环,,循环条件2和循环条件2对应的循环称为内层循环,内层循环结束后才执行外层循环的语句,在二重循环中,外层循环变量变化一次,内层循环变量要从初始值到结束值到结束值变化一遍。
二重循环中continue和break语句的对比
当continue和break语句用在内层循环时,只会影响内层循环的执行,对外层循环没有影响,,它的不同点在于执行该语句后,程序跳转的位置不同,continue语句是跳出本次循环,进入下一次循环,而break是跳出本层循环,即提前结束本层循环,执行循环下面的语句。
结束
好好学习,天天向上!