B005-选择结构&循环结构
目录
选择结构
满足一定条件以后,可以执行相关的流程
if 选择结构
If
/**
* 选择结构:满足一定条件以后,可以执行相关的流程
* if结构:
* 语法:
* if(布尔类型的值或者表达式){
* 功能语句;
* }
* 执行流程:当判断条件为true的时候,执行花括号中的功能语句
*/
public class _01_IfDemo {
public static void main(String[] args) {
//当个人账户余额大于10000000的时候 打印一句话,:可以混吃等死
//定义一个变量 用来保存余额
double money = 19999999.5;
if(money>10000000){
System.out.println("可以混吃等死");
}
}
}
if else
/**
* 选择结构:满足一定条件以后,可以执行相关的流程
* if结构:
* 语法:
* if(布尔类型的值或者表达式){
* 功能语句;
* }else{
* 功能语句;
* }
* 执行流程:当判断条件为true的时候,执行花括号中的功能语句,如果为false,则执行else中的代码
*/
public class _02_IfDemo2 {
public static void main(String[] args) {
//当个人账户余额大于10000000的时候 打印一句话:可以混吃等死;如果不大于 则打印 你需要努力了
//定义一个变量 用来保存余额
double money = 19999999.5;
if(money>10000000){
System.out.println("可以混吃等死");
}else{
System.out.println("你需要努力了");
}
// 使用if else结构 判断一个数是否为3的倍数
int x = 7;
if(x%3 == 0){
System.out.println("x为3的倍数");
}else{
System.out.println("x不为3的倍数");
}
}
}
if else-if
/**
* if (判断条件) {
* 功能语句
* } else if (判断条件) {
* 功能语句
* } else if (判断条件) {
* 功能语句
* } .....
* 执行流程:从上往下,依次判断是否满足条件 当条件满足 执行花括号中的代码
*/
public class _03_IfElseIfDemo {
public static void main(String[] args) {
/*
* 手机电量
* 当电量大于80% 打印 性能模式
* 当电量大于20% 小于80% 打印 均衡模式
* 当小于20% 大于10% 打印省电模式
* 当小于 10% 打印 请请尽快充电
*/
int battery = 80;
if (battery >= 80) {
System.out.println("性能模式");
} else if (battery < 80 && battery > 20) {
System.out.println("均衡模式");
} else if (battery > 10 && battery <= 20) {
System.out.println("省电模式");
} else if (battery < 10) {
System.out.println("请尽快充电");
}
}
}
if else-if else
/**
* if (判断条件) {
* 功能语句
* } else if (判断条件){
* 功能语句
* } else if (判断条件){
* 功能语句
* } else {
* 功能语句
* }
* 执行流程:从上往下,依次判断是否满足条件 当条件满足 执行花括号中的代码,当上面的条件都不满足的时候 执行else中的代码
*/
public class _04_IfElseIfDemo2 {
public static void main(String[] args) {
/*
* 手机电量
* 当电量大于80% 打印 性能模式
* 当电量大于20% 小于80% 打印 均衡模式
* 当小于20% 大于10% 打印省电模式
* 当小于 10% 打印 请请尽快充电
* 其他情况 打印 电池异常 即将爆炸
* */
int battery = -180;
if (battery <= 100 && battery >= 80) {
System.out.println("性能模式");
} else if (battery < 80 && battery > 20) {
System.out.println("均衡模式");
} else if (battery > 10 && battery <= 20) {
System.out.println("省电模式");
} else if (battery < 10 && battery >= 0) {
System.out.println("请尽快充电");
} else {
System.out.println("电池即将爆炸,请抱紧");
}
}
}
if特殊写法
/**
* if (判断条件) {
* 功能语句;
* }
*/
public class _06_IfDemo {
public static void main(String[] args) {
// if特殊写法
if(true);//没有意义
// 如果没有花括号 if结构只管到 第一个分号结束 可读性差
if (true)
System.out.println("嘿嘿嘿");
System.out.println("呵呵呵");
//}
//}
// 判断一个属是否为奇数
int x = 5;
if (x % 2 == 0) {
System.out.println("偶数");
} else {
System.out.println("奇数");
}
// 特殊写法
int x2 = 3;
if (x2 % 2 == 0)
System.out.println("这是偶数");
else
System.out.println("这是奇数");
}
}
switch选择结构
/**
* switch结构
* 语法:
* switch(key){
* case value1:
*功能语句;
* break;
* case value2:
* 功能语句;
* break;
* ......
* default:
*功能语句;
* break;
* }
* key:
* jdk1.5 : byte short char int 这几种类型的常量或者变量
* jdk1.6: 枚举
* jdk1.7: String
* 执行流程:
* 将key的值和 case中的value值进行比较,如果相等 则执行当前case中的功能语句,然后找到break 跳出当前选择结构
* 如果case中没有满足的value,此时执行default中的功能语句
* key与value的类型 必须一致
*/
public class _07_SwitchDemo {
public static void main(String[] args) {
/*
* 假设一周七天
* 如果是周一: 打印 学习java
* 如果是周二: 打印 学习java
* 如果是周三: 打印 全天自习
* 如果是周四: 打印 学习java
* 如果是周五: 打印 学习java
* 如果是周六: 打印 和女朋友一起学习
* 如果是周天: 打印 女朋友和我一起学习
* 其他情况:打印 日期不对
*/
//定义一个变量 用来保存星期几
int x = 17;
switch (x) {
case 1:
System.out.println("学习java");
break;
case 2:
System.out.println("学习java");
break;
case 3:
System.out.println("全天自习");
break;
case 4:
System.out.println("学习java");
break;
case 5:
System.out.println("学习java");
break;
case 6:
System.out.println(" 和女朋友一起学习");
break;
case 7:
System.out.println("女朋友和我一起学习");
break;
default:
System.out.println("日期不对");
break;
}
}
}
注意事项
/** 注意事项:
* 5.break可以省略,但会导致后续case条件判断失效 按照从上到下顺序执行,直到找到第一个break跳出选择结构
* 如果没有找到 执行到末尾 自动跳出选择结构
* 1.每个case之间顺序可以交换 不影响代码运行
* 2.default不一定放在末尾 在所有case失效的时候就会被执行到
* 6.跳出选择结构的条件是执行到末尾 或者遇到第一个break为止
* 3.case中值与 key类型必须一致
* 4.最后一个break可以省略,但不建议
*/
循环结构
重复的做一件事情 但是需要有终止条件
while循环
/**
* 循环 : 重复的做一件事情 但是需要有终止条件
* while循环:
* 语法:
* while(布尔类型的值或者表达式){
* 功能语句;
* }
*执行流程:判断条件是否成立,如果成立,执行功能语句,如果不成立,循环终止
*/
public class _09_WhileDemo {
public static void main(String[] args) {
//打印 10 句 "你们真棒"
//定义一个变量 用来计数
int x = 0;
while (x < 5) {
System.out.println("你们真棒");
// 计数器加1
x = x + 1;
}
}
}
do…while循环
/**
* do。。。while
*语法:
* do{
*功能语句;
* }while(布尔类型的值或表达式);
*执行流程:先执行do中的功能语句,再进行条件的判断,如果条件成立,继续执行do中的功能语句,直到条件不成立,跳出循环
*/
public class _10_DoWhileDemo {
public static void main(String[] args) {
//使用dowhile打印1到10之间的数字
//定义变量 从1开始
int i = 1;
do {
System.out.println("i: " + i);
// 进行自增
i++;
} while (i <= 10);
//1.求出10以内2的倍数的数字 和 个数。
// 定义一个变量 专门用来计数
int num = 0;
// 拿到1~10之间的所有数字
int j = 1;
do {
// 获取1到10之间的偶数
if (j % 2 == 0) {
System.out.println("j: " + j);
num++;
}
// 自增
j++;
} while (j <= 10);
System.out.println(num);
//2.求出 1-10的所有偶数的和
// 定义变量 用来存储和
int sum = 0;
int x = 1;
do {
if (x % 2 == 0) {
// System.out.println(x);
sum += x;// sum = sum+x;//0+2 2+4 6+6 12+8 20+10
}
x++;
} while (x <= 10);
System.out.println(sum);
}
}
for循环
/**
* for(A;B;D){
* C;
* }
* A: 初始条件,B: 判断条件,C: 功能语句,D: 循环后语句
*执行流程:
*第一次: A-->B-->C-->D
*第二次: B-->C-->D
*......
*第N次: B (条件不成立 跳出循环)
*判断次数永远比循环次数多一次
*/
public class _12_ForDemo {
public static void main(String[] args) {
// 使用while循环打印 1到10之间的数字
// 定义一个变量 从1开始
/*
* int x = 1;//初始条件 while(x<=10){//判断条件 System.out.println(x);//功能语句;
* x++;//循环后语句 }
*/
// 使用for循环 打印1到10之间的数字
for (int y = 1; y <= 10; y++) {
System.out.print("y: " + y + ",");
}
System.out.println("----------------------------------");
// 使用for循环 打印1到10之间的偶数
for (int y = 1; y <= 10; y++) {
if (y % 2 == 0) {
System.out.print("y2: " + y + ",");
}
}
System.out.println("----------------------------------");
for (int i = 2; i <= 10; i += 2) {
System.out.print(i + " ");
}
}
}
for的作用域
/**
* {}是作用域的分界线 看到{}就联想到作用域
*/
public class _14_ForScope {
//int a = 6 ;
public static void main(String[] args) {
//int x = 7;
//打印1到10之间的数字
/*for(int i=1;i<11;i++){
System.out.println(i);
}*/
//System.out.println(i);
int j;
for (j = 1; j++ <= 10; j += 2) {
System.out.println("j=" + j);
}
System.out.println(j);
}
}
嵌套循环
public class _15_QTFor {
public static void main(String[] args) {
/* 打印如下图形
* *****
* *****
* *****
* *****
* *****
* */
// 优化1
for (int i = 1; i < 6; i++) { // 循环控制打印的行数
// 定义内层循环 控制每行*的颗数 内层循环就是每一行的内容
for (int j = 1; j < 6; j++) {
System.out.print("*");
}
// 循环一次以后换行
System.out.println(" ");
}
/* 1 外层 1 i=1
* 1 2 外层 2 i=2
* 1 2 3 外层 3 i=3
* 1 2 3 4
* 1 2 3 4 5
* */
for (int i = 1; i < 6; i++) {// 外层循环控制行数
// 内层循环 控制每一行的内容
for (int j = 1; j <= i; j++) {
System.out.print(j + " ");
}
// 换行
System.out.println();
}
}
}
循环控制语句
/**
* 循环控制语句:
* 对整个循环流程进行控制,可以提前终止或者跳出循环
* continue: 跳出当层循环,如果后面还有循环,继续执行
* break: 跳出当前循环,后面如果还有循环,不会执行
* return: 终止当前方法
*/
public class _17_CircleControl2 {
public static void main(String[] args) {
//打印1到5之间的数字 除了3以外
//拿到1到5之间的数字
for (int i = 1; i < 6; i++) {
if (i == 3) {
continue;
}
System.out.println("continue: " + i);// 1 2 4 5
}
for (int i = 1; i < 6; i++) {
if (i == 3) {
break;
}
System.out.println("break: " + i);// 1 2
}
System.out.println("会执行到吗1");
for (int i = 1; i < 6; i++) {
if (i == 3) {
return;
}
System.out.println("return: " + i);// 1 2
}
System.out.println("会执行到吗2");
}
}
原文地址:https://blog.csdn.net/ffhgjgj6576567/article/details/137747588
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!