Java学习第六天
Switch 多选择结构
package com.niko.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;//可选,但是不写的话,会把符合条件的都输出,这叫做穿透现象
case 'B':
System.out.println("不错");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("位置等级");
}
}
}
package com.niko.struct;
import com.sun.org.apache.bcel.internal.generic.SWITCH;
public class SwitchDemo02 {
//JDK 7之后,switch语句就已经可以使用字符串String类型
public static void main(String[] args) {
String str ="A等级";
//字符的本质还是数字
//反编译 java ---- class(字节码文件) ---- 反编译(IDEA)
switch (str){
case "A等级" :
System.out.println("恭喜获得A级称号");
break;
case "B等级" :
System.out.println("恭喜获得B级称号");
break;
case "C等级" :
System.out.println("恭喜获得C级称号");
break;
case "D等级" :
System.out.println("恭喜获得D级称号");
break;
default:
System.out.println("你的等级太低了");
}
}
}
循环结构
While 循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u6k9eyVw-1590406013719)(D:\截图\MarkDown学习\Snipaste_2020-05-24_15-46-31.png)]
package com.niko.struct;
public class WhileDemo01 {
public static void main(String[] args) {
//用while 输出1-100
int i = 0;
//while循环,只有判断错误才会停止,因此在写的时候,应该尽量避免死循环。
while(i<100){
i++;
System.out.println(i);
}
}
}
package com.niko.struct;
public class WhileDemo02 {
public static void main(String[] args) {
//计算1+2+3+...+100= ?
int i = 0;
int sum = 0;
while (i<=100){
sum = sum +i ;
i++;
}
System.out.println(sum);
}
}
do … while 循环
例子
package com.niko.struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 0;//
int sum = 0;//总和的变量
do {
sum = sum + i;
i++;
}
while (i<=100);
System.out.println(sum);
}
}
package com.niko.struct;
public class DoWhileDemo02 {
//while循环与do while循环的区别
public static void main(String[] args) {
int a =0 ;
while (a<0){
System.out.println(a);//先判断再执行
a++;
}
System.out.println("============");
do {
System.out.println(a);//先执行再判断
a++;
}while (a<0);
}
//结论是:两者的区别在do while是无论如何都会执行一遍在进行判断的,因此在使用的时候要针对不同情况去使用。
//
}
For 循环
package com.niko.struct;
public class ForDemo01 {
public static void main(String[] args) {
int a = 1;//初始化条件
//使用while循环,一般会经历的格式流程
while (a<=100){//条件判断
System.out.println(a);//循环体
a+=2;//迭代
}
System.out.println("while循环结束!");
//相对应For循环,的格式流程
for (int b=1;b<=100;b++){//()内分别是:初始化条件;条件判断;迭代
System.out.println(b);//循环体
}
System.out.println("for循环结束!");
//for循环快捷键:输入需要判断的数字20.for就会自动生成下面这种格式
for (int i = 0; i < 20; i++) {
/*
关于for循环有几点说明
最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
再次检测布尔表达式。循环执行上面过程
*/
//死循环格式
for (;;){
}
}
}
}
增强For循环
package com.niko.struct;
public class ForDemo03 {
// 增强for循环
public static void main(String[] args) {
int [] numbers = {10,20,30,40,50};//定义一组数组
//增强for循环,遍历数组的元素
for (int x :numbers){//把数组numbers赋值给x,简化一些步骤
System.out.println(x);
}
//用for循环表示遍历
for (int i =0;i<5;i++){
System.out.println(numbers[i]);
}
}
}
break continue 用法与区别
package com.niko.struct;
public class BreakDemo {
public static void main(String[] args) {
// break 用于强制退出循环,只是跳出循环,但没终止整个程序
int i = 0;
while (i<100){
i++;
System.out.println(i);
if (i==30){
break;
}
}
System.out.println("我也能运行");
}
}
package com.niko.struct;
public class ContinueDemo {
// continue语句 用于终止某次循环过程,接着进行下一次是否执行循环的判定,并没有完全跳出循环,
public static void main(String[] args) {
int i= 0;
while (i<100){
i++;
if (i%10==0){//当i能被10整除的时候,就跳过不输出i
System.out.println();
continue;//表示跳过,进行下一次循环
}
System.out.print(i);
}
/*区别
break在任何循环语句的主体部分,均可用break控制循环的流程。
break 用于强制退出循环,不执行循环中剩余的语句。只是跳出循环,但没终止整个程序(用于终止循环)
continue语句 用于终止某次循环过程,接着进行下一次是否执行循环的判定,并没有完全跳出循环,(用于终止某次循环)
*/
}
}
goto 关键字(了解就行)
package com.niko.struct;
public class LabelDemo {
// 打印101 -150之间的质数
// 质数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
public static void main(String[] args) {
int count = 0;
outer:for (int i = 101; i < 150; i++) {//遍历101 - 150之间的数字
for (int j = 2; j < i/2; j++) {//求区间里的质数,原理是如果
if (i%j==0){
continue outer;//调到标签位置
}
}
System.out.println(i+"");
}
}
}
) {
int count = 0;
outer:for (int i = 101; i < 150; i++) {//遍历101 - 150之间的数字
for (int j = 2; j < i/2; j++) {//求区间里的质数,原理是如果
if (i%j==0){
continue outer;//调到标签位置
}
}
System.out.println(i+"");
}
}
}
本文深入讲解Java中的控制结构,包括Switch多选择结构、循环结构(While、do...while、For循环)、增强For循环以及break和continue的用法与区别。通过实例演示如何使用这些结构来实现不同的逻辑需求。

被折叠的 条评论
为什么被折叠?



