Java基础
练习4:输入圆的半径,计算圆的周长和面积。
package com.lovoinfo;
import java.util.Scanner;
public class CalcCircle {
private static final double PI = 3.14;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入圆的半径: ");
double radius = sc.nextDouble();
double area = PI * radius * radius;
double circumference = 2 * PI * radius;
System.out.println("周长: " + circumference);
System.out.println("面积: " + area);
sc.close();
}
}
练习5:输入三个整数,按从小到大的顺序输出。
package com.lovo;
import java.util.Scanner;
public class SortThreeNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入三个数: ");
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
if(a > b) {
int temp = a;
a = b;
b = temp;
}
if(a > c) {
int temp = a;
a = c;
c = temp;
}
if(b > c) {
int temp = b;
b = c;
c = temp;
}
System.out.printf("%d\t%d\t%d\n", a, b, c);
sc.close();
}
}
作业:输入三个整数,输出其中最大的数。
第三天:程序逻辑-1(分支和循环)
- 程序的结构
- 流程图
- 分支结构
- 循环结构
- 多重循环结构
练习1:分段函数求值。
f(x)=⎧⎩⎨3x+5x−15x−3(x<−1)(−1≤x≤1)(x>1)
package com.lovoinfo;
import java.util.Scanner;
public class Fx {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("x = ");
double x = sc.nextDouble();
double y;
if(x < -1) {
y = 3 * x + 5;
}
else if(x <= 1) {
y = x - 1;
}
else {
y = 5 * x - 3;
}
System.out.println("f(x) = " + y);
sc.close();
}
}
练习2:个人所得税计算。在我国,个人所得税的起征点是3500元,计算公式是:
个人所得税 = (工资收入 - 五险一金 - 个税起征点) * 税率 - 速算扣除数
其中,税率和速算扣除数可以查下表得到:
级数 | 含税级距 | 税率 | 速算扣除数 |
1 | 不超过1500元的 | 3 | 0 |
2 | 超过1500元至4500元的部分 | 10 | 105 |
3 | 超过4500元至9000元的部分 | 20 | 555 |
4 | 超过9000元至35000元的部分 | 25 | 1005 |
5 | 超过35000元至55000元的部分 | 30 | 2755 |
6 | 超过55000元至80000元的部分 | 35 | 5505 |
7 | 超过80000元的部分 | 45 | 13505 |
package com.lovoinfo;
import java.util.Scanner;
public class Tax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入工资: ¥");
double salary = sc.nextDouble();
double add = salary - salary * 0.08 - 3500;
double tax;
if(add <= 0) {
tax = 0;
}
else if(add <= 1500) {
tax = add * 0.03;
}
else if(add <= 4500) {
tax = add * 0.1 - 105;
}
else if(add <= 9000) {
tax = add * 0.2 - 555;
}
else if(add <= 35000) {
tax = add * 0.25 - 1005;
}
else if(add <= 55000) {
tax = add * 0.3 - 2755;
}
else if(add <= 80000) {
tax = add * 0.35 - 5505;
}
else {
tax = add * 0.45 - 13505;
}
System.out.printf("需要缴纳的个人所得税: ¥%.2f元\n", tax);
sc.close();
}
}
作业:输入一个百分制的成绩,将其转换成对应的等级,规则如下表所示:
成绩 | 等级 |
90-100 | A |
80-89 | B |
60-79 | C |
<60 | D |
package day0423;
import java.util.Scanner;
public class mark {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩:");
int a = sc.nextInt();
if(a<100&&a>=90){
System.out.println("A");
}
else if(a<90&&a>=80){
System.out.println("B");
}
else if(a<80&&a>=60){
System.out.println("C");
}
else if(a<60){
System.out.println("D");
}
sc.close();
}
}
练习4:输入成绩等级输出对应的评语,规则如下表所示:
成绩等级 | 评语 |
A | 该生成绩优异,学习踏实认真 |
B | 该生积极上进,学习态度较好 |
C | 该生学习努力,成绩有待提高 |
D | 该生成绩稳定,动手能力很强 |
package day0423;
import java.util.Scanner;
public class sS {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩等级");
char level = sc.next().charAt(0);
switch(level){
case'a':
case'A':
System.out.println("该生学习优异,学习踏实认真");
break;
case'b':
case'B':
System.out.println("该生积极上进,学习态度较好");
break;
case'c':
case'C':
System.out.println("该生学习努力,成绩有待提高");
break;
case'd':
case'D':
System.out.println("该生成绩稳定,动手能力很强");
break;
default:
System.out.println("逗比,输错了");
sc.close();
}
}
}
练习5:将一颗色子掷60000次,统计每一面出现的次数。
package com.lovoinfo;
public class ThrowDie {
public static void main(String[] args) {
int f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0, f6 = 0;
for(int i = 1; i <= 60000; i++) {
int face = (int)(Math.random() * 6 + 1);
switch(face) {
case 1: f1++; break;
case 2: f2++; break;
case 3: f3++; break;
case 4: f4++; break;
case 5: f5++; break;
case 6: f6++; break;
}
}
System.out.println("1点出现了" + f1 + "次");
System.out.println("2点出现了" + f2 + "次");
System.out.println("3点出现了" + f3 + "次");
System.out.println("4点出现了" + f4 + "次");
System.out.println("5点出现了" + f5 + "次");
System.out.println("6点出现了" + f6 + "次");
}
}
第四天:程序逻辑-2(分支和循环)
- 练习1:猜数字(人猜/机器猜)
- 练习2:人机猜拳
- 练习3:Craps赌博游戏
- 练习4:九九表
- 练习5:百钱百鸡
第五天:数组、方法和字符串
- 一维数组
- 二维数组
- 方法的定义和使用
- 方法的递归调用
- 字符串用法及常用方法
第六天:面向对象入门
- 基本概念
- 定义类
- 创建和使用对象
- 实例1:时钟
- 实例2:游泳池
第七天:深入面向对象-1
- 继承
- 多态
- 实例1:绘图系统
- 实例2:工资结算
- 实例3:图书打折
第八天:深入面向对象-2
- 接口
- 抽象类
- 面向对象的设计原则
- UML
- 实例:绘图系统
Java基础思维导图