一、学习总结
-
主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
-
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。
-
静态变量前要加static关键字,而实例变量前则不加。
实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
-
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
-
在C语言中,被调用的函数需要放在调用函数前面,在Java中,方法的位置可以放前面也可以放后面,因为在Java中是从主函数开始执行的。
二、题目练习
1.计算银行年存款的本息
要求
程序运行后要求用户输入存款本金、年利率和存款年限,最后程序计算并输出相应年限后存款的总额。
计算公式为:
存款总额 = 本金 * ((1 + 利率)^ 存款年限)
double Calculate(double bj,double lv,int nyear);
参数说明:
double bj 本金
double lv 利率
int nyear 存款年限
该方法完成存款到期总额的计算。返回存款总额。
知识点
- 创建类、对象
- import java.util.Scanner;
- Math.pow(底数, 指数)
代码
package step;
import java.util.Scanner;
public class OneClass{
//在此完成相应程序
public static void main(String[] arg) {
Scanner input = new Scanner(System.in);
System.out.print("本金:");
double bj = input.nextDouble();
System.out.print("存款年限:");
int nyear = input.nextInt();
System.out.print("利率:");
double lv = input.nextDouble();
double result_zong = Calculate(bj, lv, nyear);
double result_li = result_zong - bj;
System.out.println("利息:" + result_li);
System.out.println("总额:" + result_zong);
}
public static double Calculate(double bj, double lv, int nyear) {
double result;
result = Math.pow(1 + lv, nyear) * bj;
return result;
}
}
2.完成矩阵的乘法运算
要求
程序运行后要求用户分别输入两个矩阵的内容,然后调用Matrix()方法进行两个矩阵相乘。如果可以相乘,则计算矩阵相乘后的结果并返回;若不能相乘,则提示用户矩阵不相容。
定义一个类,类名为TwoClass;该类中只有一个方法:
public int[][] Matrix(int A[][],int B[][]);
A,B两个整型矩阵
返回A,B矩阵的乘。如果矩阵不相容,则输出“矩阵不相容!”,返回null。
知识点
- 二维数组的行数:A.length
- 二维数组的列数:A[0].length
- java中矩阵的相乘
- 三层嵌套循环
代码
package step2;
import java.util.Scanner;
class TwoClass{
public static int[][] Matrix(int A[][], int B[][]) {
if (A[0].length == B.length) {
int C[][] = new int[A.length][B[0].length];
for (int i = 0; i < A.length; i++) {
for (int j = 0; j < B[0].length; j++) {
for (int k = 0; k < A[0].length; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
return C;
}
else {
System.out.println("矩阵不相容!");
return null;
}
}
}
3.用*号输出等腰梯形
要求
程序运行后要求用户输入梯形的上边长度(号的数量),然后输入梯形的层数。梯形的每一层比上一层左右边各多一个号,程序输出梯形的形状。
例如:当用户输入3和4,则程序应该输出(不要序号):
***
*****
*******
*********
知识点
- 嵌套循环
代码
package step3;
import java.util.Scanner; //导入Scanner
public class ThreeClass{
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //声明扫描仪
int top = input.nextInt();
int row = input.nextInt();
for (int i = 1; i <= row; i++) {
for (int j = 1; j <= row - i; j++) {
System.out.print(" ");
}
for (int t = 1; t <= top + (i - 1) * 2; t++) {
System.out.print("*");
}
System.out.println();
}
}
}