Java think——操作符

  1. Java中使用random函数。Java中调用random函数时,如果给定random函数一个种子,则生成一个固定的数,例如Random r = new Random(74),则生成的数据为24,如果不给定种子数,则函数每次取当前的时间作为种子数,则每次生成的数不相同。如果使用random函数的对象调用nextint(参数为:指定随机函数生成的范围)例如:r.nextInt(100)的意思是随机生成一个0到100以内的整数。
  2. Java中的对象比较。如果是基本数据类型使用==,每次比较的是对象的引用,而使用equals()则比较的为对象中具体的内容,但是如果是自己定义的类对象,在方法中没有重写equals方法,则默认调用Java中object定义的equals(),此方法调用比较的是对象的引用。在基本数据类型中的对象是已经重写equals方法。
    测试:
class Dog{
	String name;
	String say;
	//set和get方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSay() {
		return say;
	}
	public void setSay(String say) {
		this.say = say;
	}
}
	
public class EqualsTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Dog spot=new Dog();
		Dog scruffy=new Dog();
		spot.setSay("Ruff");
		scruffy.setSay("Wurf");
		System.out.println(spot.say);
		System.out.println(scruffy.say);
		Dog dog=new Dog();
		dog=spot;
		System.out.println(spot.equals(scruffy));
		System.out.println(spot.equals(dog));
		//基本数据类型
		System.out.println("以下是基本数据类型");
		Integer int1 = new Integer(25);
		Integer int2 = new Integer(25);
		System.out.println(int1==int2);
		System.out.println(int1.equals(int2));
	}

}

测试结果:
Ruff
Wurf
false
true
以下是基本数据类型
false
true
可以证明使用基本数据类型产生的对象是已经重写了equals方法的,用来比较对象的值。而Java中默认的equals 方法是比较地址。
3. Java字符串表达式,如果表达式以一个字符串起头,那么编译器会自动将后面的运算转成字符串形式。

//测试String开头会将后面的数据自动转换为String类型
		System.out.println("以下堆String的测试");
		int x=0,y=1,z=2;
		String str="我是字符串";
		System.out.println(str+x+y+z);
		System.out.println(str+(x+y+z));

测试结果
以下堆String的测试
我是字符串012
我是字符串3

()用来调整操作符的优先级,一般是先算括号里面的再继续
  1. Java中没有sizeof这个运算符,在C语言中存在是因为不同的机器编译时int的长度是同的,有的是2字符,有的是4个字符,所以使用sizeof来计算,但是Java使用的是自己的编译器,所以不需要计算,每一个都是相同的,在Java中便去除了此运算符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值