目录
题目需求
根据输入的2个整数(x和y),计算它们的绝对值之和、差、积、商并输出。
若除数y为0,则不能进行除法运算,输出一个标志值,表示形式为:Integer.MAX_VALUE(int类型的最大值)。
提示:在Java中,利用Math类的静态方法 Math.abs(x) 来计算x的绝对值。
函数接口定义:
class Calculator { int x; int y; public Calculator(int x, int y) { } public int add() //求和 { return 0; } public int sub() //求差 { return 0; } public int mul() //求积 { return 0; } public int div() //求商 { if( ) return 0; else return Integer.MAX_VALUE; } }
裁判测试程序样例:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int x=input.nextInt(); int y=input.nextInt(); Calculator cal=new Calculator(x, y); int sum=cal.add(); int sub=cal.sub(); int mul=cal.mul(); int div=cal.div(); System.out.println(sum+" "+sub+" "+mul+" "+div); } }
输入样例1:
在这里给出一组输入。例如:
1 2
输出样例1:
在这里给出相应的输出。例如:
3 -1 2 0
输入样例2:
在这里给出一组输入。例如:
1 -2
输出样例2:
在这里给出相应的输出。例如:
3 -1 2 0
输入样例3:
在这里给出一组输入。例如:
100 0
输出样例3:
在这里给出相应的输出。例如:
100 100 0 2147483647
下一次咱们再来讨论类,现在来聊聊对象。
对象
什么是对象
- “对象”是面向对象编程(Object-Oriented Programming,OOP)的基本概念之一。对象是程序中的一个实体,可以包含数据(属性)和操作数据的代码(方法)。对象从类中产生,是类的一个实例,类是定义对象的模板或蓝图。
- 在面向对象编程中,对象可以具有状态(属性值)和行为(方法)。通过使用对象,可以更好地组织和管理代码,提高代码的可重用性和可维护性。对象可以相互交互,通过调用彼此的方法来完成特定的任务。
对象的创建
new关键字
创建对象使用new关键字,需要注意的是,类中的构造方法不具有创建对象的作用,创建对象的工作主要是由new进行。
new进行创建对象主要有以下四个步骤。
- 设置this
- 为对象属性赋默认值
- 为对象属性赋初值(按编程者的意愿)
- 返回this
不完全正确,某些步骤实际不完全是new在执行。
构造方法中的this变量
- this作为一个变量,往往储存了对象首地址的引用。在栈中执行方法,进行关于对象的操作时,可以通过this在堆中找到对象。在Java中,谁持有this,谁就是该对象。
- 如果对class文件进行反编译,在反编译后的文件中,观察其局部变量表,可以发现即使没有进行显式定义,每个方法的局部变量表中,仍然具有this变量。
对象的使用
-
访问属性:通过对象可以访问和设置对象的属性。属性是对象的状态,用于描述对象的特征。
-
调用方法:通过对象可以调用对象的方法。方法是对象的行为,用于实现特定的功能。
-
使用对象:根据需求使用对象的属性和方法来完成相应的任务。可以通过对象之间的交互来实现更复杂的功能。
完整代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//输入
int x=input.nextInt();
int y=input.nextInt();
//计算
Calculator cal=new Calculator(x, y);
int sum=cal.add();
int sub=cal.sub();
int mul=cal.mul();
int div=cal.div();
System.out.println(sum+" "+sub+" "+mul+" "+div);
}
}
class Calculator {
int x;
int y;
public Calculator(int x, int y) {
this.x = x ;
this.y = y ;
}
public int add() //求和
{
return Math.abs(x) + Math.abs(y);
}
public int sub() //求差
{
return Math.abs(x) - Math.abs(y);
}
public int mul() //求积
{
return Math.abs(x) * Math.abs(y);
}
public int div() //求商
{
if( y != 0 )
return Math.abs(x) / Math.abs(y);
else
return Integer.MAX_VALUE;
}
}
后言
本篇博客我们讨论了对象,简要了解了new关键字的作用和构造方法中this的作用。尤其关于this,能够体现Java语言制作者的精妙才思。this记录地址,因此极为重要,可以说是寻找对象时的“指南针”。但让广大编程者在每个方法中均对this做声明,不免显得有些繁琐和乏味,因此,他们在咱们不知道的情况下直接对this进行了声明,省下了不少功夫。
新人创作,水平有限,如有错误,敬请指出!