java中的程序结构一般分为顺序结构、选择结构、循环结构这三种基本结构。这里主要讲一下选择结构和循环结构:选择结构是根据判断条件是否成立来决定执行哪些程序语句的结构,包括单if结构,if...else结构,if...if...else...else多分支结构;除了if以外选择结构中还有一种switch选择结构,通过对switch中的值执行相应case后面的语句。注意事项:每一个case 声明之后应该有break,确保switch的变量类型是byte,short,char 或int , String, enum之一,在JDK1.5之后switch是支持enum(枚举类型),在JDK1.7之后才支持String(字符串类型)。区别:switch和多重if选择结构的区别是switch只能处理等值条件判断的情况而多重if一般用于范围判断。
选择结构代码演示:
功能要求:使用switch和if实现如下功能,输入年份和月份输出该月份一共有多少天 (注意:因为年份的不同,二月份有可能28天也有可能29天)
/**
* @author:lxj
* 功能:判断年份中的月份天数
*/
public class Demo5 {
public static void main(String[] args) {
System.out.println("请输入一个年份");
Scanner scanner = new Scanner(System.in);
int year = scanner.nextInt();
// 判断闰年
if(((year%4 == 0) && (year%100 !=0)) || (year%400 == 0)){
System.out.println("请输入想要查询的月份:");
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("该月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("该月有30天");
case 2:
System.out.println("该月有29天");
}
System.out.println("该年是闰年");
}
else {
System.out.println("请输入想要查询的月份:");
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("该月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("该月有30天");
case 2:
System.out.println("该月有28天");
}
System.out.println("该年不是闰年");
}
}
}
循环结构就是一遍一遍重复的执行,循环就是重复,相同的的执行步骤或执行算法,执行完一遍然后接着执行另一遍,直到某个条件成立结束,可以有效避免代码的冗余。循环结构一般有for循环,foreach循环,while循环,do...while循环四大类。for循环与while和do...while循环的区别:for一般用于循环次数有明确的次数,而while类循环针对的是不清楚具体的循环次数,只由循环标识条件来退出(使用break除外)。for循环和foreach循环的区别:for循环遍历是根据索引或者下标来循环的,而foreach循环遍历是没有索引和下标的。while循环和do...while循环的区别:while循环先判断后执行,假如循环条件为假,则一次循环也不执行;do...while循环先执行后判断,即使循环条件为假也要执行一次循环。
循环结构代码演示:
功能要求:一个篮球从1000米高空落地,每次反弹的高度是落地高度的60%,请问多少次反弹之后篮球离地小于1米(使用while循环)
package com.cdtu.chapterfive;
public class Demo4 {
public static void main(String[] args) {
float high = 1000.0f;
int count = 0;
while(high>1)
{
//high = (float) (high * 0.6);
high*=0.6;
count++;
}
System.out.println("弹了" + count + "次");
}
}
-------------------------
功能要求:求出1-100之间既能被3整除或能被7整除的数的和(使用for循环)
package com.cdtu.chapterfive;
public class Demo5 {
public static void main(String[] args) {
int total = 0;
for (int i = 1;i<=100;i++){
if(i%3 == 0 || i%7 == 0)
{
total+=i;
}
}
System.out.println("满足的数之和: " + total);
}
}
千里之行,始于足下。基础不牢,地动山摇。基础虽简单,但对于后期的深入学习有着潜移默化的影响,希望大家都能学有所成。