Printing every digit of a number
To be frank, I don't really know why you need such methods to print out individual characters, I'll just make my suggestions based on what you have...


Your class name anycode should be in PascalCase.
Your method names should be in camelCase.
Eclipse tells me that the assignments int digit = 0; in print_digits3 and print_digits2 are not used.
You have this comment: // type recasting to int is a must, it does not work without it - no idea why - that's because when you divide an int with a double, the result will be double type but you are assigning that to an int value. Therefore, you are required to cast the double into an int first for the assignment to be correct.
Recommended to use Integer.valueOf() instead of new Integer().


Not sure what's your aversion to using the char[] way of doing the same task, but here's a suggested approach anyways for comparison (to your print_digits4 method):

private static void printDigits( int num ) {
    for ( char c : String.valueOf( num ).toCharArray() ) {
        System.out.println( c );
    }
}