1.00/1.
001 Tutorial 1
Introduction to 1.00
September 12 & 13, 2005
Outline
• Introductions
• Administrative Stuff
• Java Basics
• Eclipse practice
• PS1 practice
Introductions
• Me
– Course TA
• You
– Name, nickname, major, state/country, etc…
– Why are you taking this class?
– Keep reminding me of your name…
Administrative
• Guidelines on Academic Honesty
– no pset credit until turn in
• Mandatory classes - LAB
• Problem Sets Due: 11AM on Fridays
– Please remember to put a comment in your
code with your name, email id, TA & Section
Name – we will take off points if you don’t
– If you had trouble submitting PS0, let us know
Office Hours
• Feel free to come in with questions about Java,
lectures, and problem sets
• No problem set help if you haven’t tried on your
own
• We will not:
– Dedicate the entire afternoon to you.
– Write any lines of code for you. This is what
tutorials and active learning sessions are for.
– Answer questions of the type: “I have the
following 200 lines of code. Why isn’t my program
running correctly?”. We are neither debuggers
nor prophets.
Laptop Problems/etc
• Use a power cable when you can
• Always back up your work, either on MIT server (you
can use secureFX), or using CDR’s or USB
Flash drives
Weekly Tutorial
• Quick review of topics from previous week
• Group exercise / discussion
- design & implementation
• Problem set review
• Mandatory
- 5% of your grade
- attendance & participation
• make sure you participate!!
• tutoring (after the 1st quiz)
• Section signup:
- Problems? Please let me know ASAP.
Java Data Types
• 8 primitive or built-in data types
– 4 integer types (byte, short, int, long)
– 2 floating point types (float, double)
– Boolean (boolean)
– Character (char)
• These are not objects
Java Data Types: examples
int studentCount = 91;
char firstLetter = 'a';
float weight = 180.6F;
double area = Math.PI * 5.0 * 5.0;
boolean enjoy100 = true;
boolean xGreaterThanY = (x > y);
long theNumberOne = 1L;
double googol = 1E100; //10100
– Make sure you don’t use Java keywords (do,
while, import…) as variable names!
Data Type Conversion
• Implicit (automatic) conversion –
promotion int promoted to double
double x = 3.2 * 5;
double y = 24 24;
• Explicit conversion – casting
int z = (int)
(int)(2.2 * 9.2);
int k = (int)
(int)(3.5 * 3);
expression cast to int this expression is a double (very accurate)
Promotion
Data Type Allowed Promotions
double None
float double
increasing capaci
ty
long float,double
int long,float,double
char int,long,float,double
short int, long,float,double
byte short,int,long,float,double
Integer Arithmetic
• The type of any expression depends on
the operands:
• 7/3 = ?
Logical Operators
• Produce results of type boolean
Equal == Not equal !=
Less than < Less than or equal to <=
Greater than > Greater than or equal to >=
And && Or ||
Control Structures: Branch
if (boolean) …
if (boolean) … else …
if (boolean1) …
else if (boolean2) …
else …
Java API/Javadocs
• This is a very important tool that you should learn how to use ASAP
• http://java.sun.com/j2se/1.5.0/docs/api/
• Check if Javadocs are attached:
– In Eclipse:
• Place the cursor on any Java method or class
• Select ' Navigate' ->'
Open External Javadoc'(or Shift+F2)
• If documentation automatically opens, Javadocs are attached
• How to attach Javadocs:
– In the Eclipse menu bar, go to
• 'Window' ->'Preferences' ->' Java'
->'
Installed JREs‘
• There should be only one installed JRE (jre1.5.0_04)
• Highlight it and click 'Edit...‘
• In the ‘JRE System Libraries’ box:
– uncheck ‘Use default system libraries’
– expand all the libraries
• Highlight ‘Javadoc Location’ for each library and click edit
• In the 'Javadoc URL‘ box, browse for the correct folder ('C:\Program
Files\Java\jdk1.5.0_04\docs\api) and click OK
Problem Set 1
• Taking user inputs
• Calculation
• Print result
Problem Set Practice (1)
• import javax.swing.*;
• Ask the user for their age using a
JOptionPane
• Store the input in a variable age
• Convert it to their age in dog years and print it
out using System.out.println()
• dogAge = (age)*7
Problem Set Practice (2)
• Print out the number PI as a:
– double
– float
– int
Java Basics
• Declaring variables
– initial value required? what about type?
-- a variable is simply a memory location that stores a
value.
• Assigning a value vs. testing a value
– compiler will catch this, but know the difference (= v/s
==)
• Declaring floats and longs (F / L)
• Representing booleans
– use true/false, not 0/1
• Naming conventions
– Java is case-sensitive!
– classes and filenames: always Capitalize
– variable names: int runningSpeed=55;
– must begin with letter, underscore, or $
– final variables: final double PI = 3.1416;