第四章:控制结构
1.顺序控制
2.分支控制(if,else,switch)
1.单分支
2.双分支
3.多分支
输出b
输出c
b=false;表示if判断直接为错,向下执行
!b表示对b取反,此时为真,故输出c
4.switch分支结构
break表示跳出这个switch结构,不是跳出我们的程序
如果没有写break语句,那么会直接执行下一个语句块,不会与下一个常量进行比较,这个现象称为穿透。
enum是枚举类型
char类型的本质是一个数字,是可以转成int类型的,所以可以运行
上面也是可以通过的,类型全为string类型,类型一致。
上面也是可以通过的,类型全为char类型,类型一致。
上面是错误的,不允许使用double类型
常量就是不可以变化的量,如下图中的‘a’,‘b’
变量就是可以改变的量,如下图的c,被赋予‘a’,他也可以被赋予其它的值,比如‘b’
下图中的写法就是错误的
写成常量表达式也是可以的,如下图中的‘b’+1
上图的例子中没有default也是正确的
细节5
第一题
第二题
第三题
5.switch和if的选择
3.循环控制
1.for循环
下面这种写法可以将i在循环以外输出,结果应该为11
下面这种写法无法输出i值,会报错
因为这个i是定义在for循环内的,所以只能在这个for循环体内使用
下面是一个无限循环,会不断的输出ok~,一般配合break使用
2.while循环
3.do…while循环
4.多重循环(金字塔案列)
5.break(随机生成1~100)
Math.random()是用来随机生成0到1之间的一个数,
(Int)(Math.random()*100)就是随机生成0到99之间的一个数,
(Int)(Math.random()*100)+1就是随机生成1到100之间的一个数。
注意:如果break没有指定退出哪个标签,则break默认退出它最近的一个循环体,退出一个即可
例如下面一个例子
Break只跳出的它的内层for循环,外层的for循环还继续执行
如果指定了break abc1,即指定了退出外循环,只结果如下所示
注意,下面的i的作用域在for{ }以内,想要的for循环外直接输出i会报错
字符串之间的比较使用方法equals
上面两种写法都可以
6.continue
7.return
上图中return用在main主方法的,之后的不再执行
8.本章作业
A的ASCII码是65,a的ASCII码是97;ASCII码表中,一个字母的大小写数值相差32,一般知道大写字母的ASCII码数值,其对应的小写字母的ASCII码数值就算出来了,是大写字母的ASCII码数值“+32”。
第一种方法
第二种方法