1 (if 语句)读入一个整数,表示一个人的年龄。
读入一个整数,表示一个人的年龄;如果小于6岁,则输出“儿童”,6岁到13岁,输出“少 儿”;14岁到17岁,输出“青少年”;18岁到35岁,输出“青年”;36岁到50岁,输出“中年”; 50岁以上输出“中老年”。
import java.util.Scanner; public class Demo23010301 { public static void main(String [] args){ Scanner input = new Scanner(System.in); System.out.println("请输入一个表示年龄的整数"); int age = input.nextInt(); if (age<6){ System.out.println("儿童"); } else if (age<=17) { System.out.println("青少年"); }else if (age<=35) { System.out.println("青年"); }else if (age<=50) { System.out.println("中年"); }else System.out.println("中老年"); } }
2 (if语句)计算销售总金额
(if语句)计算销售总金额图书批发商店的某本书的零售价是26.5元/本,
如果客户一次性购买100本以上(包括100本),则每本的价格打9折,
如果客户一次性购买500本以上(包 括500本),则每本的价格打8折并返回1000元给客户,
请分别计算购买8本、150本、600本的应付金额是多少。要求购买书的数量从控制台输入。
import java.util.Scanner; public class Demo23010302 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入要购买的书的数量"); int num= input.nextInt(); double price = 26.5; if (num>=500){ System.out.println("购买"+num+"本书,应付金额是:"+(num*(price*0.8)-1000)); } else if(num>=100) { System.out.println("购买"+num+"本书,应付金额是:"+num*(price*0.9)); }else System.out.println("购买"+num+"本书,应付金额是:"+num*price); } } //购买8本书,应付金额是:212.0 //购买150本书,应付金额是:3577.5 //购买600.0本书,应付金额是:11720.0
3 (if 语句)读入一个表示年份的整数,判断是否是闰年。
(if 语句)读入一个表示年份的整数,判断是否是闰年。
如何判断一个年份 是否是闰年:
- 如果这个年份能够被4 整除,且不能被100 整除,则这一年是闰年。例如,1996 年是闰年,而相应的,1993 年就不是闰年。
- 如果这个年份能够被100 整除,则这个数必须要能被400 整除,才是闰年。例如,2000 年是闰年,1900 年不是闰年。
public class Demo230103031 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个表示年份的整数"); int year = sc.nextInt(); if (year%4==0&&year%100!=0){ System.out.println(year + "是闰年"); } else if (year%100==0&&year%400==0) { System.out.println(year + "是闰年"); }else System.out.println(year + "不是闰年"); } //第二种 import java.util.Scanner; public class Demo230103032 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个表示年份的整数"); int year = sc.nextInt(); if (year%4==0&&year%100!=0||year%100==0&&year%400==0){ System.out.println(year + "是闰年"); }else System.out.println(year + "不是闰年"); } }
4 (switch 语句)读入一个整数
(switch 语句)读入一个整数,如果是1~5 之间,则分别输出5个福娃的名字,否则输出“北京欢迎你”。
import java.util.Scanner; public class Demo23010304 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个整数"); int num = sc.nextInt(); switch (num){ 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; default: System.out.println("北京欢迎你"); break; } } }
5 (switch 语句)读入一个整数或字符,代表季度,输出内容
(switch 语句)读入一个整数或字符,代表季度,输出以下内容:
第一季度:3-5月(春季) 第二季度:6-8月(夏季)
第三季度:9-11月(秋季) 第四季度:12-2月(冬季)
import java.util.Scanner; public class Demo23010305 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入一个代表季度的整数或字符"); int num = sc.nextInt(); switch (num){ case 1: System.out.println("第一季度:3-5月(春季)"); break; case 2: System.out.println("第二季度:6-8月(夏季)"); break; case 3: System.out.println("9-11月(秋季)"); break; case 4: System.out.println("第四季度:12-2月(冬季)"); break; } } }
6 (局部变量)以下代码运行结果为?简述原因?
public class Demo23010306 { public static void main(String[] args){ int a = 20 ; if(a==20){ int b = 30 ; } int b = 40 ; System .out .println(b); } }
运行结果为40
int b = 30; 作用范围仅仅在if条件里面;
int b = 40; 作用范围在整个main方法里面,作用范围大于if条件语句里面的(int b = 30; );
故而运行结果为40.
7 (for 循环)计算1+2+3+…+100 的和
public class Demo23010307 { public static void main(String[] args) { int sum = 0; for (int i = 1; i <=100; i++) { sum =sum +i; } System.out.println("1+2+3+...+100 的和为:"+sum); } } //1+2+3+...+100 的和为:5050
8(for 循环)计算1+3+5+…+99 的和
public class Demo23010308 { public static void main(String[] args) { int sum = 0; for (int i = 1; i <=99; i++) { if (i%2!=0){ sum =sum +i; } } System.out.println(sum); } } //2500
9 (while/do while循环)把7、8 两题用while 循环或do…while 循环改写
//while计算1+2+3+...+100 的和 public class Demo23010309 { public static void main(String[] args) { int i = 1; int sum = 0; while (i<=100){ sum = sum +i; i++; } System.out.println("1+2+3+...+100 的和为:"+sum);//1+2+3+...+100 的和为:5050 } //---------------------------------------------------------- //do-while计算1+2+3+...+100 的和 public class Demo23010309 { public static void main(String[] args) { int i = 1; int sum = 0; do { sum = sum + i; i++; }while (i<=100); System.out.println("1+2+3+...+100 的和为:"+sum); } } //---------------------------------------------------------- //while计算1+3+5+...+99 的和 public class Demo23010309 { public static void main(String[] args) { int i = 1; int sum = 0; while (i<=100){ if (i%2!=0) sum = sum + i; i++; } System.out.println("1+2+3+...+100 的和为:"+sum); } } //1+2+3+...+100 的和为:2500 //---------------------------------------------------------- //do-while计算1+3+5+...+99 的和 public class Demo23010309 { public static void main(String[] args) { int i = 1; int sum = 0; do { if (i%2!=0) sum = sum + i; i++; }while (i<=100); System.out.println("1+2+3+...+100 的和为:"+sum); } }
10(for 循环)读入一个小于10 的整数n,输出它的阶乘n
import java.util.Scanner; public class Demo23010310 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个小于10的整数"); int n = input.nextInt(); int fac = 1; for (int i = 1; i <=n; i++) { fac = fac*i; } System.out.println("您输入的数字"+n+"的阶乘是:"+fac); } }
11(for 循环)求100 以内所有能被3 整除但不能被5 整除的数字的和
public class Demo23010311 { public static void main(String[] args) { int sum = 0; for (int i = 0; i < 100; i++) { if (i%3==0&&i%5!=0) sum =sum +i; } System.out.println("100以内所有能被3整除但不能被5整除的数字的和是:"+sum); } } //100以内所有能被3整除但不能被5整除的数字的和是:1368
12 (for循环)输出99 乘法表
public class Demo23010312 { 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+"="+j*i+"\t"); } System.out.println(); } } }
13(for循环)计算2000年1月1日到2008年1月1日相距多少天。
(注意闰年)
public class Demo23010313 { public static void main(String[] args) { int days = 0; for (int i = 2000; i <2008 ; i++) { if (i%4==0&&i%100!=0||i%400==0){ days=days+366; } days=days+365; } System.out.println(days); } }
14(嵌套循环)*读入一个整数n,输出如下图形
n = 3 * *** ***** n = 4 * 1 *** 3 ***** 5 ******* 7
读入的整数n,就是外层循环的循环次数。
对于每一行,要做的事情:
- 输出若干个空格;
- 输出若干个星;
- 换行。
提示:输出不换行,用System.out.print()。
import java.util.Scanner; public class Demo23010314 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个整数"); int n= input.nextInt(); for (int i = 1; i <= n; i++) { for (int j = n-1; j >=i ; j--) { System.out.print(" "); } for (int k = 1; k <=2*i-1 ; k++) { System.out.print("*"); } System.out.println(); } } }
15(for循环)求水仙花数。
提示:所谓水仙花数,是指一个三位数abc,如果满足a³+b³+c³=abc,则abc是水仙花数。
水仙花数
- 需求:在控制台输出所有的“水仙花数”,水仙花数必须满足如下2个需求:
1、水仙花数是一个三位数
2、水仙花数的个位、十位、百位的数字立方和等于原数
分析
- 定义一个for循环从“100一直到999”。
- 每次访问数据后,提取该数据的:个位、十位、百位数字。
- 使用if判断:个位、十位、百位的数字立方和是否等于原数,等于则输出该数据。
水仙花的个数
- 在循环外定义一个变量count用于记录水仙花数。
- 每输出水仙花数时,让count++。
package JavaseDemo; public class Demo23010315 { public static void main(String[] args) { for (int i = 100; i <=999; i++) { //每次访问数据后,提取该数据的:个位、十位、百位数字。 int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; //每位数立方和等于本身 if ((ge * ge * ge + shi * shi * shi + bai * bai * bai) == i){ System.out.print(i+"\t"); } } System.out.println(); System.out.println("----------------------"); int count = 0; for (int i = 100; i <=999; i++) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; //每位数立方和等于本身 if ((Math.pow(ge,3) + Math.pow(shi,3) + Math.pow(bai,3)) == i){ count++; System.out.print(i+"\t"); } } System.out.println(); System.out.println("水仙花个数是:" + count + "个"); } }
public class Demo23010315 { public static void main(String[] args) { for (int i = 100; i <=999; i++) { int a = i / 100; int c = i % 10; int b = i / 10 % 10; if ((c * c * c + b * b * b + a * a * a) == i){ System.out.print(i+"\t"); } } } }