Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/e5m7uo8vro0d/public_html/mediawiki/includes/MagicWord.php on line 860
Hogwarts School Of Computer Science - Huben's Wiki

Hogwarts School Of Computer Science

From Huben's Wiki
Jump to: navigation, search
 
Line 1: Line 1:
 +
[[Image:Welcome To Hogwarts.jpg]]
 +
 
''GLENDOWER: I can call spirits from the vasty deep.<br>
 
''GLENDOWER: I can call spirits from the vasty deep.<br>
 
''HOTSPUR: Why, so can I, or so can any man; But will they come when you do call for them?''<br>
 
''HOTSPUR: Why, so can I, or so can any man; But will they come when you do call for them?''<br>
Line 18: Line 20:
 
==The Mystery Of The Curly Braces==
 
==The Mystery Of The Curly Braces==
 
Banner.java
 
Banner.java
<code>
+
<pre>
 
// This applet displays a message moving horizontally
 
// This applet displays a message moving horizontally
 
// across the screen.
 
// across the screen.
Line 54: Line 56:
  
 
     // Adjust the horizontal position of the banner:
 
     // Adjust the horizontal position of the banner:
     xPos--;
+
     xPos = xPos - 1;
 
     if (xPos < -100)
 
     if (xPos < -100)
 
     {
 
     {
Line 66: Line 68:
 
   }
 
   }
 
}
 
}
</code>
+
</pre>
 +
 
 +
* What do you notice about the braces and the words of this incantation?
 +
 
 +
Braces delimit '''blocks'''.  A block is a series of statements, and statements are easy to spot because they usually are one per line and end with a semicolon.
 +
 
 +
* How many blocks are there in this incantation?
 +
* How many statements are there in this incantation?
 +
* Guess how many statements can be in a block: smallest number and largest number.
 +
 
 +
This incantation is called a '''class''' because it has the magic word '''class''' in it.  Muggles call thes magic words '''reserved words'''.
 +
 
 +
There should be a program on your desktop called  Dr. Java. 
 +
* Start Dr. Java.
 +
* Cut and paste the incantation Banner.java into Dr. Java.
 +
* Use the file menu to save it to your H drive.  Don't change the name from Banner.  Dr. Java automatically knows what to call the file: you just tell it what folder.
 +
* Use the Edit/Preferences menu to check the "Show All Line Numbers" box.  Click apply, and close the preferences box.  Go "oooo, ahhhhhhh!"
 +
* Click "compile", then click "run".
 +
* Enjoy the results!
 +
 
 +
Now we play with it.
 +
* Look for numbers, and try to change them to make it run differently.  You will need to compile and run to see your changes.
 +
* What numbers do what?
 +
* Bonus if you can find how to make it hop instead of smooth scrolling.
 +
* Double bonus if you can do it the right way.
 +
 
 +
Here is another incantation:
 +
 
 +
<pre>
 +
//  This program shows simple graphics in a window.
 +
 
 +
import java.awt.*;
 +
import javax.swing.*;
 +
 
 +
public class HelloGraphics extends JPanel
 +
{
 +
public void paintComponent(Graphics g)
 +
{
 +
super.paintComponent(g);  // Call JPanel's paintComponent method
 +
                          //  to paint the background
 +
g.setColor(Color.RED);
 +
 
 +
// Draw a 150 by 45 rectangle with the upper-left
 +
// corner at x = 25, y = 40:
 +
g.drawRect(20, 40, 150, 45);
 +
 
 +
g.setColor(Color.BLUE);
 +
 
 +
// Draw a string of text starting at x = 60, y = 25:
 +
g.drawString("Hello, Graphics!", 55, 65);
 +
}
 +
 
 +
public static void main(String[] args)
 +
{
 +
JFrame window = new JFrame("Graphics Demo");
 +
// Set this window's location and size:
 +
// upper-left corner at 300, 300; width 200, height 100
 +
window.setBounds(300, 300, 200, 150);
 +
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 +
 
 +
HelloGraphics panel = new HelloGraphics();
 +
panel.setBackground(Color.WHITE);  // the default color is light gray
 +
Container c = window.getContentPane();
 +
c.add(panel);
 +
 
 +
window.setVisible(true);
 +
}
 +
}
 +
</pre>
 +
 
 +
This incantation has not followed the rules of the curly braces, but will still work.
 +
 
 +
* Cut and paste it into Dr. Java, and save it as HelloGraphics.
 +
* Run it: it should work.
 +
* Now indent it properly so that it looks like Banner.java above.
 +
* Run it: it should still work.
 +
* What does that tell us about spaces in these incantations?
 +
* Why then do we indent according to curly braces?
 +
 
 +
Let's do it the easy way now!
 +
 
 +
* Cut and paste it again into Dr. Java, so there is no indentation.
 +
* Select all the code.
 +
* Press the Tab key.  What magic has resulted?
 +
* If you have time, you can play with this program too.

Latest revision as of 12:31, 6 September 2013

Personal tools
translate