今天复习了,整理学习记录
条件判断 :if...else,switch..case
循环:while,do..while,for
练习:
package base;
//for循环练习1:打印九九乘法表
public class homework {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for (int j= 1; j<=i; j++) {
System.out.print(i+"*"+j+"="+(i*j)+'\t');
}
System.out.println();
}
}
}
//for循环练习2:打印倒三角形
public class homework {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for(int j=5;j>=i;j--){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print('*');
}
for(int j=1;j<i;j++){
System.out.print('*');
}
System.out.println();
}
}
}
今日学习一:Java的反编译机制:
.java文件通过编译变成class文件(字节码文件人看不懂),于是需要反编译变成人看得到的文件。
根据路径可以找到class文件
可以得到java文件和对应的class文件
今日学习2:
1.方法重载:重载在一个类里,方法名相同,参数个数不同,参数类型不同,参数排列顺序不同,返回类型可相同可不同。
重载的可实现理论:当方法名相同时,编译器会根据调用方法的参数个数,参数类型等去逐个匹配,已选择对应方法,若匹配失败,编译器报错。
2.可变参数:在方法声明中,在指定参数类型后加一个省略号(...),一个方法只能指定一个可变参数,它必须是方法的最后一个参数,其他普通参数必须z在它之前声明
方法重载可变参数练习代码:
public class homework {
public static void main(String[] args) {
printMax(1,2);
printMax(new double[]{1,2,3});
}
public static void printMax (int a,int b){
int result;
if(a>b){
result=a;
}
else {
result=b;
}
System.out.println(result);
}
public static void printMax (double...numbers){
double result=numbers[0];
for(int i=0;i<numbers.length;i++){
if(numbers[i]>result){
result=numbers[i];
}
}
System.out.println(result);
}
}
3.递归:自己调用自己
练习求阶层:
public class homework {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
System.out.println(f(n));
}
public static int f(int n) {
if (n == 1) {
return 1;
} else {
return n*f(n-1);
}
}
}