java第四课

选择分支结构中
第一种结构语句: if 语句
if (条件) {} else{}
if(条件){}else if {} else{}
多个 else if 结合效率低,因为对于 if 是条件都要进行判断
第二种结构语句: switch 语句
结构:
Switch(变量)
{
case 变量的取值(整数,char,字符串):
break;当你执行完选项值后,就要退出,大部分情况结合
break
default:相当于 else
}
底层原理:
switch(变量)-----à字节码--àhashCode()(顺序的结构表)
在 case 变量中使用 equals
使用场景:只要可以限定 if 条件语句值,都可以使用 switch,但
如果区间,只能用 if(> < >= <=),区间段的程序没有办法做 switch
等于:凡是字符串使用 equals,凡是数值就可以用等号。
当程序中出现的语句不停复制,粘贴,程序的代码出现重码率。
在程序执行过程中,出现语句重复,可以考虑 java 循环结构。

包括 3 种结构
第一种: While 循环
While(条件){
循环体
}
满足条件就进行循环体中语句的执行
第二种:
for 循环
for(循环变初值;循环变量条件;循环变量增长量){
循环体
}
只要循环变量在做增长量后满足循环变量的条件进行循环体的
语句执行。
第三种
do{
循环体
}while(条件)
先做一次循环体,做完一次判断条件,如果满足条件,继续作循环
体.
经常用到的: for 循环;while 循环;do{}while()循环很少写
基本程序,体会循环的结构.
求 1-100 的和(使用 while 和 for 实现一次)

思路图:
Sum 初值为 1 的程序如下.
public class test_while_sum1 {
public static void main(String[] args) {
//while
1-100
的和值
//int sum=1+2+3+4+5+6+7+....+100
,这个程序中
1,2,3,4,....,
重复不停地敲等差的数字,
重复的部分用循环解决
//
循环内容:重复的劳动,重复的内容是 1,2,3,4,......
,使用循
环产生数字。
//
程序的开发是需要变量的,这里变量 num num
的值是
1,2,3,4,.....
,这个变化的数字就是全局变量,最终的和值 sum
//
定义全局变量, num
每一个重复输入的等差数,sum
最终的结果
int num;
//sum
不提供初值,在后面的计算会报错,
因为进入循环后,num=1

被覆盖了,这里 sum
直接等于 1
int sum=1;
//
产生 num,num
是从 1
开始加到 100
num
就应该有初始值。
num=1;
//
接下来变量不停加 1,
再赋给自己,后面不停地复制,
使用 while

num
的值
while(num<100){
//
因为 sum
初值为 1,
先进行 num
加,后面再进行 sum
,注意在
while
条件中会多出 101,
num
限定在 num<100
//
不停把 num
值相加,num
值产生 100
个数
num=num+1;
System.out.println("num-----"+num);
//
先求和,再算 num
的值
//
接下来把 num
的和值放在 sum

sum=sum+num;
System.out.println("sum----"+sum);

}
//
当循环体中 100
个数全部加成功,就可以输出 sum

System.out.println(sum);
}
}
如果做累乘.
注意:while 和 for 的区别
for 循环的语句一定循环变量的初值和终值的范围,使用 for 循环
循环几次.
While(只有一个条件),只要条件满足就执行,有的时候,程序无法预
测条件什么时间满足,这时使用 while.
注意:循环不要循环大数字 100000000;
**********循环类的精典程序*********
1、 百僧吃百膜
100 个和尚吃了 100 个馒头 ,100 和尚有大和尚和小和尚,一个
大和尚能吃 3 馒头,三个小和尚吃 1 个馒头,问大和尚和小和尚
有多少个?
2、 水仙花数
三位数,每人数的立方和等于数字本身,给定区间,求区
间内所有水仙花数。
3、 猴子吃桃问题
一堆桃,猴子第一天吃一半多一个,第二天吃了剩下的一
半多一个,依次类推,每天都吃剩下的一半多一个,到 10
天就剩下 1 个桃子。求这堆桃有多少个?
4、 费波尼兹数列(生兔子)

一对兔,3 个月后生出一对小兔(假设:兔子永远都不死)
1 1 2 3 5
*******************
做游戏逻辑
猜价格
在后台,系统随机产生价格数字,由用户通过平台猜,猜出一个
数字后,系统机器人通知你信息,大了,小了。再说一个数字,
直到数字跟系统随机数字一致就游戏结束。
分析逻辑:
系统产生随机数字一次
用户猜
Input.next()
系统判断数字是大了,还是小了 if
这里循环:next()输入语句需要循环,if 判断需要循环
循环条件:当价格=系统产生的随机价格退出
循环:没有次数的说明,一般直接 while 循环
程序:完善(菜单--à提示--à参与)
分析全局变量
这里用户名需要程序开始和结束都要显示出来.
系统的随机数在程序中需要比较,这个随机数也是全局变量
float
注意:
(1)编程中,常遇到循环里面满足某一条件退出循环,退出循环后根
据循环中发生的不同情况进行不同的逻辑处理,这种编程一般采
用标志位的方法处理.
方法:
1\先设置一个标志位 boolean ,初始值为 false
2\满足某一条件时,退出循环则为 true
3\根据标志位的 true 和 false,来输出不同的信息.
(2)如果只是用户参与使用回车或者某个信息,但这个信息不做无
意义的存储.
Scanner.nextLine() 语句即可

代码:java第四课.docx · Fang-fang/方芳 的java - 码云 - 开源中国 (gitee.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值