一、循环&条件
复习:
import java.util.Random;
public class Test{
public static void main(String[] args) {
//控制台输入随机数
Random num=new Random();
int sum=num.nextInt(2);
System.out.println("随机数字为:"+sum);
if (sum==0) {
System.out.println("恭喜您,您是幸运用户!");
}else {
System.out.println("非常遗憾,请继续努力!");
}
}
}
练习1:
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
System.out.println("请输入4位会员卡号:");
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
//个位:
int a=num%10;
//十位:
int b=num/10%10;
//百位:
int c=num/100%10;
//千位:
int d=num/1000%10;
int sum=a+b+c+d;
if (sum>20) {
System.out.println("恭喜您,您是幸运用户!");
}else {
System.out.println("非常遗憾,请继续努力!");
}
}
}
练习2:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
System.out.println("输入考试成绩:");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
if (num>98) {
System.out.println("奖励一个MP4!");
}
else {
System.out.println("罚进行编码!");
}
}
}
练习3:
如何使用多重if选择结构
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
System.out.println("请输入存款(万元):");
Scanner sc=new Scanner(System.in);
int money=sc.nextInt();
if (money>500) {
System.out.println("买凯迪拉克");
}else if (money>100) {
System.out.println("买帕萨特");
}else if (money>50) {
System.out.println("买伊兰特");
}else if (money>10) {
System.out.println("买奥拓");
}else {
System.out.println("买捷达");
}
}
}
二、while循环
练习4:
//2012年培养学员25万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到100万人?
public class Test4 {
public static void main(String[] args) {
int a=25;
int b=2012;
while (a<=100) {
a*=(1+0.25);
b++;
}
System.out.println(b);
}
}
三、for循环
练习5:
求1~100之间不能被3整除的数之和
public class Test5 {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <=100; i++) {
if (i%3!=0) {
sum+=i;
}
}
System.out.println(sum);
}
}
四、在程序中,如果程序执行过程中碰到break,则跳出循环
在程序执行过程中,如果碰到continue,则结束本次循环,继续下一轮循环。
练习6:
循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,则显示“抱歉,分数录入错误,请重新进行录入!”
import java.util.Scanner;
public class Test6 {
public static void main(String[] args) {
int sum=0;
Scanner sc=new Scanner(System.in);
System.out.println("输入学生姓名:");
String name=sc.next();
for (int i = 1; i <=5; i++) {
System.out.println("请输入第"+i+"门的成绩为:");
int a=sc.nextInt();
sum+=a;
if(a<0){
System.out.println("抱歉,分数录入错误,请重新进行录入!");
//break完全跳出循环
//break;
i--;
continue;
}
if (i==5) {
System.out.println("平均分为:"+sum/5);
}
}
}
}
练习7:
//1~10之间的整数相加,得到累加值大于20的当前数
public class Test7 {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <=10; i++) {
sum+=i;
if (sum>20) {
System.out.println(i);
break;
}
}
}
}
练习8:
//循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
import java.text.NumberFormat;
import java.util.Scanner;
public class Test8 {
public static void main(String[] args) {
int b=0;
Scanner sc=new Scanner(System.in);
System.out.println("输入班级总人数:");
int sum=sc.nextInt();
for (int i = 1; i <=sum; i++) {
System.out.println("请输入第"+i+"门的成绩为:");
int a=sc.nextInt();
if(a>80){
b++;
continue;
}
}
System.out.println("80分以上的学生人数是:"+b);
double c=(double)b/sum;
// 获取百分数
NumberFormat nf=NumberFormat.getPercentInstance();
// 控制小数位
nf.setMaximumFractionDigits(1);
String str=nf.format(c);
System.out.println("80分以上的学生所占比例为:"+str);
}
}
练习9:
//求1~10之间的所有偶数和
public class Test9 {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <=10; i++) {
if (i%2==0) {
sum+=i;
}
}
System.out.println("1~10之间的所有偶数和 "+sum);
}
}