Key Differences Between Python and Java

Similar documents
SOFT 161. Class Meeting 1.6

Basic Syntax - First Program 1

Introduction to Bioinformatics

Java Bytecode (binary file)

Full file at

Lecture 2 Tao Wang 1

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

Pace University. Fundamental Concepts of CS121 1

VENTURE. Section 1. Lexical Elements. 1.1 Identifiers. 1.2 Keywords. 1.3 Literals

Object-oriented programming in...

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

ARG! Language Reference Manual

Computational Expression

egrapher Language Reference Manual

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Typescript on LLVM Language Reference Manual

CSI33 Data Structures

SSOL Language Reference Manual

FRAC: Language Reference Manual

CPS122 Lecture: From Python to Java

Language Reference Manual

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

The Warhol Language Reference Manual

VLC : Language Reference Manual

IPCoreL. Phillip Duane Douglas, Jr. 11/3/2010

Interpreted vs Compiled. Java Compile. Classes, Objects, and Methods. Hello World 10/6/2016. Python Interpreted. Java Compiled

And Parallelism. Parallelism in Prolog. OR Parallelism

corgi Language Reference Manual COMS W4115

Software and Programming 1

LECTURE 02 INTRODUCTION TO C++

Java+- Language Reference Manual

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

Section 2.2 Your First Program in Java: Printing a Line of Text

Object oriented programming. Instructor: Masoud Asghari Web page: Ch: 3

4 Programming Fundamentals. Introduction to Programming 1 1

Chapter 2: Introduction to C++

Basics of Java Programming

Lecture Set 2: Starting Java

Chapter 2: Special Characters. Parts of a C++ Program. Introduction to C++ Displays output on the computer screen

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines.

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

Lecture Set 2: Starting Java

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

CHIL CSS HTML Integrated Language

Lexical Considerations

Accelerating Information Technology Innovation

C and C++ I. Spring 2014 Carola Wenk

8. Control statements

Java Overview An introduction to the Java Programming Language

Flow Control. CSC215 Lecture

Interactive use. $ python. >>> print 'Hello, world!' Hello, world! >>> 3 $ Ctrl-D

Crayon (.cry) Language Reference Manual. Naman Agrawal (na2603) Vaidehi Dalmia (vd2302) Ganesh Ravichandran (gr2483) David Smart (ds3361)

Array. Prepared By - Rifat Shahriyar

Contents. Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual

d-file Language Reference Manual

Scripting Languages. Python basics

C++ for Python Programmers

Interactive use. $ python. >>> print 'Hello, world!' Hello, world! >>> 3 $ Ctrl-D

Following is the general form of a typical decision making structure found in most of the programming languages:

Gaddis: Starting Out with Java: From Control Structures through Objects, 6/e

Introduction to Python

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

CS313D: ADVANCED PROGRAMMING LANGUAGE

JME Language Reference Manual

Lexical Considerations

COMS W4115 Programming Languages & Translators GIRAPHE. Language Reference Manual

Starting Out with Java: From Control Structures through Data Structures 3e (Gaddis and Muganda) Chapter 2 Java Fundamentals

4. If the following Java statements are executed, what will be displayed?

Software and Programming 1

Data types Expressions Variables Assignment. COMP1400 Week 2

PlOtter. Language Reference Manual

c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.

BTE2313. Chapter 2: Introduction to C++ Programming

Visual C# Instructor s Manual Table of Contents

Computer Programming : C++

CSc Introduction to Computing

Language Reference Manual

Full file at

Lexical Structure (Chapter 3, JLS)

1 Lexical Considerations

Binghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program

Computer Science & Information Technology (CS) Rank under AIR 100. Examination Oriented Theory, Practice Set Key concepts, Analysis & Summary

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Java Notes. 10th ICSE. Saravanan Ganesh

Accelerating Information Technology Innovation

Chapter 2: Basic Elements of C++

Python I. Some material adapted from Upenn cmpe391 slides and other sources

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Full file at

Running a C program Compilation Python and C Variables and types Data and addresses Functions Performance. John Edgar 2

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

Introduction to Programming Using Java (98-388)

There are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals:

Lecture 27. Lecture 27: Regular Expressions and Python Identifiers

The current topic: Python. Announcements. Python. Python

Wentworth Institute of Technology. Engineering & Technology WIT COMP1000. Java Basics

Transcription:

Python Python supports many (but not all) aspects of object-oriented programming; but it is possible to write a Python program without making any use of OO concepts. Python is designed to be used interpretively. A Python statement may be entered at the interpreter prompt (>>>), and will be executed immediately. (Implementations make some use of automatic compilation into bytecodes (.pyc files). Python is dynamically typed: A variable is introduced by assigning a value to it. Example: somevariable = 42 A variable that has been assigned a value of a given type may later be assigned a value of a different type. Example: somevariable = 42 somevariable = 'Hello, world' Python supports the following built-in data types: Plain integers (normally 32-bit integers in the range -2147483648 through 2147483647). Long integers (size limited only by memory size of the machine running on) Booleans (False and True). Real numbers. Complex numbers. In addition, Python supports a number of types that represent a collection of values - including strings, lists, and dictionaries. Java Java supports only object-oriented programming. Programs written in Java must be explicitly compiled into bytecodes (.class files), though an IDE may do this automatically in a way that is transparent to the user. Java does not support direct execution of statements - though there are tools like Dr. Java that support this. Java is statically typed: A variable must be explicitly declared to be of some type before assigning a value to it, though declaration and assignment may be done at the same time. int somevariable; int somevariable = 42; A variable that has been declared to be of a particular type may not be assigned a value of a different type. Java has two kinds of data types: primitive types and reference types. Java supports the following primitive data types: byte - 8-bit integers short - 16-bit integers int - 32-bit integers long - 64-bit integers (Java also supports a class java.math.biginteger to represent integers whose size is limited only by memory) float - 32-bit real numbers. double - 32-bit real numbers. boolean - (false and true). char - a single character. In addition, Java supports arrays of any type as the reference types, and the API includes the class String and a large number of classes used for collections of values. 1

Python is line-oriented: statements end at the end of a line unless the line break is explicitly escaped with \. There is no way to put more than one statement on a single line. this is a statement this is another statement this is a long statement that extends over more \ than one line Python comments begin with # and extend to the end of the line. Example: # This is a comment A new statement starts here Statements in Java always end with a semicolon (;). It is possible for a statement to run over more than one line, or to have multiple statements on a single line. this is a statement; this is another statement; this is a long statement that extends over more than one line; a statement; another; another; Java has two kinds of comments. A comment beginning with // extend to the end of the line (like Python comments). Comments can also begin with /* and end with */. These can extend over multiple lines or be embedded within a single line. // This is a comment A new statement starts here /* This is also a comment */ /* And this is also a comment, which is long enough to require several lines to say it. */ Statement starts /* comment */ then continues Python strings can be enclosed in either single or double quotes (' or ""). A character is represented by a string of length 1. 'This is a string' "This is also a string" # Equivalent 'c' # A string "c" # An equivalent string Python uses the following operators for constructing compound boolean expressions: and, or and not. Example: not(x > 0 and y > 0) or z > 0 In Python, the comparison operators (>, <, >=, <=, == and!=) can be applied to numbers, strings, and other types of objects), and compare values in some appropriate way (e.g. numeric order, lexical order) where possible. Java strings must be enclosed in double quotes (""). A character is a different type of object and is enclosed in single quotes ('). "This is a String" 'c' // A character, but not a String Java uses the following operators for constructing compound boolean expressions: &&,,! and ^ (meaning exclusive or) Example:! (x > 0 && y > 0) z > 0 ^ w > 0 In Java, most of the comparison operators ( >, <, >=, and <=) can be applied only to primitive types. Two (== and!=) can be applied to any object, but when applied to reference types they test for same (different) object rather than same (different) value. 2

There is no universally-accepted Python convention for naming classes, variables, functions etc. By convention, most names in Java use mixed case. Class names begin with an uppercase letter; variable and function names begin with a lowercase letter. Class constants are named using all uppercase letters with underscores. AClassName avariablename afunctionname() A_CLASS_CONSTANT Python definite looping statements have the form for variable in expression: Example: for p in pixels: Python uses the built-in function range() with for to loop over a range of integers. for i in range(1, 10) (i takes on values 1, 2, 3, 4, 5, 6, 7, 8, 9) for i in range(1, 10, 2) (i takes on values 1, 3, 5, 7, 9) Python indefinite looping statements have the form while condition: Example: while x > 0: Java has two kinds of definite looping statements. One has the form for (variable in collection) Example: for (p in pixels) Java uses a different form of the for to loop over a range of integers. for (int i = 1; i < 10; i ++) (i takes on values 1, 2, 3, 4, 5, 6, 7, 8, 9) for (int i = 1; i < 10; i += 2) (i takes on values 1, 3, 5, 7, 9) Java has two forms of indefinite looping statement. One has the form while (condition) Example: while (x > 0) The other has the form do... while(condition). Example: do while(x > 0); 3

Python conditional statements have the form if condition: and an optional else part has the form else:. The form elif condition: is allowed as an alternative to an else: immediately followed by an if. else: different elif x > 0: different else: yet another thing Java conditional statements have the form if (condition) and an optional else part has the form else (no colon) There is no elif form - else if is used directly. else different; else if (x > 0) different; else yet another thing; Java also has another form of conditional statement (switch) which has no analog in Python. Example: switch(i) case 0: 1; 2;... break; case 1: else; break;... default: yet else; (The individual cases can include any number of statements [ shown for the first case only, but possible for any ], normally ending with the special statement break; ) 4

The scope of a Python conditional or looping statement is denoted by indentation. (If multiple lines are to be included, care must be used to be sure every line is indented identically). do do another thing regardless of the value of x do do else do yet a third thing do another thing regardless of the value of x The scope of a Java conditional or looping statement is normally just the next statement. Indentation is ignored by the compiler (though stylistically it is still highly desirable for the benefit of a human reader). If multiple lines are to be included, the scope must be delimited by curly braces (, ). (Optionally, these can be used even if the scope is a single line.) do do // Bad style-don't do this! do do else; do yet a third thing; do 5

A Python function definition has the form def function-name(formal-parameter-list): body Example: def disc(a, b, c): return b * b - 4 * a * c If there are no parameters, an empty list (()) is used. The body is delimited by indentation, and can be any number of lines. A function does not have to return a value; if it does not, no return statement is required, though return without a value (or with None) can be used to end the function execution early. A Java function definition always occurs in the context of some class. It has the form type function-name(formal-parameter-list) body Example: class Solver... double disc(double a, double b, double c) return b * b - 4 * a * c;... The return type of a Java function must always be specified. If it does not return a value, void must be used. If there are no parameters, an empty list (()) is used. A type must be specified for each of the parameters. The body is always delimited by curly braces (, ) even if the body is a single line. Indentation is ignored by the compiler (though stylistically it is still highly desirable for the benefit of a human reader). If the function does not return a value (its type is void), no return statement is required, though return without a value can be used to end the function execution early. A Python function is called by specifying its name followed by a list of actual arguments (that must be the same length as the list of formal parameters) Example: discr(1, 2, 1) A Java function is called by specifying the object or class to which it is to be applied followed by a dot, then its name followed by a list of actual arguments (that must be the same length as the list of formal parameters, with each argument compatible with the declared type of the corresponding formal parameter) Example: solver.discr(1, 2, 1) 6