中小型网站设计公司网络公关
前言
Hello,大家好!很开心与你们在这里相遇,我是一个喜欢文字、喜欢有趣的灵魂、喜欢探索一切有趣事物的女孩,想与你们共同学习、探索关于IT的相关知识,希望我们可以一路陪伴~
1. if语句
1.1 格式一
if (关系表达式) {
语句体;
}
- 执行流程
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
- 代码示例:
public class IfDemo {public static void main(String[] args) {System.out.println("开始"); //定义两个变量int a = 10;int b = 20; //需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于bif(a == b) {System.out.println("a等于b");} //需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于cint c = 10;if(a == c) {System.out.println("a等于c");} System.out.println("结束");}
}
1.2 格式二
if (关系表达式) {
语句体1;
} else {
语句体2;
}
- 执行流程
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
- 代码示例:
public class IfDemo02 {public static void main(String[] args) {System.out.println("开始"); //定义两个变量int a = 10;int b = 20;//需求:判断a是否大于b,如果是,在控制台输出:a的值大于b,否则,在控制台输出:a的值不大于bif(a > b) {System.out.println("a的值大于b");} else {System.out.println("a的值不大于b");} System.out.println("结束");}
}
1.3 格式三
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
- 执行流程
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1。
- 代码示例:
import java.util.Scanner;
public class IfDemo03 {public static void main(String[] args) {System.out.println("开始");// 需求:键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日Scanner sc = new Scanner(System.in);System.out.println("请输入一个星期数(1-7):");int week = sc.nextInt();if(week == 1) {System.out.println("星期一");} else if(week == 2) {System.out.println("星期二");} else if(week == 3) {System.out.println("星期三");} else if(week == 4) {System.out.println("星期四");} else if(week == 5) {System.out.println("星期五");} else if(week == 6) {System.out.println("星期六");} else if(week ==7){System.out.println("星期日");}else{System.out.println("你个二x,我们只有星期一到星期日,请回到地球!!!!");} }
}
2. switch语句
- 语句格式
switch (表达式|变量) { //整型(byte ,short ,int) 字符型(char) 1.7+ String 枚举 case 值1:语句体1;break; //跳出,当前匹配项;case 值2:语句体2;break;...default:语句体n+1;break; } 注意:case 后面常量应该各不相同break 可以省略,如果省略穿透case运行,直到break才会结束switchdefault 可以省略,位置任意摆放, 没有匹配情形,才去执行default中代码
- 执行流程
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
案例--春夏秋冬
public class Demo1 {public static void main(String[] args) {//键盘录入月份数据,使用变量接收Scanner sc = new Scanner(System.in);System.out.println("请输入一个月份:");int month = sc.nextInt();//case穿透 某些情形执行语句是一样的 switch(month) {case 1:case 2:case 12:System.out.println("冬季");break;case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;default:System.out.println("你输入的月份有误");}}
}
3. for循环
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
- for循环结构
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句; //重复执行的代码
}格式解释:
初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
- 执行流程
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
- 案例--偶数和
public class ForTest03 {public static void main(String[] args) {//求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0int sum = 0;//对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同for(int i=1; i<=100; i++) {//对1-100的偶数求和,需要对求和操作添加限制条件,判断是否是偶数if(i%2 == 0) {sum += i;}}//当循环执行完毕时,将最终数据打印出来System.out.println("1-100之间的偶数和是:" + sum);}
}
4. while循环
- 语法结构
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句(循环变量更新);
}
- 执行流程
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
- 案例实现
需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
代码实现:
public class WhileTest {public static void main(String[] args) {//定义一个计数器,初始值为0int count = 0; //定义纸张厚度double paper = 0.1; //定义珠穆朗玛峰的高度int zf = 8844430; //因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环//折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度while(paper <= zf) {//循环的执行过程中每次纸张折叠,纸张的厚度要加倍paper *= 2; //在循环中执行累加,对应折叠了多少次count++;}//打印计数器的值System.out.println("需要折叠:" + count + "次");}
}
5. do...while循环
- 语法结构
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
- 执行流程
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
- 代码示例:
public class DoWhileDemo {public static void main(String[] args) {//需求:在控制台输出5次"HelloWorld"//do...while循环实现int j = 1;do {System.out.println("HelloWorld");j++;}while(j<=5);}
}
6.三种循环区别
- for、while和do...while区别
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)。
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)至少执行一次。
- for循环与while的区别
条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。
for循环一般用在确定一个范围的场景, while循环一种不确定的范围的场景。
中断语句--break
跳转控制语句--continue
跳转控制语句--return
for(int x = 0; x < 10; x++){if(x == 3){//跳出当前(本次)循环,继续下次循环continue;}System.out.println(x);
}
//break之后这个句话是可以打印出来的System.out.println("over");
for(int x = 1; x < 7; x++){if(x == 3){ return; //return 其实它的作用不是结束循环的,而是结束方法的。}System.out.println(x);
}
//return之后这个句话就不会直接输出的System.out.println("over");
7. 循环嵌套
循环嵌套,并不是新的保留字,而是一种结构 ( 其实就是把多个循环扣在一起... )。do... while、while、for循环均可作为内层或外层循环,建议两层,不要超过三层。
可以这么理解,内层循环作为外层循环的循环体。
只有当内层循环执行完毕,才可以执行外层循环。
- 案例--打印九九乘法表
public class TestJJ{public static void main(String[] args){for(int i = 1 ; i <= 9;i ++){for(int j = 1 ; j <= i ; j++){System.out.print(j + " * " + i + " = " + (i*j) +"\t");}System.out.println();}}}
星星发亮是为了让每一个人有一天都能找到属于自己的星星~ 希望你今天很开心~