CSci 2101 Lab 1. Java variables, data types.
Due Tuesday, September 6th, at 11am (by e-mail)
25 points
The lab must be done individually.
Setup
- Log in to one of the lab machines. If you don't remember your
password, I will
help you reset it.
- Start a terminal window (Applications -> System Tools -> terminal)
- If you just got a new account, reset your password to something
you can remember:
type
passwd
on the command line in a terminal window. You
will be asked to type your current password and then
the new password twice. Note that as you are typing your password,
nothing shows up on the screen (as a security measure).
- Create a subfolder in your home directory for this course files
(for instance, csci2101) and a subfolder for
the lab (lab1). Open a new file using jEdit, copy the program text into it from
FirstJava.java, and save it under the same name (don't forget the .java extension) in
the folder that you just created.
- In the terminal window type
cd
followed by the path
to the file. Use Tab
key for auto-complete.
- Compile your file:
javac FirstJava.java
. If there are
no errors,
run it: java FirstJava
.
Lab questions
When you are answering these questions, feel free to delete some of
the program code
or comment out unnecessary print statements. All your newly added code
should be in main. Don't forget to recompile your program after every
change.
- Write a comment at the top of the file with your name and the
lab number. Always do this for all work that you do in this
class.
- Add a statement to multiply two integer variables (i.e. two
variables of type
int
),
print out the result.
- Add a statement to divide two ints, store the result in a
variable, and print that variable. What happens when the two numbers
cannot be evenly divided? Write a comment in your program to explain
the results.
- Print out the value of n. Then write
n = n + 3;
Print out its value again. Briefly explain (in comments) what happens.
- Change the comparison
x < 5
to x <= 5
, verify that it works as expected.
- What happens if you compare characters 'a' and 'b' using
<?
- The maximum positive value that one can store in an int variable
is 2147483647. What happens if you attempt to store a larger
number?
- Declare a new variable of any primitive type (give it any name you
want that's not in
the program already), initialize it, then print its value. Add a
statement to change its value, print it out again. Feel free to use
types
long
, short
, etc if you prefer.
- An operation
%
computes the remainder (also known as the
residue) of integer division;
it is defined on ints. Add a few statements to the program to check how it
works. Does it correspond to the mathematical definition of a
remainder on integer numbers? Write down your
observations.
- At the end of the program add the statements that call the
method
charAt
on the string name
:
System.out.println(name.charAt(1));
System.out.println(name.charAt(2));
Explain what gets printed. Change the numbers passed
to charAt
if you would like to study the method more.
Add another statement to print the very
first character of the string.
-
The method
length()
(with no parameters) returns the
length of the string. Call it on the string name
to print out the
string's length.
- Make two deliberate errors in the program that cause it to fail compilation.
What changes did you make? What were the error messages? Were they
understandable? Comment out the errors.
- Come up with two "what if" questions (for instance: what if I
assign a double to a float? What if I declare two variables with the
same name?). Write down your questions, your tests, and your
answers.
How to submit
Send the FirstJava.java file with all your comments by email to me:
elenam at morris.umn.edu. The subject of the message must be 2101
Lab 1.
CSci 2101 course web site.