1.integer equalsԴ??
2.equals()和==到底有什么区别啊?
3.java:判断两个输入变量是否相等,如不相等则比较它们的大小。return可以放在三目运算式里吗?
integer equalsԴ??
import java.awt.*;
import java.awt.event.*;
public class Calculator extends WindowAdapter implements ActionListener
{
private double result=0,data1=0,radixPointDepth=1;
private boolean radixPointIndicate=false,resultIndicate=false;
private char prec='+';
private Frame f;
private TextField tf;
private Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b,b,b,b,b,b,b,b;
private Panel p;
static public void main(String args[])
{
Calculator de=new Calculator();
de.go();
}
public void go()
{
f=new Frame("计算器");
p=new Panel();
p.setLayout(new GridLayout(4,4));
tf=new TextField();
b1=new Button("7");
b2=new Button("8");
b3=new Button("9");
b4=new Button("+");
b5=new Button("4");
b6=new Button("5");
b7=new Button("6");
b8=new Button("-");
b9=new Button("1");
b=new Button("2");
b=new Button("3");
b=new Button("*");
b=new Button("0");
b=new Button(".");
b=new Button("=");
b=new Button("/");
b=new Button("清零");
f.add(tf,"North");
f.add(p,"Center");
f.add(b,"South");
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(b7);
p.add(b8);
p.add(b9);
p.add(b);
p.add(b);
p.add(b);
p.add(b);
p.add(b);
p.add(b);
p.add(b);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
b.addActionListener(this);
f.addWindowListener(this);
f.setSize(,);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String s;
s=e.getActionCommand();
switch(s.charAt(0))
{
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
if(resultIndicate)
{
result=0;
data1=0;
prec='+';
}
Integer Int1=new Integer(s);
if(radixPointIndicate)
{
radixPointDepth=radixPointDepth/;
data1=data1+(Int1.intValue())*radixPointDepth;
}
else
{
data1=data1*+(Int1.intValue());
}
Double displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
resultIndicate=false;
break;
case '+': case '-':case '*':case '/':case '=':
if(s.charAt(0)!='='&&resultIndicate)
{
prec=s.charAt(0);
resultIndicate=false;
}
else
{
switch(prec)
{
case '+':
result=result+data1;
break;
case '-':
result=result-data1;
break;
case '*':
result=result*data1;
break;
case '/':
result=result/data1;
break;
}
}
radixPointIndicate=false;
radixPointDepth=1;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
if(s.charAt(0)!='=')
{
data1=0;
prec=s.charAt(0);
}
else
{
resultIndicate=true;
}
break;
case '.':
radixPointIndicate=true;
break;
}
if(s.equals("清零"))
{
result=0;
data1=0;
radixPointDepth=1;
tf.setText("");
}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
equals()和==到底有什么区别啊?
1、功能不同"=="是判断两个变量或实例是不是指向同一个内存空间。
"equals"是牛大亨源码破解判断两个变量或实例所指向的内存空间的值是不是相同。
2、极反通道源码定义不同
"equals"在JAVA中是一个方法。
"=="在JAVA中只是一个运算符合。
例子:
Student student1 = new Student();
Student student2 = new Student();
System.out.println(student1.equals(student2));
System.out.println(student1 == student2);
3、运行速度不同
"=="比"equals"运行速度快,因为"=="只是比较引用。
"equals"比"=="运行速度要慢。
扩展资料
equals()方法特点:
1、秒拍网站源码自反性:x.equals(x)返回true;
2、对称性:若x.equals(y)为true,则y.equals(x)亦为true;
3、传递性:若x.equals(y)为true且y.equals(z)也为true,安卓钓鱼源码则x.equals(z)亦为true;
4、一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次、第三次、竞拍网站源码第n次调用也均为true,前提条件是没有修改x也没有修改y;
5、对于非空引用x,x.equals(null)永远返回为false。
参考资料:
百度百科-equalsjava:判断两个输入变量是否相等,如不相等则比较它们的大小。return可以放在三目运算式里吗?
可以的‘具体可以如下操作:判断两个变量是否相等的方式有两种:利用运算符 ==
利用equals方法
(1)比较基本Java基本数据类型
比较基本数据类型,只能用“==”,不能用equals,这里比较的是两个变量的值;
(2)比较包装类
比较包装类,举个例子
1
2
3
4
5
6
7
8
9Integer i1 = new Integer();
Integer i2 = new Integer();
System.out.println(i1 == i2);
System.out.println(i1.equals(i2));
执行结果:
false
true
如上例子可知,“==”比较的是两个变量的内存地址值,equals比较的是两个具体要看当前这个类的equals方法
查看Integer的equals的源码1
2
3
4
5
6public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
return false;
可知比较的是两个变量的intValue;
或者int a,b
int max = a>b?a:b;
System.out.println(max);
==是运算符,用于比较两个变量是否相等,对于基本类型而言比较的是变量的值,对于对象类型而言比较的是对象的地址.
equals()是Object类的方法,用于比较两个对象内容是否相等.默认Object类的equals()实现如下:
不难看出此时equals()是比较两个对象的地址,此时直接==比较的的结果一样.对于可能用于集合存储中的对象元素而言,通常需要重写其equals()方法.