1. 隨機數(shù)
class?Letter?{
??char?c;
}

public?class?PassObject?{
????static?void?f(Letter?y)?{
????y.c?=?'z';
??}
??public?static?void?main(String[]?args)?{
????Letter?x?=?new?Letter();
????x.c?=?'a';
????System.out.println("1:?x.c:?"?+?x.c);
????f(x);
//result:"1:?x.c:?a",
//??????"2:?x.c:?z"
}
}
Passing objects to methods may not be what you're used to. It just pass a reference
3.Also reference
????????Integer?n1?=?new?Integer(47);
??????Integer?n2?=?new?Integer(47);
????????System.out.println(n1?==?n2);
????????//result??falseIf you want to compare the actual contents of an object for equivalence. You must use the special method equals(?) that exists for all objects .REMEMBER the default behavior of equals(?) is to compare references.So the result of the fellowing code is false
class?Value?{
??int?i;
}

public?class?EqualsMethod2?{
???public?static?void?main(String[]?args)?{
????Value?v1?=?new?Value();
????Value?v2?=?new?Value();
????v1.i?=?v2.i?=?100;
????System.out.println(v1.equals(v2));
??
??}
}?///:~
4.Here’s an example that demonstrates the use of all the operators involving bits:

static?void?printBinaryInt(String?s,?int?i)?
{
????System.out.println(
??????s?+?",?int:?"?+?i?+?",?binary:?");
????System.out.print("???");
????for(int?j?=?31;?j?>=?0;?j--)
??????if(((1?<<?j)?&??i)?!=?0)
????????System.out.print("1");
??????else
????????System.out.print("0");
????System.out.println();
??}

??static?void?printBinaryLong(String?s,?long?l)?
{
????System.out.println(
??????s?+?",?long:?"?+?l?+?",?binary:?");
????System.out.print("???");
????for(int?i?=?63;?i?>=?0;?i--)
??????if(((1L?<<?i)?&?l)?!=?0)
????????System.out.print("1");
??????else
????????System.out.print("0");
????System.out.println();
??}
Since then goto-bashing has been a popular sport, with advocates? of the cast-out keyword scurrying for cover.
import?com.bruceeckel.simpletest.*;


public?class?LabeledWhile?
{
??static?Test?monitor?=?new?Test();

??public?static?void?main(String[]?args)?
{
????int?i?=?0;
????outer:

????while(true)?
{
??????System.out.println("Outer?while?loop");

??????while(true)?
{
????????i++;
????????System.out.println("i?=?"?+?i);

????????if(i?==?1)?
{
??????????System.out.println("continue");
??????????continue;
????????}

????????if(i?==?3)?
{
??????????System.out.println("continue?outer");
??????????continue?outer;
????????}

????????if(i?==?5)?
{
??????????System.out.println("break");
??????????break;
????????}

????????if(i?==?7)?
{
??????????System.out.println("break?outer");
??????????break?outer;
????????}
??????}
????}

????monitor.expect(new?String[]?
{
??????"Outer?while?loop",
??????"i?=?1",
??????"continue",
??????"i?=?2",
??????"i?=?3",
??????"continue?outer",
??????"Outer?while?loop",
??????"i?=?4",
??????"i?=?5",
??????"break",
??????"Outer?while?loop",
??????"i?=?6",
??????"i?=?7",
??????"break?outer"
????});
??}
}?///:~
public?class?Flower?
{
??
??int?petalCount?=?0;
??String?s?=?new?String("null");

??Flower(int?petals)?
{
????petalCount?=?petals;
????System.out.println(
??????"Constructor?w/?int?arg?only,?petalCount=?"
??????+?petalCount);
??}

??Flower(String?ss)?
{
????System.out.println(
??????"Constructor?w/?String?arg?only,?s="?+?ss);
????s?=?ss;
??}

??Flower(String?s,?int?petals)?
{
????this(petals);
//!????this(s);?//?Can't?call?two!
????this.s?=?s;?//?Another?use?of?"this"
????System.out.println("String?&?int?args");
??}

??Flower()?
{
????this("hi",?47);
????System.out.println("default?constructor?(no?args)");
??}

??void?print()?
{
//!?this(11);?//?Not?inside?non-constructor!
????System.out.println(
??????"petalCount?=?"?+?petalCount?+?"?s?=?"+?s);
??}
}9. equal() and "=="
String?name1?=?new?String("Tory");
Stirng?name2?=?new?String("Tory");

//兩個對象的引用,不相等
System.out.println(?name1?==?name2?);
//內容,相等
System.out.println(?name1.equals(name2));

String?name3?=?"Tory";
String?name4?=?"Tory";

//相同常量的引用,相等
System.out.println(?name3?==?name4?);
//內容,相等
System.out.println(?name3.equals(name4));10.自己的equals()方法

class?MyDate?
{

????int?day,?month,?year;
????

????public?MyDate?(int?day,?int?month,?int?year)
{
????
????????this.day?=?day;
????????this.month?=?month;
????????this.year?=?year;
????????
????}?

}


class?MyOkDate?extends?MyDate?
{


????public?MyOkDate?(?int?day,?int?month,?int?year?)?
{
????
????????super(day,?month,?year);
????????
????????}
????????

????????public?boolean?equals?(?Object?obj?)?
{
????????

????????????if(?obj?instanceof?MyOkDate?)?
{
????????????????MyOkDate?m?=?(MyOkDate)?obj;
????????????????if(m.day?==?day?&&?m.month?==?month?&&?m.year?==?year)
????????????????return?true;
????????????????
????????????}
????????????return?false;
????????}?
}


public?class?TestEqualsObject
{


????public?static?void?main?(?String?[]?args?)
{
????????
????????MyDate?m1?=?new?MyDate(4,?12,?1985);
????????MyDate?m2?=?new?MyDate(4,?12,?1985);
????????
????????//不相等
????????System.out.println(m1.equals(m2));
????????
????????m1?=?new?MyOkDate(4,?12,?1985);
????????m2?=?new?MyOkDate(4,?12,?1985);
????????
????????//相等
????????System.out.println(m1.equals(m2));
?????????
????}
????
}
? // Create a random number generator,
?? // seeds with current time by default:

Random?rand?=?new?Random();

????int?i,?j,?k;
???//?Choose?value?from?1?to?100:
????j?=?rand.nextInt(100)?+?1;

2. Aliasing during method calls?? // seeds with current time by default:

Random?rand?=?new?Random();






















Passing objects to methods may not be what you're used to. It just pass a reference
3.Also reference

















4.Here’s an example that demonstrates the use of all the operators involving bits:



























As is typical in situlations like this, the middle ground is the most fruitfull.
5.Here is a demonstration of labeled break and continue statements with whileloops:


































































RULES:
- A plain continue goes to the top of the innermost loop and continues.
- A labeled continue goes to the label and reenters the loop right after that label.
- A break “drops out of the bottom” of the loop.
- A labeled break drops out of the bottom of the end of the loop denoted by the label.
6. Even differences in the ordering of arguments are sufficient to distinguish two methods.
?
7. Calling constructors from constructors






























































































































