AHS-TechClub-050713 - Avon High School Tech Crew

advertisement
V2012.13
Agenda
• Old Business
– Delete Files
• New Business
– Week 19 Topics:
•
•
•
•
•
Intro to HTML/CSS: Questions?
Group Executive Committee
Website Help
Introduction to Python Review
Intro to Java
Avon High School Tech Club
2
HTML/CSS Class
QUESTIONS?
Avon High School Tech Club
3
Tech Club Executive Committee
• Next Year:
– Election of Officers
•
•
•
•
President
Vice President
Secretary
Treasurer
• Send me an email with interest
Avon High School Tech Club
4
Website Help
• Two Projects
– Non-Profit
– Realtor
• Contact me if you are interested
Avon High School Tech Club
5
Upcoming Schedule
•
•
•
•
Today: Intro to Java
May 14th: Intro to C# (Guest Speaker)
May 21st: Embedded Programming
May 28th: TBD
Avon High School Tech Club
6
Python review
Avon High School Tech Club
7
INTRO TO JAVA
Avon High School Tech Club
8
Intro to Java
•
•
•
•
•
•
History
Brief Overview
Installation/Tools
Getting Started
Examples
Resources
Avon High School Tech Club
9
Java Overview
•
•
•
•
•
•
Over 17 years old
Used in mobile, desktop and enterprise apps
Emphasizes code portability
Statically typed
Runs on multiple platforms (via JVM)
Did you know Android is Java-based?
Avon High School Tech Club
10
More on Java
• Object-Oriented programming language
– How we think about the world (nouns and verbs)
• Java is the 1st or 2nd most popular, depending
on who you ask and when
Avon High School Tech Club
11
Java Variables
• Variable Naming Conventions:
– Variable names must start with a lowercase letter
– Variable names can’t have spaces in them
– Variable names can have numbers in them, but they
can’t start with them
– Variables can’t have any symbols in them except for
an underscore ( the _ character)
• Achieved in Java using Types
Avon High School Tech Club
12
Java Types … called Primitives
Java Type
Example
byte
byte b = 100;
Integer
short
short s = 10000;
Integer
int
int n = 5;
Integer
long
long ssNum = 999_99_9999L;
Integer
float
float f = (float) 4.5;
Decimal
double
double x = 123.4;
Decimal
boolean
boolean b = false;
true or false
String
String s = “Hello";
Words
char
char c = ‘t';
Letter
Avon High School Tech Club
13
Comparing Java to Python
Python
Avon High School Tech Club
Java
14
Java Conditionals
if(this is true){
do this
}
else{
do this instead
}
Avon High School Tech Club
15
Java Conditionals
if(x > 10){
System.out.println(“x is big!”);
}
else{
System.out.println(“x is small!”);
}
/* System.out.println() just tells Java to print what’s in the quotes. */
Avon High School Tech Club
16
Java Loops
/* Keep doing this until it isn’t true anymore */
while(this is true){
do domething
}
/* Or repeat something an exact number of times */
for(counter = 0; counter < 10; counter = counter + 1){
do this every time
}
Avon High School Tech Club
17
Java Loops
/* Find the average of 10 of numbers */
int counter;
float sum = 0;
for(counter = 0; counter < 10; counter = counter + 1){
sum = sum + nextNumber;
}
float average = sum / 10;
For now, we’ll pretend that nextNumber comes from somewhere
Avon High School Tech Club
18
Java Functions/Methods
• There are many situations where you will write
code that you want to use again, executing the
same instructions but on a different set of data.
• This is why we use functions/methods
• In the System.out.println() example, the
String in quotes is the argument. The job of
System.out.println()is to print its
argument to the screen
• Arguments can be variables or constants, it
depends on the method
Avon High School Tech Club
19
Java Functions/Methods
• Functions/Methods:
– Reusable, named chunks of code
– You’ve seen a Method already:
• System.out.println()
• Methods can take in arguments, represents
data that the method will manipulate
Avon High School Tech Club
20
Java Functions/Methods Example
/* First we must define a method */
int addTwoIntegers(int a, int b){
int sum = a + b;
return sum;
Method Name
}
Arguments
Return Type
Method Body
Return Value
Avon High School Tech Club
21
Java Functions/Methods Example
/* First we must define a method */
int addTwoIntegers(int a, int b){
return a + b;
}
/* Then we use the method */
addTwoIntegers(10,15);
/* 25! */
/* We can treat a method like it is a variable
of its return type */
int x = addTwoIntegers(10, 15); /* x is 25 */
Avon High School Tech Club
22
Java Programming Tips
• Increment and Decrement an integer (add or
subtract 1)
– Instead of x = x + 1 use x++ or ++x (use -- for
decrement)
– All of the arithmetic operators can be “combined” with
an equal sign
– Instead of x = x + 12 we can use x += 12
– Also -=, *=, /=
– The - sign is used for subtraction as well as negative
numbers
Avon High School Tech Club
23
Java Programming Tips
• Equals like assignment vs. equals like
comparison
– We use = to assign a value to a variable, so how do
we ask if something is equal to something else?
– == means “is equal to”
• When you’re “reading” code, you should read “=”
as “becomes” and “==” as “is equal to”
Avon High School Tech Club
24
Quiz Time!
System.out.println() is an
example of a reusable chunk of code
called a ________
method
Avon High School Tech Club
25
Quiz Time!
If we need our code to behave
differently depending on some
condition, we use the word _____
if
Avon High School Tech Club
26
Quiz Time!
If we need to repeat an action over and
over again but we aren’t sure how
many times, we use a _____ loop
while
Avon High School Tech Club
27
Quiz Time!
If we need to repeat an action over
and over again and we know how
many times, we use a _____ loop
for
Avon High School Tech Club
28
Quiz Time!
True or False: If we want to make a
decision based on whether or not a
variable is equal to something, we
use “=”
False
We use “==“
Avon High School Tech Club
29
Quiz Time!
What is wrong with this statement:
int x = 2.5;
x is an integer but 2.5 is a float/double
Avon High School Tech Club
30
Quiz Time!
int, double, and float are
examples of _____
Types
Avon High School Tech Club
31
Quiz Time!
What does this block of code do:
int i = 0;
while(i < 10) {
System.out.println(i);
i = i + 1;
a.) Print “i” 10 times
}
b.) Prints the numbers 1 - 10
c.) Prints the numbers 0 - 10
d.) Prints the numbers 0 - 9
Avon High School Tech Club
32
GETTING STARTED
Avon High School Tech Club
33
Getting Started with Java
• Download Java Development Kit (JDK)
– http://tinyurl.com/355cx3m
– http://www.oracle.com/technetwork/java/javase/downl
oads/jdk7-downloads-1880260.html
• Download JDK + NetBeans
– http://tinyurl.com/76mgogl
• Java/NetBeans Quick Start
– https://netbeans.org/kb/docs/java/quickstart.html
• Tip: Configure PATH
Avon High School Tech Club
34
Steps to Creating a Java Application
Source Code
(.java)
Avon High School Tech Club
Compiler
(javac)
Bytecode
(.class)
Execute
(java)
35
Step 1: Source Code
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Avon High School Tech Club
36
Step 1: Source Code
• Every application begins with a class definition
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Avon High School Tech Club
37
Step 1: Source Code
• In the Java programming language, every application must
contain a main method, where app starts to execute:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
• The public keyword is called an access modifier,
meaning it can be accessed by code outside the class
Avon High School Tech Club
38
Step 1: Source Code
• In the Java programming language, every application must
contain a main method, where app starts to execute:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
• The static keyword means main can be called before
an object of the class has been created.
Avon High School Tech Club
39
Step 1: Source Code
• In the Java programming language, every application must
contain a main method, where app starts to execute:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
• The void keyword tells the compiler main does not return
a value.
Avon High School Tech Club
40
Step 1: Source Code
• In the Java programming language, every application must
contain a main method, where app starts to execute:
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
• The String declares a parameter named args of type
String (array)
Avon High School Tech Club
41
Step 1: Source Code
• The last line uses the System class from the core library
to print the "Hello World!" message to standard output.
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Avon High School Tech Club
42
Step 1: Source Code
• The last line uses the System class from the core library
to print the "Hello World!" message to standard output.
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Avon High School Tech Club
43
Step 2: Compile Your Code
javac HelloWorld.java
• Provided there are no compilation errors, you
should now have a .class file:
HelloWorld.class
Avon High School Tech Club
44
Step 3: Execute Your Application
java HelloWorld
Hello World!
Avon High School Tech Club
Holla!
You just created
your first
Java App!
45
Creating Rich Clients
• Swing
• JavaFX/Scene Builder
Avon High School Tech Club
46
Resources
• Java Tutorial
– http://docs.oracle.com/javase/tutorial/
• Learning
– http://www.learnjavaonline.org/
Avon High School Tech Club
47
Your turn …
Avon High School Tech Club
48
Getting Started
1. Download the Java Development Kit (JDK 7)
(For Ubuntu: sudo apt-get install openjdk-7-jdk)
2. Open a text editor
3. Write a simple ‘Hello World’ program
4. Save it as “HelloWorld.java”
5. Compile it (javac HelloWorld.java)
6. Run your program (java HelloWorld)
Avon High School Tech Club
49
PATH on Windows
Enter javac at command prompt, if you receive an error,
install the JDK
If JDK is installed, you may need to set the PATH
At the command prompt:
set path=%path%;“C:\Program Files\Java\jdk1.7.0_21\bin"
Avon High School Tech Club
50
Write Your Own Java Program
Write a program that prints the
name of your operating system and
Java version.
Hint:
Search for system properties …
Avon High School Tech Club
51
Challenge 1
public class SysInfo {
public static void main(String[] args) {
String nameOS = "os.name";
String javaVersion = "java.version";
System.out.println("\n
General System Information");
System.out.println("\n OS Name: " + System.getProperty(nameOS));
System.out.println(" Java Version: " + System.getProperty(javaVersion));
}
}
Avon High School Tech Club
52
Advanced Challenge …
Write a program that prints the
name of your operating system
and Java version, then writes it to
a file called sys.info
Hint:
Search for setProperty and file I/O …
Avon High School Tech Club
53
Challenge 2
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class PropApp
{
public static void main( String[] args ) {
String nameOS = "os.name";
String javaVersion = "java.version";
Properties prop = new Properties();
Avon High School Tech Club
54
Challenge 2
try {
//set the properties value
prop.setProperty("OperatingSystem", System.getProperty(nameOS));
prop.setProperty("JavaVersion", System.getProperty(javaVersion));
//save properties to project root folder
prop.store(new FileOutputStream(“sys.info”), null);
System.out.println("\n
System info stored in sys.info”);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Avon High School Tech Club
55
Download