Java vs. Python Programming Language Comparison

Java and Python are two popular programming languages that represent two very different approaches to structure and syntax. Java has a more formal, strict syntax. Python syntax is more forgiving and provides many shortcuts and abbreviations. Java is compiled and Python is interpreted.

The table below shows a sampling of Java and Python programming language elements that highlight these differences.

JavaPython
Block {
   . . .
}
def my_block( ):
      . . .
      CR
Class
Definition
public class Hello {
   . . .
}
class Hello:
      . . .
      CR
Class
Constructor
public Hello(Strng msg) {
    defaultMsg=msg;
}
def __init__(self, param1, param2, ...)
      self.p1=param1
      self.p2=param2
      CR
Class
Instantiation
Hello mHello=new Hello();
mHello=Hello( )
Class
Variable
static String myVariable; class MyClass:
      my_class_variable = 0
Comment // Comment text. # Comment text.
Constant final static MY_CONSTANT; MY_CONSTANT
Conditional if (a>b) {
   . . .
}  else {
   . . .
}
if (a>b):
      . . .
else:
      . . .
Exception
Handling
try { . . . }
catch { . . . }
try:
      . . .
except Error, e:
      . . .
Global
Variable
public class MyGlobals {
   public static String mG1
}
global my_global_variable
Importing import java.sql.*; import apackage as ap
from apackage import amodule
Inheritance class Child extends Parent{...} class Child(Parent):
Instance
Variable
// Declared outside methods
String mVariable;
class Hello:
      def __init__(self, param1)
            self.param1=param1
Iteration for (i=0; i<5; i++) {
    . . .
}

for (myElement : myCollection){
    . . .
}
for x in range(0, 5):
      . . .

for my_element in my_collection:
       . . .

for key, value in my_dictionary:
       . . .
Local
Variable
String myVariable; my_variable
Method
Definition
public void myIdea(String param) {
   . . .
}
def my_idea(my_parameter):
      . . .
      CR
Method
Use
myIdea(mParameter); my_idea(my_parameter)
Namespace
Reference
packageName;
my_namespace={'a':a_object, ...}
Null Value null
None
Statement
Separator
;
new line
Variable String mString="Hello Java";
my_string="Hello Python"