public class CastTest { public static void main(String args[]) { d2d(); l2d2l(); d2l2d(); f2d2f(); d2f2d(); i2f2i(); l2f2l(); f2l2f(); } static void d2d() { String msg = "double -> double "; try { double dvalue1 = 4.2; double dvalue2 = (double)dvalue1; if (dvalue1 != dvalue2) failed(msg + dvalue1 + " != " + dvalue2); else passed(msg + dvalue1 + " == " + dvalue2); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void l2f2l() { String msg = "long -> float -> long "; try { long lvalue = 123; float fvalue = (float)lvalue; long lvalue2 = (long)fvalue; if (lvalue != lvalue2) failed(msg + lvalue + " != " + lvalue2 + " (float)" + fvalue); else passed(msg + lvalue + " == " + lvalue2 + " (float)" + fvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void i2f2i() { String msg = "int -> float -> int "; try { int ivalue = 123; float fvalue = (float)ivalue; int ivalue2 = (int)fvalue; if (ivalue != ivalue2) failed(msg + ivalue + " != " + ivalue2 + " (float)" + fvalue); else passed(msg + ivalue + " == " + ivalue2 + " (float)" + fvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void f2d2f() { String msg = "float -> double -> float "; try { float fvalue = 123.0f; double dvalue = (double)fvalue; float fvalue2 = (float)dvalue; if (fvalue != fvalue2) failed(msg + fvalue + " != " + fvalue2 + " (double)" + dvalue); else passed(msg + fvalue + " == " + fvalue2 + " (double)" + dvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void f2l2f() { String msg = "float -> long -> float "; try { float fvalue = 123.0f; long lvalue = (long)fvalue; float fvalue2 = (float)lvalue; if (fvalue != fvalue2) failed(msg + fvalue + " != " + fvalue2 + " (long)" + lvalue); else passed(msg + fvalue + " == " + fvalue2 + " (long)" + lvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void d2f2d() { String msg = "double -> float -> double "; try { double dvalue = 123.0; float fvalue = (float)dvalue; double dvalue2 = (double)fvalue; if (dvalue != dvalue2) failed(msg + dvalue + " != " + dvalue2 + " (float)" + fvalue); else passed(msg + dvalue + " == " + dvalue2 + " (float)" + fvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void l2d2l() { String msg = "long -> double -> long "; try { long lvalue = 1023; double dvalue = (double)lvalue; long lvalue2 = (long)dvalue; if (lvalue != lvalue2) failed(msg + lvalue + " != " + lvalue2 + " (double)" + dvalue); else passed(msg + lvalue + " == " + lvalue2 + " (double)" + dvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void d2l2d() { String msg = "double -> long -> double "; try { double dvalue = 123.0; long lvalue = (long)dvalue; double dvalue2 = (double)lvalue; if (dvalue != dvalue2) failed(msg + dvalue + " != " + dvalue2 + " (long)" + lvalue); else passed(msg + dvalue + " == " + dvalue2 + " (long)" + lvalue); } catch (Exception e) { failed(msg + " : exception " + e.toString()); } } static void passed(String msg) { System.out.println("PASSED: "+msg); } static void failed(String msg) { System.out.println("FAILED: "+msg); } }