byte x=7;
b++; //ok
b=b++;//ok
b=(b+10); // promocja b+10 na inta , trzeba cast
b=(byte)(b+10); // ok
Co się stanie po b++ ?
byte x=7;
b++; //ok
b=b++;//ok
b=(b+10); // promocja b+10 na inta , trzeba cast
b=(byte)(b+10); // ok
- Pola prywatne
- metody get i set są public
- public void setCosik(int x)
- public int getCosik();
- Dla boolean : getBool() albo isBool().
- Event: public void addMyListener(MyListener m) //takei same nazwy!
- Przedrostek add i remove tylko w połączeniu z Listener!!!
- nie ma delete!!!
@Test
public void testIdentyfikatorow() {
//GOOD
int _=5;
int $=5;
int a=8;
int $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$=2;
int _____________________________________=3;
int _1234=4;
//BAD!!
//!int a:=9;
//!int e#=9;
//!int .f=9;
//!int 7g;
//!int enum=5 //bo keyword
}
public void ___(){ } //correct
public void $(){} //correct
public void _$_(){} //corect
private class ${}; //correct
private class ________{}//correct
@Test
public void testModulo() {
//znak wyniki jest równy znakowi liczby przed %!!
assertEquals(-5 % -2, -1);
assertEquals(-5 % 2, -1);
assertEquals( 5 % -2, 1);
assertEquals( 5 % 2, 1);
assertEquals(-9 % -5, -4);
assertEquals(-9 % 5, -4);
assertEquals( 9 % -5, 4);
assertEquals( 9 % 5, 4);
//pass all
}
@Test
public void PrzesTest(){
assertEquals(23>>33, 23>>1); //pass
assertEquals(23<<33, 23<<1); //pass
assertEquals(23>>>33, 23>>>1); //pass
//ujemne
assertEquals(-23>>33, -23>>1); //pass
assertEquals(-4<<1, -8); //pass
assertEquals(1>>1, 0); //pass
}
@Test
public void DivByZero(){
//int i=3/0;
//prn(i); //runtime-error
float f=1.0f/0;
prn(f); //print Infinity
double d=1.0/0;
prn(d); //print Infinity
//ciekawostka 1.0 jest doublem!!
int licznik=1;
int mianownik=0;
// int wynik=licznik/mianownik; //runtime-error
//MOD
int wynik=licznik%1;
prn(wynik); //wynik =0
//!int wynik=licznik%0; runtime error!
prn(wynik); //wynik =0
float ff= 5%0.3f;
prn(ff); //0.199999
float fff= 5%0.0f;
prn(fff); //NaN
float fy=1.0f/0.0f;
prn(fy); //Infinity
}