JAVA流程控制——循环
1. if语句
2. while语句
3. do...while语句
4. switch ... case
5. for循环
6. 根据输入的天数判断星期几
7. 根据输入的月份判断属于哪个季节
8. 九九乘法表
/**
*Title: project_name
*Description: 流程控制
*Makedate:2016年4月30日 下午2:38:01
*@author: sunt Email:wnst1990@126.com
*@version: 1.0
*/
public class Demo1 {
public static void main(String[] args) {
/**
* 1.if循环
if(条件表达式){
...
}
*/
int x1 = 12;
if(x1 > 10){
System.out.println("条件表达式成立");
}
System.out.println("if循环执行完成");
/**
* if(条件表达式){
* ...
* }else{
* ...
* }
*/
System.out.println("--------------------------------");
if(x1 > 11){
System.out.println("x1 大于11");
}if(x1 > 9){
System.out.println("x1 大于 9");
}else {
System.out.println("x1 小于11");
}
/**
* if(条件表达式){
* 。。。
* }elseif(条件表达式){
* ...
* }elseif(条件表达式){
* ...
* }else{
* ...
* }
*/
System.out.println("===============================");
if(x1 > 15){
System.out.println("x1 大于15");
}else if (x1 > 13) {
System.out.println("x1 大于13");
}else if (x1 > 10) {
System.out.println("x1 大于10");
}else if (x1 > 9) {
System.out.println("x1 大于9");
}else {
System.out.println("执行完毕");
}
/**
* 总结:
* 多个if(){
* }if(){
* }-----------------只要条件成立都执行
*
* 和多个
* if(){
* }elseif(){
* }---------------只要有一个条件成立后面的代码块就不会再执行
*/
/**
* 2.局部代码块的声明周期,只在定义的代码块里面有用,跳出代码块就不起作用
*/
{//局部代码块
int num1 = 10;
System.out.println("num1= " + num1);
}
//System.out.println("跳出代码块执行num1 = "+ num1);
/**
* 针对多个if(){
* }elseif(){
* }执行的练习
* 条件成立后面的就不会执行
*/
int day = 6;
if(day == 1){
System.out.println("第" +day+ "天是星期" + day );
}else if (day == 2) {
System.out.println("第" +day+ "天是星期" + day );
}else if (day == 3) {
System.out.println("第" +day+ "天是星期" + day );
}else if (day == 4) {
System.out.println("第" +day+ "天是星期" + day );
}else if (day == 5) {
System.out.println("第" +day+ "天是星期" + day );
}else if (day == 6) {
System.out.println("第" +day+ "天是星期" + day );
}
/**
* 第二练习:对多个if...elseif和操作符的综合练习
* 根据输入的月份,在控制台打印出属于哪个季节
* 春:二月、三月、四月
夏:五月、六月、七月
秋:八月、九月、十月
冬:十一、十二、一月
*/
System.out.println("==========根据输入的月份,在控制台打印出属于哪个季节================");
int month = 1;
if(month >= 2 && month <= 4){
System.out.println(month +"月份为春季");
}else if (month >=5 && month <= 7) {
System.out.println(month +"月份为夏季");
}else if (month>=8 && month<=10) {
System.out.println(month +"月份为秋季");
}else if (month < 1 || month > 12) {
System.out.println("输入的月份不合法,没有对应的季节");
}else {
System.out.println(month +"月份为冬季");
}
/**
* 3.流程控制语句:switch()
* 基本格式:
switch (key) {
case value:
break;
default:
break;
几点说明:
A:key:switch(key)中,key是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是int、 short、 char 或者 byte。
在java7中expr1可以是String类型的了。
B:case与default没有顺序。先执行第一个case,没有匹配的case执行default。
C:结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
D:进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case
上面,执行顺序也不变。
*/
/*******综合案例:根据输入不同的运算符号,实现不同的运算(key为char类型)*****************/
System.out.println("-------------根据输入不同的运算符号,实现不同的运算---------------");
int num1 = 12;
int num2 = 11;
int res;
char opt = '*';
switch (opt) {
case '+':
res = num1 + num2;
System.out.println("res = " + (num1 + num2));
break;
case '-':
res = num1 + num2;
System.out.println("res = " + (num1 - num2));
break;
case '*':
res = num1 + num2;
System.out.println("res = " + (num1 * num2));
break;
case '/':
res = num1 + num2;
System.out.println("res = " + (num1 / num2));
break;
default:
System.out.println("------输入的运算符号不合法----------");
break;
}
/**
* 案例二:根据输入不同的值,控制台打印对应星期几
*/
System.out.println("-------------根据输入不同的值,控制台打印对应星期几-------------------");
int week = 5;
switch (week) {
case 1:
System.out.println("第" +week+ "天对应星期一");
break;
case 2:
System.out.println("第" +week+ "天对应星期二");
break;
case 3:
System.out.println("第" +week+ "天对应星期三");
break;
case 4:
System.out.println("第" +week+ "天对应星期四");
break;
case 5:
System.out.println("第" +week+ "天对应星期五");
break;
case 6:
System.out.println("第" +week+ "天对应星期六");
break;
case 7:
System.out.println("第" +week+ "天对应星期日");
break;
default:
System.out.println("输入的天数不合法,找不到对应的星期");
break;
}
/**
* 案例三:
* 根据输入的月份打印对应的月份
* 春:二月、三月、四月
夏:五月、六月、七月
秋:八月、九月、十月
冬:十一、十二、一月
*/
System.out.println("-----------根据输入的月份打印对应的月份----------");
int mon = 8;
switch (mon) {
case 2:
case 3:
case 4:
System.out.println(mon + "月份对应的是春季");
break;
case 5:
case 6:
case 7:
System.out.println(mon + "月份对应的是夏");
break;
case 8:
case 9:
case 10:
System.out.println(mon + "月份对应的是秋季");
break;
case 1:
case 11:
case 12:
System.out.println(mon + "月份对应的是冬季");
break;
default:
System.out.println("输入的月份不合法,没有对应的季节");
break;
}
/**
* 4.循环结构:
* for()
* while()
* do...while()
*/
/***********for***********/
for (int i = 0; i < 10; i++) {
System.out.println("i = " + i);
}
/***********while循环**************/
System.out.println("============for循环结束================");
int x = 10;
while (x < 16) {
System.out.println("x = " + x);
x++;
}
System.out.println("------------do....while循环----------------");
int x2 = 10;
do {
System.out.println("x2 = " + x2);
x2++;
} while (x2 < 16);
System.out.println("--------------求1-50数据之和------------------");
/**
* while:条件表达式成立才执行语句块
* do...while:不管条件表达式成不成立,都会首先执行一次代码块
*/
/**************求1-50整数之和******************/
int num = 1;
int ress = 0;
while (num <= 50) {
ress += num;
num++;
}
System.out.println("1-50之和="+ ress);
/**
* 统计1-1000之间出现7的倍数的次数
*/
int index = 1;
int count = 0;
while (index <= 1000) {
if(index % 7 == 0){
count++;
}
index++;
}
System.out.println("1-1000之间出现7的倍数的次数 = " + count);
System.out.println("--------------循环打印九九乘法表-------------");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "X" + i + "=" + (i * j) + "\t" );
}
System.out.println("\t");
}
}
}
“`