Java分支语言,循环语句,break,continue,return关键字

分支语句
if分支:
if单分支
if-->如果 如果XXX --> 得到XXX
if(选择条件){
得到的结果;
执行代码
}
选择条件(表达式),是有关系和逻辑运算符组成的式子
> >= < <= == != || && !
执行过程:当程序执行到if时,首先会先判断选择条件(表达式)的真假,若选择条件为真
就执行{ }里面的执行语句,然后if分支结束,若选择条件为假,那么if分支就
不会执行,然后继续向下.

if-else
非黑即白,不是第一个条件一定就是第二个条件
if(选择条件){
执行语句;
}else{ //另外的一个对等条件
执行语句;
}
选择条件(表达式),是有关系和逻辑运算符组成的式子
> >= < <= == != || && !
执行过程:当前程序执行到if时,先判断选择条件的真假(真),就只执行if所对应的{ }里面的执行
语句,然后if-else就结束了,若选择条件为假,那么就执行else 后面的执行语句,然后if-else结束

条件运算符(三目运算符,三元运算符)
?: -->若使用三目运算符?的后面必须有返回值
例如:
int a = 1;
int b = 2;
int c = 3;
a > b ? a : b; (这样写是可以的)
c > b ? System.out.println(a) : System.out.println(b);(不行的)
典型的if-else 简写形式
表达式1 ? 表达式2 : 表达式3;
执行过程:判断表达式1的真假,若为真,那么就执行表达式2的值,然后作为整个表达式返回值返回,
若为假,那么就执行表达式3的值,然后作为整个表达式返回值返回.

if - else if
多个选择
if(选择条件1){
执行语句1;
}else if(选择条件2){
执行语句2;
}else if(选择条件3){
执行语句3;
}else { // 可有可无 //第四个条件
执行语句4;
}
选择条件(表达式),是有关系和逻辑运算符组成的式子
> >= < <= == != || && !
执行过程:首先会判断if后面的选择条件,若选择条件为真,那么就执行对应的执行语句,然后真个
if-else if 结束,若选择条件为假,会继续向下判断else if 中所提供选择条件,直到选择条件为真
那么就执行对应的执行语句.若所有的选择条件都为假,那么就执行else后面的执行语句
ps:else的提供
else的不提供:else if满足了所有条件
else的提供;else在if-else if 所代表的是最后一个条件
个人建议使用else,可以节约一个条件

if-else 嵌套
在一个if-else语句中又添加了一个新的if-else
ps:在语法角度,无限嵌套,为了可读性和可维护性,建议嵌套程序在<=3层
耗时操作-->



switch-case分支
基本switch - case
switch(常量[表达式]){
case 常量1:
执行语句;
break;
case 常量2:
执行语句;
break;
case 常量3:
执行语句;
break;
case 常量4:
执行语句;
break;
default: //默认执行
执行语句;
break;
}
常量:泛指 值 int,char,枚举,字符串(JDK1.7) long类型不能作为条件传入
表达式 算数表达式:-->一个值,这个值能是boolean
执行过程:当程序执行到switch先计算()中的值,计算完成之后,和case后面所提供的值进行匹配
若匹配成功,那么久就执行对应的执行语句,然后执行break,switch-case分支结束,case所提供的值
都无法匹配,那么久执行default,在执行break,分支结束

贯穿版switch - case
不匹配case 后面所提供的条件,继续执行下去

switch-case1.7新特性
switch在JDK1.7之后支持String作为值传入,String的使用在慢慢的代替枚举
//JDK1.7Switch新特性
String operator = "+";
switch(operator){
case "+":
System.out.println(operator);
break;

}

练习://水仙花数,是一个三位数 个位立方+十位的立方+百位的立方 == 原来的数
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = a/100; //百位数
int c = a/10%10;//(a-b*100)/10;//十位数
int d = a%10;//a-b*100-c*10;//个位数
if(a==b*b*b+c*c*c+d*d*d)
{
System.out.println("是水仙花数.");
}
else
{
System.out.println("不是水仙花数.");
}
//
int n = 12345678;
int[] arr = new int[];
int iu = 0;
while (number > 0) {
arr[iu] = number%10;
number /= 10;
iu++;
}

循环语句
循环-->完成大量相同重复性操作
循环的书写:
1. 循环的次数
2. 重复的事情是什么
3. 循环开始的位置
4. 循环终止的条件(循环次数和开始的位置所组成的区间)
4.1循环终止的条件(刹车)
4.2 break (手刹)

顺序,分支,循环图
while循环
循环变量赋初值;-->循环开始的位置
while(循环条件){循环变量和循环条件组成的一个区间 --> 循环多少次
int i = 1;
i<100;
执行语句;[重复操作的事情]
循环变量的自增或自减;(使循环区域结束)
}
循环条件:一般是由关系运算符组成的,偶尔可见关系和逻辑运算符共同组成
执行过程:while首先会判断循环条件的真假,若循环条件成(为真),执行{}里面的执行语句
然后循环变量自增或自减,继续判断循环条件,直到循环条件不成(为假),循环结束

while死循环 --> 无限循环下去,不会停止,除非外界加以干扰才能停止
while(true){
}
do-while循环
循环变量赋初值;
do{
重复操作的事情;
循环变量自增或自减
}while(循环条件);
执行过程:do先执行{ }里面的执行语句,然后循环变量自增或自减,再去判断循环条件的真假,
若循环条件为真,那么就继续循环,否则循环结束

while循环和do-while循环的区别
while是先判断循环条件,然后在执行
do-while先执行,然后在判断循环条件
do-while会先执行一次然后在判断条件真假

for循环
for(循环变量赋初值;循环条件;循环变量的自增或自减){
执行语句;[重复操作的事情]

}
执行过程:
1.首先会执行循环变量赋初值,只会执行一次
2.判断循环条件的真假,若循环条件成立(为真),执行{} 里面的执行语句,
并计算循环变量的自增或自减,继续判断循环条件,直到循环条件不成立
(为假),停止循环

总结:
3种循环-->理论上三种循环除样式不同之外,3个循环完成的事情都是一样
并且这三个循环是可以互相修改的while->do-while->for
个人建议:强烈要求精通使用for循环
因为while的循环条件是一个boolean类型表达式
所以单纯的boolean循环条件建议使用while循环
可以参照拆数字的案例来修改成while循环


循环的嵌套:
ps** :循环嵌套不局限于for循环,所有的循环都是可以互相嵌套
嵌套:在一个循环里面在写一个循环

以for循环嵌套为例来解释循环嵌套

循环嵌套可以看做是在看书:
第一层循环相当于当前书的页数,第二层循环相当于书中的每条语句
只有读完每一句话,那么这个时候才可以进行翻页操作,也就相当于
只有第二层循环执行完毕,第一层循环才会再次执行
ps:第一层循环 --> 外层循环
第二层循环 --> 内层循环
外层循环执行一次,内层循环执行多次
for(){//书的第一页
for(){//书第一页中每一行的内容
}
}
图形,系统中某些模块的使用,排序
4x5矩阵图形 4行 5列
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20

三个关键字
break:
结束当前循环,当某些时候不想通过循环自身的循环条件而停止循环,可以使用break关键字来达到当前目的
break特例:
break在嵌套循环中,只能结束当前循环,无法结束所有循环
可以在需要停止循环的位置给循环添加一个标签名
例如 标签名:for(){}
break的后面 指定当前对象的标签名即可
continue:
结束本次循环,开始下次循环(跳过本次循环,开始下次循环)
continue使用和break有些类似,但是break是完全停止,continue跳过本次开始下一次
return:
ps:return关键之不是专门用来结束循环使用的,结束一个方法
return关键字可以达到结束循环的目的:因为循环是写在方法体里面
mian(){
for(){
return;
}
}
ps** 在mian中,不要轻易使用return关键字.
转义字符 :--> \n 回车 \t tab \r 回车
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值