自学内容网 自学内容网

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)!