ps:内容为本人学习韩顺平老师课程的笔记,全部all总都为个人总结,因此可能会有些口语化和碎碎念。
文章目录
程序控制结构
顺序控制
分支控制
单分支
就是一个if
双分支 if else
经典问题:闰年问题
多分支:if else if else if (else)
嵌套分支
分支嵌套分支不要超过三层
switch分支结构
常量值就是个具体的值
break是退出switch而不是退出程序
流程图
假如第一个常量相等 且没有break 则会执行下一个语句 不需要匹配第二个常量 直到遇到break 没有就全部执行
细节
switch与if的比较
星期 性别 季节 switch
区间 用if
for循环控制
流程图
细节
-
循环条件是返回一个布尔值的表达式
-
条件不能少,两边可以写到其他地方,但是分号不能省略 变量迭代是在循环语句下面
-
两边可以有多个语句 用,隔开
while循环
和for第二个细节差不多 先判断再循环
流程图
细节
do-while循环语句
先执行再判断 ,最少会执行一次
- do和 while是关键字
- while();最后是有一个分号的
- 和while的区别可以用一个例子来:要账哈哈
显示菜单 可以用do while
流程图
来个小例子
多重循环控制
- 三个循环都可作为内循环和外循环 一般不要超过3层
- 实质:是把内层循环当作外层循环的循环体,只有当内层循环的循环条件位false时才会完全跳出内层结束当前外层的当次循环,开始下一次循环
- 外面次数m 内层n 内层实际上要执行m*n次
实例99乘法表
空心金字塔(编程思想)
思路:要按行来找规律 化繁为简 先死后活
package part1;
import java.util.Scanner;
public class KxinJzt136 {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
int h=myScanner.nextInt();
for(int i=1;i<=h;i++) {
for(int j=1;j<=h-i;j++)
System.out.print(" ");
for(int k=1;k<=2*i-1;k++) {
if(k==1 || k==2*i-1 || i==h)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println("\n");
}
}
}
过程 (老师讲的太好了!!)
跳转控制语句break
引出:
//随机生成1-100数
System.out.println((int)(Math.random()*100)+1);
- 默认退出最近的循环
- 可以通过标签指明要终止的语句块
例子:
字符串比较 eauals 返回值是Boolean
String name="hhh";
System.out.println(name.equals("www"));
System.out.println("www".equals(name));是一样的,推荐这个,可以避免空指针
//结果就是false
这个输出方法 (“ “ + 变量 + ” ”,变量 )就是输出变量所对应的值
跳转控制语句continue
- 结束本次循环,继续执行下一次循环。
- 当出现多层嵌套循环语句时,也可以用标签指明要跳出哪一层循环
跳转控制语句return
return使用在方法中,表示跳出所在的方法;如果用在main方法中,就表示退出程序
练习
输出a-z以及A-Z
考查char unicode以及for循环