1.If分支结构
2.Switch分支结构
顺序结构 :体现在程序进入某一个方法后,从上往下执行。
选择结构 :今天学
循环结构 :下次课学
1.基本if选择结构
1.格式
1>2 || 2>3
案例:1.如果我能看得见,生命也许完全不同。
2.如果我有5000元,我就去云南旅游。
3…如果你考试比我分数高,我就告诉老师你作弊。
private static void text01() {
Scanner sc=new Scanner(System.in);
boolean a;
int b;
double c,d;
System.out.println("请输入 看得见true或看不见false");
a=sc.nextBoolean();
if(a){
System.out.println("如果我能看得见,生命也许完全不同。");
}else {
System.out.println("这里漆黑一片。");
}
System.out.println("请输入数值");
b=sc.nextInt();
if(b>5000){
System.out.println("去云南旅游。");
}else {
System.out.println("太穷了,家里呆着。");
}
System.out.println("请输入两个分数:");
c=sc.nextDouble();
d=sc.nextDouble();
if(c>d){
System.out.println("你考试比我分数高,我要告诉老师你作弊。");
}else {
System.out.println("我就知道,你不行。");
}
}
条件中参杂着逻辑运算符
案例:1.如果我有5000元,空气污染指数<100,我就去云南旅游。
2.如果我身高1.8m,视力1.5,我就可以去当飞行员。
3.如果小明语文分数大于60,并且数学大于70;或者他的钢琴课大于80,就可以回家吃冰淇淋。
private static void text02() {
double a,b,c,d,e,f,g;
Scanner sc2=new Scanner(System.in);
System.out.println("请输入财产和空气污染指数");
a=sc2.nextDouble();
b=sc2.nextDouble();
if (a>=5000&&b<=100){
System.out.println("我去云南旅游");
}else {
System.out.println("去不了");
}
System.out.println("请输入你的身高和视力");
c=sc2.nextDouble();
d=sc2.nextDouble();
if (c>=1.8&&d>=1.5){
System.out.println("可以当飞行员");
}else{
System.out.println("当不了飞行员");
}
System.out.println("请输入语文成绩,数学成绩,钢琴成绩");
e= sc2.nextDouble();
f= sc2.nextDouble();
g= sc2.nextDouble();
if (e>=60&&f>=70||g>=80){
System.out.println("可以回家吃冰激凌");
}else{
System.out.println("不能回家吃冰淇淋");
}
}
如果,,,,否则,,,,
1.在某种情况下(运算后有一个具体的结果),三元运算符可以看成是if else的简写。
2.两个结果互斥的基本if结构的合并
3.案例:
1.如果孙悟空在五行山下压了500年,唐僧就会带他去西天取经,否则还得继续服刑。
2.如果师徒四人经历了九九八十一难,就可以修成正果,否则师父还要被妖精抓走。
3.如果小明考试大于60分,回家可以吃饭,否则回家挨打。
private static void text03() {
Scanner sc3=new Scanner(System.in);
System.out.println("请输入被压年数");
int a=sc3.nextInt();
if(a>=500){
System.out.println("可以去取经");
}else {
System.out.println("继续服刑");
}
System.out.println("师徒四人经历的难数");
int b=sc3.nextInt();
if (b>=81){
System.out.println("可以修成正果");
}else {
System.out.println("师傅被妖精抓走了");
}
System.out.println("请输入小明的成绩");
double c=sc3.nextDouble();
if (c>=60){
System.out.println("可以回家吃饭");
}else {
System.out.println("回来挨打");
}
}
思考:最终结果会执行多少行?
多重if选择结构,最终只会执行一种结果,执行完后,马上跳出该选择结构,不会继续往下执行。
1.格式:If- else if -else
2.逻辑分析:
程序面临的选择在3个或以上。
一旦进入了某一个选择,将不再执行后面的选择。意味着程序只能进入一个选择里面。
3.案例:
1.中国的歼20服役数量大于100架,将无敌于天下;
如果大于50架,可以排名世界第二;
如果大于30架,可以排名世界前五;
否则,恐怕要被小日本欺负了。
2.如果小明java考试成绩大于90分,学校奖励飞机一架,
如果大于80分,奖励坦克一辆,
如果大于60分,奖励拖拉机一辆,
否则留级重考。
针对有前提条件的情况,也就是条件有层级包含关系。
案例:
1.在全校举行的100米赛跑中,如果跑出10秒的成绩,进入决赛,如果是男生,进入男子队,如果是女生,进入女子队。
2.在厚溥的学员,顺利完成结业考试(>60),允许毕业,找到工作(true),出去挣钱,没有找到,回来继续学习。
private static void text04() {
Scanner sc4=new Scanner(System.in);
System.out.print("请输入比赛成绩:");
float a=sc4.nextFloat();
if(a<=10){
System.out.println("进入决赛");
boolean b;
System.out.println("男生请输入true,女生请输入false");
b=sc4.nextBoolean();
if (b==true){
System.out.println("进入男子队");
}else if (b==false){
System.out.println("进入女子队");
}
}else {
System.out.println("淘汰");
}
System.out.print("请输入考试成绩:");
double c=sc4.nextDouble();
if (c>=60){
System.out.println("允许毕业,去找工作");
}else if (c<60){
System.out.println("回来继续学习");
}
}
1.案例:
某新型彩票中奖规则:猜中6个球,一等奖,5个球,二等奖,4个球,三等奖,否则没有中奖。
private static void text06() {
Scanner sc6=new Scanner(System.in);
System.out.println("请输入你猜中的球数");
int num=sc6.nextInt();
switch(num){
case 6:
System.out.println("一等奖");
break;
case 5:
System.out.println("一等奖");
break;
case 4:
System.out.println("一等奖");
break;
default:
System.out.println("没有中奖");
break;
}
}
注意两个细节:1.任何一种情况,都建议带上break ,如果忘记了,会继续往下执行
2.default可以放在任意位置,也建议带上break,如何不加break,建议放在末尾
3.switch不支持long类型
4.switch不能使用continue
2.理解:多重if在等值判断的情况下作形式上的改版和演化:
1.Select which:选择哪一个?
2.提取公因式
3.只能选择多种结果中的一种,故每一种结果执行完后要跳出结构,即break;
3.特点:条件为等值判断
4.注意:忘记写break会怎样?
程序会从匹配的条件一直往下执行。
5.补充:jdk7版本及更高版本,支持String类型和枚举类型的判断。
总结:
根据不同的条件和选择的情况现作出以下分类讨论:
1.一个条件一种选择结果:
基本if选择结构
2.多个条件一种选择结果:
复杂条件if选择结构(通过逻辑运算符把多个条件判断连接起来)
3.一个条件,2种选择结果:
If - else
4.一个条件,3种以上选择结果:
If else if … else(范围条件判断)
5.多个条件,存在前提条件的情况:
嵌套if结构
6.在第4种情况中,条件判断为等值判断,而不是范围判断的情况下,一般使用
Switch
什么是代码块?
每一个代码块有它的作用域 ,相当于一个局部的小天地,小环境。
{ }
不能在外面调用代码块里面的变量。
1.编写程序,用户输入一个1~7的数字,输出对应的星期。
private static void one() {
Scanner sc1=new Scanner(System.in);
System.out.println("请输入数字1-7");
int num=sc1.nextInt();
switch(num){
case 1:
System.out.println("今天是星期"+num);
break;
case 2:
System.out.println("今天是星期"+num);
break;
case 3:
System.out.println("今天是星期"+num);
break;
case 4:
System.out.println("今天是星期"+num);
break;
case 5:
System.out.println("今天是星期"+num);
break;
case 6:
System.out.println("今天是星期"+num);
break;
case 7:
System.out.println("今天是星期日");
break;
default:
System.out.println("输入错误,没有星期"+num+"这个日期");
break;
}
}
2.用户输入一个月份数,判断该月份属于哪个季节,并输入结果。(3,4,5春季,6,7,8夏季, 9,10,11秋季, 12,1,2冬季)
private static void two() {
Scanner sc2=new Scanner(System.in);
System.out.print("请输入月份数:");
int a1=sc2.nextInt();
switch(a1){
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;
case 12: ;
case 1: ;
case 2:
System.out.println("现在是冬季");
break;
default :
System.out.println("没有这个季节");
break;
}
}
private static void three() {
Scanner sc3=new Scanner(System.in);
System.out.println("请输入四位数:");
int a=sc3.nextInt();
if (a>999||a<10000){
int b=a%10,c=(a%100)/10,d=(a/100)%10,e=a/1000;
System.out.println("个位:"+b+" 十位:"+c+" 百位:"+d+" 1千位:"+e);
System.out.println("和为:"+(b+c+d+e));
}else{
System.out.println("输入错误");
}
}
private static void four() {
Scanner sc4=new Scanner(System.in);
int a;
int b,c,d,e,f;
System.out.println("请输入数字,男 0,女 1");
a=sc4.nextInt();
if(a==0){
System.out.println("请输入是否已婚,已婚 1,未婚 0");
b=sc4.nextInt();
if (b==1){
System.out.println("因为已婚,公司为你提供保险");
}else {
System.out.println("请输入年龄:");
c=sc4.nextInt();
if (c>=25){
System.out.println("应为年龄到25,公司可以为你提供保险");
}else {
System.out.println("应为年龄没到25,公司不能为你提供保险");
}
}
}else{
System.out.println("请输入是否已婚,已婚 1,未婚 0");
d=sc4.nextInt();
if (d==1){
System.out.println("因为已婚,公司为你提供保险");
}else {
System.out.println("请输入年龄:");
e=sc4.nextInt();
if (e>=22){
System.out.println("应为年龄到22,公司可以为你提供保险");
}else {
System.out.println("应为年龄没到22,公司不能为你提供保险");
}
}
}
}
private static void five() {
/* 用A,B,C等级对学生的的成绩分类, 其中0 - 59是A, 60 – 80是B,81 – 100 是C等级,
请用代码实现该功能,判断某位同学的分数等级,同学的的分数由用户输入*/
Scanner sc5=new Scanner(System.in);
System.out.println("请输入你的分数0-100");
double a=sc5.nextDouble();
if(a<60){
System.out.println("你的成绩等级是A");
}else if (a<81){
System.out.println("你的成绩等级是B");
}else {
System.out.println("你的成绩等级是C");
}
}
private static void six() {
Scanner sc = new Scanner(System.in);
System.out.println("您是否是会员输入0是,输入1不是:");
int hy=sc.nextInt();
System.out.println("你的商品总价是:");
double p=sc.nextDouble();
if(hy!=0&&p>100){
double z=p*0.9;
double k=p-z;
System.out.println("你优惠了:"+k+",最终付款:"+z);
}else if(hy!=0&&p<100){
System.out.println("你最终付款:"+p);
}else if(hy!=1&&p>100){
double z1=p*0.8;
double k=p-z1;
System.out.println("你优惠了:"+k+",最终付款:"+z1);
}else if(hy!=1&&p<100){
double z2=p*0.9;
double k=p-z2;
System.out.println("你优惠了:"+k+",最终付款:"+z2);
}
}
private static void seven() {
Scanner sc7=new Scanner(System.in);
System.out.println("请输入四位数的年份:");
int a=sc7.nextInt();
if ((a%4==0&&(a%100)!=0)||a%400==0){
System.out.println("是闰年");
}else {
System.out.println("不是闰年");
}
}
private static void eight() {
Scanner sc8=new Scanner(System.in);
System.out.println("请输入字母:");
String a1=sc8.next();
switch (a1){
case "a": ;
case "e": ;
case "i": ;
case "o": ;
case "u":
System.out.println("是元音字母");
break;
default:
System.out.println("不是元音字母");
break;
}
}
private static void nine() {
Scanner sc9=new Scanner(System.in);
System.out.println("今天是星期几:");
int a=sc9.nextInt();
switch(a){
case 1:
System.out.println("鸡蛋") ;
break;
case 2:
System.out.println("鱼");
break;
case 3:
System.out.println("青菜");
break;
case 4:
System.out.println("牛肉");
break;
case 5:
System.out.println("虾");
break;
case 6:
System.out.println("汉堡");
break;
case 7:
System.out.println("鸡翅");
break;
default:
System.out.println("出错了");
break;
}
}
private static void ten() {
Scanner sc10=new Scanner(System.in);
System.out.println("请输入四个整数");
int a=sc10.nextInt();
int b=sc10.nextInt();
int c=sc10.nextInt();
int d=sc10.nextInt();
int max;
max=a>b?a:b;
max=max>c?max:c;
max=max>d?max:d;
System.out.println("最大的值为:"+max);
if (max==a){
System.out.println("a的值为"+a+",a最大");
} if (max==b){
System.out.println("b的值为"+b+",b最大");
} if (max==c){
System.out.println("c的值为"+c+",c最大");
} if (max==d){
System.out.println("d的值为"+d+",d最大");
}
/* Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int a1=sc.nextInt();
System.out.println("请输入第二个数:");
int a2=sc.nextInt();
System.out.println("请输入第三个数:");
int a3=sc.nextInt();
System.out.println("请输入第四个数:");
int a4=sc.nextInt();
if(a1>a2&&a1>a3&&a1>a4){
System.out.println("a的值为"+a1+",a最大");
}else if(a2>a1&&a2>a3&&a2>a4){
System.out.println("b的值为"+a2+",b最大");
}else if(a3>a1&&a3>a2&&a3>a4){
System.out.println("c的值为"+a3+",c最大");
}else if(a4>a3&&a4>a2&&a4>a1){
System.out.println("d的值为"+a4+",d最大");
}*/
}
预习内容:
循环
while循环
do-while循环
for循环
循环变量:记录循环的次数
循环条件:决定是否还要继续下去,循环变量的范围(上限,下限)
循环体:重复性的工作
一.当我们需要重复做一件事情时,可以用循环来解决。参考ppt 6页
二.While循环的格式和步骤:(画流程图)
1.定义循环变量,并初始化
2.While作条件判断,执行循环或跳出循环。
三.案例:
1.某学员为表决心,决定抄写100遍“好好学习,天天向上。”
2.输入小明的考试成绩,如果及格,奖励钢笔一支,否则继续学习和做作业,然后再考。
3.输入你想在这个星球上待多少年,然后模拟时光飞快的过了每一年。
package com;
import java.util.Scanner;
public class xunhuan {
public static void main(String[] args) {
three();
}
private static void three() {
Scanner sc3=new Scanner(System.in);
System.out.print("请输入你想在这个星球上待多少年:");
int a1=sc3.nextInt(),b=1;
while (b<=a1){
System.out.println("你已经呆了"+b+"年");
b++;
}
}
private static void two() {
Scanner sc2=new Scanner(System.in);
System.out.println("请输入小明的成绩");
double a1=sc2.nextDouble();
while(a1<60){
System.out.println("继续学习");
System.out.println("请再输入小明的成绩");
a1=sc2.nextDouble();
}
System.out.println("奖励钢笔一支");
}
private static void one() {
Scanner sc1=new Scanner(System.in);
int i=0;
while (i<10){
System.out.println("好好学习,天天向上");
i++;
}
}
}
总结:循环就像是一个人在河里顺水而下,突然遇到一个漩涡。
一.格式:
二.案例:
1.U1学完了,同学们很开心,接下来就要面临考试了,考试及格的学员,顺利升级U2课程学习,不及格的呢,则要准备重考!
2.火车中途安检,查看身上是否有违禁物品,如果没有,可以继续乘坐,否则,赶下车去!
3.飞机中途安检,查看身上是否有违禁物品,如果没有,可以继续乘坐,否则自己跳下去!
1.while 和do-while格式写三遍体会写法的区别和注意分号。
2.While先条件判断,再执行循环体,do-while 先执行循环体,再条件判断。
3.区分理解:先安检,在上车;先坐车,出站安检。
先看口袋钱够不够,再决定是否进店消费;
先进去点餐吃饭,结账买单时再看钱够不够
一.语法和执行顺序:
二.使用场景:循环次数固定:更加突出具体了开始节点和结束节点
三.案例:
1.打印边长为5矩形
2.打印平行四边形
3.打印三角形
4.打印菱形
5.打印空心菱形
6.升级上面的案例,边长由用户输入
package four;
import java.util.Scanner;
public class XunHuan {
public static void main(String[] args) {
five1();
}
//任意长度的空心菱形
private static void five1() {
Scanner sc=new Scanner(System.in);
System.out.print("请输入空心菱形的边长:");
int a=sc.nextInt();
for (int i = 1; i <=a; i++) {
for (int k=a;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
if (j==1||j==i){
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();//换行
}
for (int i = (a-1); i>=1; i--) {
System.out.print(" ");
for (int k=(a-1);k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
if (j==1||j==i){
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();//换行
}
}
//边长任意的菱形
private static void four1() {
Scanner sc=new Scanner(System.in);
System.out.print("请输入菱形的边长:");
int a=sc.nextInt();
for (int i = 1; i <=a; i++) {
for (int k=a;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
for (int i = (a-1); i>=1; i--) {
System.out.print(" ");
for (int k=(a-1);k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//边长任意的正三角形
private static void three1() {
Scanner sc=new Scanner(System.in);
System.out.print("请输入三角形的边长:");
int a=sc.nextInt();
for (int i = 1; i <= a; i++) {
for (int k=a;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//任意长度的平行四边形
private static void two1() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入平行四边形的长:");
int b=sc.nextInt();
System.out.println("请输入平行四边形的宽:");
int a=sc.nextInt();
for (int i = 1; i <= a; i++) {//每行
for (int k = 1; k < i; k++) {//空格
System.out.print(" ");
}
for (int j = 1; j <= b; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//输入任意长度的矩形
private static void one1() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入矩形的宽:");
int a=sc.nextInt();
System.out.println("请输入矩形的长:");
int b=sc.nextInt();
for (int i = 1; i <= a; i++) {
for (int j = 1; j <= b; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//空心菱形
private static void five() {
for (int i = 1; i <=5; i++) {
for (int k=5;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
if (j==1||j==i){
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();//换行
}
for (int i = 4; i>=1; i--) {
System.out.print(" ");
for (int k=4;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
if (j==1||j==i){
System.out.print("* ");
}else {
System.out.print(" ");
}
}
System.out.println();//换行
}
}
//菱形
private static void four() {
for (int i = 1; i <=5; i++) {
for (int k=5;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
for (int i = 4; i>=1; i--) {
System.out.print(" ");
for (int k=4;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//正三角形
private static void three() {
for (int i = 1; i <= 10; i++) {
for (int k=10;k>=i;k--){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//平行四边形
private static void two() {
for (int i = 1; i <= 10; i++) {//每行
for (int k = 1; k < i; k++) {//空格
System.out.print(" ");
}
for (int j = 1; j <= 10; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
//正方形
private static void one () {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <=10; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
}
}
一.请同学们自行脑补以下情景:
1.当你在河里玩漂流的时候,突然遇到一个漩涡,转了几圈后,你瞬间像开挂了一样,一跃而起,带着你的橡皮艇从漩涡里面跳了出来。break
你后面的小伙伴不小心也进入了漩涡,他想模仿你一样跳出来,可是法力不够,在空中停留了一秒,还是再次掉进漩涡中。continue
break是跳出整个循环语句,结束整个循环过程(当前所在层)
continue是跳出本次循环,而不是终止循环(当前所在层)
二.案例:
1.张三在一次参加学校的10000米赛跑时,跑了8圈之后突然感到心脏不适, 不得己中途退赛。
2.李四在10000米赛跑中,乘着别人不注意,从操场中间径直穿插过去,此行为属于作弊行为。
3.录入5门课成绩,输出平均成绩。如果录入的是负数,中止录入,并提示 录入错误
1.使用while、do-while以及for循环三种编程方式实现:计算100以内(包括 100)的偶数之和
private static void one() {
int a=0,b=0;
while (a<100){
a+=2;
b+=a;
}
System.out.println("100以内的偶数之和为:"+b);
int a1=0,b1=0;
do {
a1=a1+2;
b1=b1+a1;
}while (a1<100);
System.out.println("100以内的偶数之和为:"+b1);
int c=0;
for (int i=0;i<=100;i+=2){
c=c+i;
}
System.out.println("100以内的偶数之和为:"+c);
}
}
2.输入一个整数n,实现n的阶乘。n*(n-1)*…*1
private static void two() {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个整数:");
int n = sc.nextInt();
int i=1,j=1;
while(i<=n){
j*=i;
i++;
}
System.out.println(n+"的阶乘为:"+j);
}
3.实现99乘法表的打印和输出。
private static void three() {
for (int i=1;i<=9;i++){
for (int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(j*i)+" ");
}
System.out.println();
}
}
4.1~10之间的整数相加,得到累加值大于20的当前数
private static void four() {
Scanner sc=new Scanner(System.in);
int a;
int b=0;
for (;b<20;b+=a){
System.out.println("请输入1-10之间的整数:");
a=sc.nextInt();
}
System.out.println("累加值大于20的当前数为:"+b);
}
5.循环录入Java课的学生成绩,共5人,统计分数大于等于80分的学生比例
private static void five() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入五个学生的成绩:");
double a;
double b=0;
for (int i=1;i<=5;i++){
System.out.println("请输入第"+i+"个学生的成绩:");
a=sc.nextDouble();
if (a>=80){
b++;
}
}
System.out.println("分数大于等于80分的学生比例为:"+(b/5));
}
1.输出1-10与5相乘的结果
private static void text01() {
for (int i=1;i<=10;i++){
System.out.println(i+"与5相乘的结果为:"+(i*5));
}
}
2.用程序计算1-100的和,并输出
private static void text02() {
int sum=0;
for (int i = 1; i <=100 ; i++) {
sum+=i;
}
System.out.println("1-100的和为:"+sum);
}
3.求出所有的水仙花数,水仙化数为3位数,并且每位上的数字的立方和等于该数本身
private static void text03() {
for (int i=100;i<999;i++){
if (i==(Math.pow(i%10,3)+Math.pow(i/100,3)+Math.pow((i/10)%10,3))){
System.out.println("这个数是水仙花数:"+i);
}
}
}
4.把100-200之间不能被3整除的数输出
private static void text04() {
System.out.println("100-200之间不能被3整除的数为:");
int a=1;
for (int i=100;i<=200;i++){
if (i%3!=0){
System.out.print(i+" ");
}
if (a%10==0){
System.out.println();//换行
}
a++;
}
}
5.将1998-2008年之间的闰年年份输出
private static void text05() {
System.out.println("1998-2008年之间的闰年年份为:");
for (int i=1998;i<=2008;i++){
if (i%4==0&&i%100!=0||i%400==0){
System.out.println(i);
}
}
}
6.循环接受本班学生的考试成绩,每次接受完一个学生的分数,询问用户是否要继续,答案是‘1’时继续接受,否则,停止接受,最后输出所有学生的总分和平均分
private static void six() {
Scanner sc=new Scanner(System.in);
int i;//成绩
int sum=0;//记录总分
double count=0;//记录学生个数
int sex=1;
do {
System.out.print("请输入学生的成绩:");
i=sc.nextInt();
sum+=i;
System.out.println("继续请按1");
sex=sc.nextInt();
count++;
}while (sex==1);
System.out.println("学生的总分为:"+sum+" 平均分:"+sum/count);
}
7.计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 54321
private static void text07() {
System.out.println("请输入一个正整数:");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=1;
for (int i=1;i<=a;i++){
b*=i;
}
System.out.println(a+"的阶乘为:"+b);
}
8.用代码实现一个猜数字的小游戏,假设要猜的目标数字是8,先可以提示用户猜的数在0-10之间,然后循环接受用户输入的数字,如果用户输入的数字比目标数字小,就提示”小了,继续猜”,继续接受用户输入的数字,继续比较,如果大了,就”大了,继续猜”,如果用户在5次以内猜对了,就提示”你真聪明,猜对了!”并结束循环,如果猜了5次还没有猜对,就提示”真笨,不跟你玩了”,并结束循环
private static void text08() {
int a=16;
System.out.println("要猜的整数在0-50之间");
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要猜的数:");
boolean c=true;
for (int i=1;i<=5;i++){
int b=sc.nextInt();//猜的数
if (b==a){
System.out.println("你真聪明,猜对了!");
c=false;
break;
}
if (b>a){
System.out.println("大了,继续猜");
}
if (b
9.求1-100之间所有3的倍数的和(用关键字continue和不用continue两种方法做)
private static void one() {
int sum=0;
for (int i=1;i<=100;i++){
if (i%3==0){
sum=sum+i;
//System.out.print(i+" ");
}
}
System.out.println("1-100之间所有3的倍数的和为:"+sum);
int sum1=0;
for (int i=0;i<100;i++){
if (i%3!=0){
continue;
}
sum1+=i;
}
System.out.println("1-100之间所有3的倍数的和为:"+sum1);
}
10.上面题6改为,本班一共30个学生,循环接收学生的开始成绩,如果用户输入答案非’1’,则停止接受,如果输入的一直是’1’,但学生人数达到30也停止接收
private static void text10() {
System.out.println("请输入学生的成绩:");
Scanner sc=new Scanner(System.in);
double a;
int b;
double c=0;//总分
int d=0;//记循环
for (int i=1;i<=30;i++){
a=sc.nextDouble();
System.out.println("是否要继续,答案是‘1’时继续接受,否则,停止接受");
c=c+a;
d++;
b=sc.nextInt();
if (b!=1){
break;
}
System.out.println("请继续输入学生的成绩:");
}
System.out.println("总分为:"+c);
System.out.println("平均分为:"+c/d);
}
Java学习顺序