[Java] 面向对象练习(二)

该篇博客探讨了Java编程中的几个核心概念。首先,通过创建类和方法展示了如何交换两个变量m和n的值,强调了方法在类中的定义。其次,讨论了`System.exit(0)`的作用,即终止程序执行。接着,针对数组操作,给出了两种不同的方式来实现数组元素除以首元素的结果存储,注意到了正向和反向遍历的区别。最后,讲解了Java中int型数组与char型数组在打印时的不同表现,强调了不同类型数组的输出处理。
摘要由CSDN通过智能技术生成

)习题一:

新建类,用类中的方法交换m和n的值

代码:

package zzx.com;

public class yyds {
    public static void main(String[] args) {
        Date d = new Date();
        d.m = 10;
        d.n = 20;
        System.out.println("m = " + d.m + "n = " + d.n);
        yyds y = new yyds();
        y.swap(d);
        System.out.println("m = " + d.m + "n = " + d.n);
   }
   public void swap(Date d){
        int temp = d.m;
        d.m = d.n;
        d.n = temp;
    }
}
class Date{
    int m;
    int n;
}

回顾:

① 方法是写在类内的。

习题二:

代码:

public class yyds {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        method(a,b);
        System.out.println("a = " + a);
        System.out.println("b = " + b);
   }
   public static void method(int a, int b){
        System.out.println("a = " + a * 10);
        System.out.println("b = " + b * 20);
        System.exit(0);
   }
}

回顾:

① System.exit(0);语句为:退出程序。一旦进行此语句,程序立即结束,其后语句不再执行

习题三:

定义一个int型的数组:int[] arr = new int[]{12,3,3,34,56,77,432};让数组的每个位置上的值去除以首位置的元素,得到的结果,作为该位置上的新值,遍历新的数组。

代码一:

public class yyds {
    public static void main(String[] args) {
        int[] arr = new int[]{12,3,3,34,56,77,432};
        int temp = arr[0];
        for(int i = 0;i < arr.length;i++){
            arr[i] /= temp;
            System.out.print(arr[i] + " ");
        }
   }
}

代码二:

public class yyds {
    public static void main(String[] args) {
        int[] arr = new int[]{12,3,3,34,56,77,432};
        for(int i = arr.length - 1;i >= 0;i--){
            arr[i] /= arr[0];
            System.out.print(arr[i] + " ");
        }
   }
}

回顾:

① 要考虑第一个元素的值的变化:

如果正着进行除法运算,那么第一个数改变之后,后面的数据都会发生不符合题意的改变。解决方法:将第一个数据的值给另一个变量保存。

如果逆着进行除法运算,要考虑到 i 的取值范围。

习题四:

答案:

前者输出:arr的地址值;

后者输出:char型数组中的元素(相当于遍历的arr1数组,进行打印内容)

解析:

在Java中:

int型数组调用的是object方法,(  println(Object))输出的是其地址值;

char型的数组有专门的调用函数,即:print(char [ ] ),输出的是数组内的元素。

习题五:

 代码:

public class yyds {
    public static void main(String[] args) {
        Circle c = new Circle();
        PassObject p = new PassObject();
        p.printAreas(c,5);
        System.out.println();
        System.out.println("now radius is : " + (c.radius + 1));
        }
   }
   class Circle{
    double radius;
    public double findArea(){
        return radius * radius * Math.PI;
    }
   }
   class PassObject{
    public void printAreas(Circle c, int time){
        System.out.println("Radius\t\tArea");
        for(double i = 1;i <= time;i++){
            c.radius = i;
            System.out.println(i + "\t\t\t" + c.findArea());
        }
    }
}

回顾:

① \t制表符在不同编译器下,其空出的字符的个数不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值