- Java中使用random函数。Java中调用random函数时,如果给定random函数一个种子,则生成一个固定的数,例如
Random r = new Random(74),则生成的数据为24
,如果不给定种子数,则函数每次取当前的时间作为种子数,则每次生成的数不相同。如果使用random函数的对象调用nextint(参数为:指定随机函数生成的范围)例如:r.nextInt(100)
的意思是随机生成一个0到100以内的整数。 - 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
()用来调整操作符的优先级,一般是先算括号里面的再继续
- Java中没有sizeof这个运算符,在C语言中存在是因为不同的机器编译时int的长度是同的,有的是2字符,有的是4个字符,所以使用sizeof来计算,但是Java使用的是自己的编译器,所以不需要计算,每一个都是相同的,在Java中便去除了此运算符。