这一章其实已经明显感觉到各种题的虐杀,读不懂题,下来就是没思路,不多说其他的,总结类题和方法,还是得多练!
一般的思维和路数就是顺序和选择还有重复(循环),其实这三种结构也就能把基本所有出现的情况都包含了,也就是说你给计算机说走哪它就按照你的路子来走,闲话不多说。
流程控制语句
1 顺序结构
就是从上到下逐步运行,一般的代码就是从上到下的顺序来实现的的计算机阅读的。
2 选择结构
2.1if语句
基本形式:
if(条件表达式){
当条件正确的情况下执行;
}else{
当条件错误的情况下执行;
}
单if格式
if(条件表达式){
当条件正确的情况下执行;
}
嵌套if-else形式:适用于一个条件的类型,运用多条件类型时比较繁琐。
if(条件1){
当条件1正确的情况下执行;
if(条件2){
当条件2正确的情况下执行;
}else{
当条件2错误的情况下执行;
}else{
当条件2错误的情况下执行;
}
if-else-if形式:适用于多条件的语句判别式,代码比较整齐和简化。
if(条件1){
}else if(条件2){
}else if(条件3){
}else if(条件4){
}else{
}
2.2 switch语句
switch(变量){
case 值1:
执行语句1;
case 值2:
执行语句2;
case 值3:
执行语句3;
break;
deafult;
执行语句n;
break;
}
switch一般针对于字符串与变量或者常量之间的一对一关系,所以它只能来判断单一的值,这就是与if语句的区别
可以说这就是if语句的一块的改进版,但是if语句对区间值没有要求。
3 循环结构
循环结构就是主要解决重复执行的代码,把指令交给计算机,让计算机快速的通过循环来执行代码。人们只是在找各种循环的规律。
循环分为for循环和while循环,但是for多用于已知重复次数的循环,while多用于未知次数的循环。但是他们之间也可以执行同一个程序。
做题的四步骤
- 循环初始化 首先要搞清循环的起始
- 循环继续条件 循环的判断条件如果满足条件继续执行不满足则循环结束
- 循环体 也是最重要的步骤 一个循环中循环体被调用的最多 也是最核心的东西
- 循环周期, 当执行一次循环执行完时看是否继续执行
for循环是重中之重
for(循环初始化;循环的继续条件;循环的步长){
循环体
for(循环初始化;循环的继续条件;循环的步长){
循环体
...
}}..
while循环
其实循环本身没有什么差距,但是就是在某种题中或者解题的方式思路运用起来方便而已。和for循环体的四大要素一样,
while一般用于 不清楚需要循环多少次的情况下,所以while(true){ //循环条件中直接为TRUE,里面嵌套一些for循环或者if循环或者if-else或者if-else-if循环。把一些比较复杂的问题迎刃而解。
区别:控制条件语句的变量,在for循环结束后,就不可以被访问了,而while循环还可以访问,如果继续想使用该变量,则可以使用while循环,否则推荐使用for循环,原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
第一种:循环的初始化 第二种:while(true){
while(循环的继续条件){ 循环初始化
循环体 循环的继续条件
循环的步长 循环体
} 循环的步长
第二种执行时当true为一个判断式的时候,它只要成立,就会一直循环下去,直到条件不满足时。
当ture为一个boolean值时那么这个循环就会成为死循环,在循环体后面加个break跳出循环,有的题就必须用到。
这里的概念也就那么多最主要是见识多种循环结构。
例题
1.

步骤分析:
1.提示用户输入abc三个参数
2.计算delt=b*b-4*a*c
3.判断delt的值
当delt>0
输出两个解
当 delt==0
输出一个解
当delt<0
无实数解
import java.util.Scanner;//导入Scanner类 class Lei1{ public static void main(String[] args){ //1. Scanner scanner=new Scanner(System.in); System.out.print("请输入a,b,c:"); double a=scanner.nextDouble();//把用户输入的数字赋值给a double b=scanner.nextDouble();//把用户输入的数字赋值给b double c=scanner.nextDouble();//把用户输入的数字赋值给c double delt=b*b-4*a*c; //3. if(delt>0){ double r1=(-b+Math.sqrt(delt))/(2*a);//计算r1的值 double r2=(-b-Math.sqrt(delt))/(2*a);//计算r2的值 System.out.printf("r1=%.2f,r2=%.2f",r1,r2); }else if(delt==0){ double r=(-b-Math.sqrt(delt))/(2*a); System.out.printf("r=%.2f",r); }else{ System.out.println("无实数解!"); } } }
讯享网
2
.
步骤:
1.输入今天是周几
2.输入未来的几天
3.打印未来的几天是周几
讯享网import java.util.Scanner; class Lei2{ public static void main(String[] args){ //1. Scanner scanner=new Scanner(System.in); System.out.print("今天是周几:"); int today=scanner.nextInt();//把用户输入的值赋值给today //2. System.out.print("未来的几天:"); int future=scanner.nextInt();//把用户输入的值赋值给future //3. int futureDay=(today+future)%7;//计算未来的星期几 String todayStr=""; String futureDayStr="";//创建字符串 if(today==0){ //使用字符串和周几对应起来 todayStr="周日"; }else if(today==1){ todayStr="周一"; }else if(today==2){ todayStr="周二"; }else if(today==3){ todayStr="周三"; }else if(today==4){ todayStr="周四"; }else if(today==5){ todayStr="周五"; }else if(today==6){ todayStr="周六"; } if(futureDay==0){ futureDayStr="周日"; }else if(futureDay==1){ futureDayStr="周一"; }else if(futureDay==2){ futureDayStr="周二"; }else if(futureDay==3){ futureDayStr="周三"; }else if(futureDay==4){ futureDayStr="周四"; }else if(futureD

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/26035.html