Java基础知识(分支、循环语句)

流程控制语句,分支结构:

现实中,我们有三种结构,分别是:顺序、分支、循环

Java中的分支结构:

if ,if else if ,if else、switch语句

if分支的三种语句分别的结构:
if:

if(判断条件){

java语句

}

if ,else if:
if (判断条件一){

java代码

}else if(判断条件){

java代码

}...

if else:
if(判断条件){

java代码

}else{

java代码

}

可以看到java的语法跟C语言差不太多。

例如:判断一分钟内心跳次数是否正常

需求:
心跳次数(60~100)即心跳正常 其余区间提示心跳不正常

代码:

例如:
发红包

需求:给女朋友发一个红包 判断

代码:

利用多分支结构

需求:判断各个分数对应的成绩等级:
代码:

 注意代码执行顺序,很简单的。

switch分支:
结构:
switch(变量){

case 值1:

        break;

case值2:

...

default:

默认执行代码

}

switch适合做值匹配的分支选择,结构清晰,格式良好。

执行流程
先执行表达式的值,拿着这个去和case匹配 匹配成功执行其下的代码;

case下遇到break退出switch语句 如果case 都不匹配就执行default(默认情况)下的代码

switch案例:

周一:埋头苦干,解决bug;

周二:请求大牛程序员帮忙;

周三:今晚啤酒、龙虾、小烧烤;

周四:主要帮公司的女程序员解决问题;

周五:今晚吃鸡奋斗;

周六:相亲一手;

周日:郁郁寡欢,首市心情继续上班。

代码:

 注意case/default下要写break; 根据需求

 if/switch分支各自适合作么业务?

if其实在其功能上远远强于switch语句

if适合做区间匹配 switch适合做值的匹配

switch:值匹配的时候,代码优雅、

switch使用注意事项:
表达式只能是byte char int String(jdk7才引入) 才能值匹配  而float、double long有精度问题 不时候做表达式 不支持。 double a=1; double b=2;   a+b~3 只能说是远远接近。

case 的值不允许重复 只能是字面 量 不能是变量

不要忘记写break 以免穿透现象。

针对使用switch的穿透性:

用户输入月份打印对应的天数

代码:

什么时候才有switch穿透现象呢

switch的case、default 下不写break时会。

switch的穿透效果可以解决什么问题:
当存在多个case对应的值要执行相同的代码时就可以使用,穿透性把流程集中到同一处处理,简化代码。

java循环之for循环:
语法格式:
for(循环变量初始值;判断条件;调整,迭代语句){

循环语句

}

直接举例:

 求1~5之间的数据和,并要求结果在控制台输出

 利用循环变量,sum累加数据

 

Java之while 循环:
while循环的格式,执行流程?

while(条件表达式){

循环语句、

迭代语句

}

例子:

什么时候使用for 循环,什么时候使用while循环?

for和while循环功能上完全一样,whilie记得写迭代语句 for 循环可以根据快件方式fori;

使用规范是:知道循环几次使用for循环、不知道循环几次使用while循环。

案例:
珠穆朗玛峰(8848.86米)

需求假设有一张纸厚度为0.1 问折叠多少次达到或者超越珠穆朗玛峰的高度?

代码如下:

结果是27次  0.1* 2^27米

如何解决该案例:
1、定义变量存珠穆朗玛峰的高度、纸张高度;

2、使用while循环 (纸张厚度<山峰高度)每次循环 折依次 纸张厚度扩大一倍(*2)

for和while循环使用总结:

其实while和for 的功能是一样的

知道循环次数使用for循环 不知道循环次数使用while循环。

do-while循环 格式:
do {

循环语句,

迭代语句(调整)} while(循环条件)

例如使用do-while语句打印三遍"hello world"

注意

while和do-while循环一样需要先定义循环变量,{} 里面写循环语句和迭代语句 循环条件后写;

do-while的特点:至少执行一次 一来就会执行{}里的代码。

三种循环的区别:
for循环和while循环是先判断后执行,而do-while循环是先执行后判断。

do-while至少执行一次。

for和while的区别:
1、for循环和while循环的执行流程一模一样;

2、如果知道循环次数选择for循环,不知道循环次数就使用while循环。

3、for循环里的循环变量出了循环体就不能使用了,而while循环的循环变量就可以继续使用。

 这是因为局部变量销毁了,出了作用域就没有生命周期了。

 while循环的循环变量可以继续使用。

案例:密码验证

假设密码设置为1314

现在需要设置一个密码验证的程序 使用while 无限循环+break

代码如下:

要点:保存正确密码+键盘录入技术+if分支判断+break配合

循环嵌套:

例如:冒泡函数(时间复杂度为O(n**2)的排序算法)

 打印四行五列的*:
 

先确定行数在确定列数。

循环嵌套的特点:

外部循环一次,内循环整体循环一次;

continue/break的区别:

例如:你有老婆了,你犯错了 做五天家务 提三天老婆心软了 就不做了

 

 简而言之:

break直接退出单前循环

countinue结束本次后面要执行的代码,来到循环条件这里判断下次循环是否执行。

Random随机技术:

Random随机数类的生成需要几步,怎么样的?

导包(import java.util.Random;)

Random r=new Random();

使用 需要变量接收... nextInt()生成整数

结合之前的知识:写一个猜数字游戏(1~100)

随机数游戏代码:

 

猜的方法可以使用二分法(一种查找方式) 针对顺序数据进行分析。时间复杂度O(logn)

每查找一次规模减少一半!!! 2的指数型爆炸

简单总结

注意break只能在switch和while里面使用。

if分支强大(区间匹配)、

switch 匹配值(值匹配)进行对应的循环语句。switch开始支持byte short int char 

jdk5开始支持枚举、jdk7支持string case 后的值不能重复只能是字面量 记得写break 穿透。

以上就是两种分支(if/switch) 三种循环(for/while/do-while)

谢谢大家的观看,感谢支持!!!

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值