tag:blogger.com,1999:blog-71592859913044578102024-10-17T07:27:17.779-07:00Andrew's Java BlogUnknownnoreply@blogger.comBlogger80125tag:blogger.com,1999:blog-7159285991304457810.post-3155689505946298742021-10-02T14:38:00.001-07:002021-10-02T14:38:31.531-07:00Fifteen (Part 1)<p><span style="font-size: medium;"><span style="font-family: arial;">As a child I had a puzzle made of sliding plastic tiles in a 4x4 grid. I can no longer find it so I have to assume it has been lost, given away or broken and thrown away (I rarely throw things away if they aren't broken). Here is a picture of a similar puzzle, which I found elsewhere on the Internet:</span></span></p><p><span style="font-size: medium;"><span style="font-family: arial;"></span></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: medium;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOeiDjTKQczvkwgevpRKcgUk0LvOLD7Qu6vPqmrrsqkAmFVHmgShLLY2rr5XUXGtwQNoIsAKAg6sJSPKT_TBaSG-tU95sPWK-i6Vb4lchv4AnQ05DS5nLD0_l9lFW0fLzfYyrweMOb4Ead/s250/Screenshot+2021-10-02+at+16-42-35+Number+1-15+Puzzle+Panel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="250" data-original-width="250" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOeiDjTKQczvkwgevpRKcgUk0LvOLD7Qu6vPqmrrsqkAmFVHmgShLLY2rr5XUXGtwQNoIsAKAg6sJSPKT_TBaSG-tU95sPWK-i6Vb4lchv4AnQ05DS5nLD0_l9lFW0fLzfYyrweMOb4Ead/w400-h400/Screenshot+2021-10-02+at+16-42-35+Number+1-15+Puzzle+Panel.png" width="400" /></a></span></div><p></p><p><span style="font-size: medium;"><span style="font-family: arial;">This one retails at £270.92, which seems excessive but when I looked more closely I saw that it measures 50cm x 50cm x 5cm, which is much larger than normal and probably explains why it costs so much.</span></span></p><p><span style="font-size: medium;"><span style="font-family: arial;">The objective of the puzzle is to slide the numbers around until they are in numerical order as shown below:</span></span></p><p><span style="font-size: medium;"><span style="font-family: arial;"></span></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: medium;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj82e_Hmg3u4Lt4SKd3H8M1V01y0QxT9hPFOZ2T7YxjFAXLCuT9vrONOLNHi8dperLie_rHT4L44utwWuyfC25-Rw20qen285S4RHaFBdxcAWAVJzngxOn5ziKof62P8YkEk25pGtOS20xG/s323/Screenshot+2021-10-02+at+16-50-05+Sliding+puzzle+picture+-+Google+Search.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="323" data-original-width="322" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj82e_Hmg3u4Lt4SKd3H8M1V01y0QxT9hPFOZ2T7YxjFAXLCuT9vrONOLNHi8dperLie_rHT4L44utwWuyfC25-Rw20qen285S4RHaFBdxcAWAVJzngxOn5ziKof62P8YkEk25pGtOS20xG/w399-h400/Screenshot+2021-10-02+at+16-50-05+Sliding+puzzle+picture+-+Google+Search.png" width="399" /></a></span></div><p></p><p><span style="font-size: medium;"><span style="font-family: arial;">There are also several versions of this puzzle to play online. I have been teaching myself Java from a book for a while so I decided to create one of my own. I found the source code for a 3x3 version and tried it out. I found that I could not click on the X in the top right hand corner of the screen to close the application so I added code to do this. Then I changed it to a 4x4 version and mixed up the starting sequence of the numbers so that it looked like this:</span></span></p><p><span style="font-size: medium;"><span style="font-family: arial;"></span></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-size: medium;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBD7fZBNMVc4v02mzfdPm-LkUOApSqIyDJSLjRF7Jps2ZHExAs29qcnWSNccWCjya-ru7Y4tftyg-MhRjP7G8jgYPMCiHUrRrsuRDbn7-eHbJSKVHloBHiByQYBeUl_Y8MBSaqNgnbbJSQ/s413/Screenshot+from+2021-10-02+17-18-22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="413" data-original-width="410" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBD7fZBNMVc4v02mzfdPm-LkUOApSqIyDJSLjRF7Jps2ZHExAs29qcnWSNccWCjya-ru7Y4tftyg-MhRjP7G8jgYPMCiHUrRrsuRDbn7-eHbJSKVHloBHiByQYBeUl_Y8MBSaqNgnbbJSQ/w398-h400/Screenshot+from+2021-10-02+17-18-22.png" width="398" /></a></span></div><span style="font-size: medium;"><br />If you would like to run it yourself, you will need a PC with Java installed. Copy the source code, which is at the end of this post, into a text file called Fifteen.java and run it like this:</span><p></p><p><span style="font-size: medium;"><span style="font-family: arial;"><span style="font-family: courier;">andrew@ASUS-Laptop:~/Java$ javac Fifteen.java<br />andrew@ASUS-Laptop:~/Java$ java Fifteen</span></span></span></p><p><span style="font-size: x-small;"><span style="font-family: arial;"><span style="font-family: courier;">import java.awt.*; <br />import java.awt.event.*; <br />import javax.swing.JOptionPane; <br />public class Fifteen extends Frame implements WindowListener, ActionListener<br />{ <br />Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; <br />Fifteen()<br /> { <br /> super("Fifteen"); <br /> b1=new Button(); <br /> b1.setBounds(50,100,40,40); <br /> b2=new Button(); <br /> b2.setBounds(100,100,40,40); <br /> b3=new Button(); <br /> b3.setBounds(150,100,40,40); <br /> b4=new Button(); <br /> b4.setBounds(200,100,40,40); <br /> b5=new Button(); <br /> b5.setBounds(50,150,40,40); <br /> b6=new Button(); <br /> b6.setBounds(100,150,40,40); <br /> b7=new Button(); <br /> b7.setBounds(150,150,40,40); <br /> b8=new Button(); <br /> b8.setBounds(200,150,40,40); <br /> b9=new Button(); <br /> b9.setBounds(50,200,40,40); <br /> b10=new Button(); <br /> b10.setBounds(100,200,40,40); <br /> b11=new Button(); <br /> b11.setBounds(150,200,40,40); <br /> b12=new Button(); <br /> b12.setBounds(200,200,40,40); <br /> b13=new Button(); <br /> b13.setBounds(50,250,40,40); <br /> b14=new Button(); <br /> b14.setBounds(100,250,40,40); <br /> b15=new Button(); <br /> b15.setBounds(150,250,40,40); <br /> b16=new Button(); <br /> b16.setBounds(200,250,40,40); <br /><br /> b1.setLabel("6");<br /> b2.setLabel("7");<br /> b3.setLabel("4");<br /> b4.setLabel("11");<br /> b5.setLabel("2");<br /> b6.setLabel("1");<br /> b7.setLabel("15");<br /> b8.setLabel("10");<br /> b9.setLabel("13");<br /> b10.setLabel("5");<br /> b11.setLabel("");<br /> b12.setLabel("3");<br /> b13.setLabel("9");<br /> b14.setLabel("14");<br /> b15.setLabel("12");<br /> b16.setLabel("8");<br /> <br /> b1.addActionListener(this); <br /> b2.addActionListener(this); <br /> b3.addActionListener(this); <br /> b4.addActionListener(this); <br /> b5.addActionListener(this); <br /> b6.addActionListener(this); <br /> b7.addActionListener(this); <br /> b8.addActionListener(this); <br /> b9.addActionListener(this); <br /> b10.addActionListener(this); <br /> b11.addActionListener(this); <br /> b12.addActionListener(this); <br /> b13.addActionListener(this); <br /> b14.addActionListener(this); <br /> b15.addActionListener(this); <br /> b16.addActionListener(this); <br /> <br /> add(b1);add(b2);add(b3);add(b4);add(b5);add(b6);add(b7);add(b8); <br /> add(b9);add(b10);add(b11);add(b12);add(b13);add(b14);add(b15);add(b16); <br /> setSize(400,400); <br /> setLayout(null); <br /> setVisible(true); <br /> addWindowListener(this);<br /> } <br />public void windowClosing(WindowEvent x)<br /> {<br /> dispose();<br /> System.exit(0);<br /> }<br />public void windowActivated(WindowEvent x) { }<br />public void windowDeactivated(WindowEvent x) { }<br />public void windowOpened(WindowEvent x) { }<br />public void windowClosed(WindowEvent x) { }<br />public void windowIconified(WindowEvent x) { }<br />public void windowDeiconified(WindowEvent x) { }<br />public void actionPerformed(ActionEvent e)<br /> { <br /> if(e.getSource()==b1)<br /> { <br /> String label=b1.getLabel(); <br /> if(b2.getLabel().equals(""))<br /> { <br /> b2.setLabel(label); <br /> b1.setLabel(""); <br /> } <br /> if(b5.getLabel().equals(""))<br /> { <br /> b5.setLabel(label); <br /> b1.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b2)<br /> { <br /> String label=b2.getLabel(); <br /> if(b1.getLabel().equals(""))<br /> { <br /> b1.setLabel(label); <br /> b2.setLabel(""); <br /> } <br /> if(b3.getLabel().equals(""))<br /> { <br /> b3.setLabel(label); <br /> b2.setLabel(""); <br /> } <br /> if(b6.getLabel().equals(""))<br /> { <br /> b6.setLabel(label); <br /> b2.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b3)<br /> { <br /> String label=b3.getLabel(); <br /> if(b2.getLabel().equals(""))<br /> { <br /> b2.setLabel(label); <br /> b3.setLabel(""); <br /> } <br /> if(b4.getLabel().equals(""))<br /> { <br /> b4.setLabel(label); <br /> b3.setLabel(""); <br /> } <br /> if(b7.getLabel().equals(""))<br /> { <br /> b7.setLabel(label); <br /> b3.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b4)<br /> { <br /> String label=b4.getLabel(); <br /> if(b3.getLabel().equals(""))<br /> { <br /> b3.setLabel(label); <br /> b4.setLabel(""); <br /> } <br /> if(b8.getLabel().equals(""))<br /> { <br /> b8.setLabel(label); <br /> b4.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b5)<br /> { <br /> String label=b5.getLabel(); <br /> if(b1.getLabel().equals(""))<br /> { <br /> b1.setLabel(label); <br /> b5.setLabel(""); <br /> } <br /> if(b6.getLabel().equals(""))<br /> { <br /> b6.setLabel(label); <br /> b5.setLabel(""); <br /> } <br /> if(b9.getLabel().equals(""))<br /> { <br /> b9.setLabel(label); <br /> b5.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b6)<br /> { <br /> String label=b6.getLabel(); <br /> if(b2.getLabel().equals(""))<br /> { <br /> b2.setLabel(label); <br /> b6.setLabel(""); <br /> } <br /> if(b5.getLabel().equals(""))<br /> { <br /> b5.setLabel(label); <br /> b6.setLabel(""); <br /> } <br /> if(b7.getLabel().equals(""))<br /> { <br /> b7.setLabel(label); <br /> b6.setLabel(""); <br /> } <br /> if(b10.getLabel().equals(""))<br /> { <br /> b10.setLabel(label); <br /> b6.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b7)<br /> { <br /> String label=b7.getLabel(); <br /> if(b3.getLabel().equals(""))<br /> { <br /> b3.setLabel(label); <br /> b7.setLabel(""); <br /> } <br /> if(b6.getLabel().equals(""))<br /> { <br /> b6.setLabel(label); <br /> b7.setLabel(""); <br /> } <br /> if(b8.getLabel().equals(""))<br /> { <br /> b8.setLabel(label); <br /> b7.setLabel(""); <br /> } <br /> if(b11.getLabel().equals(""))<br /> { <br /> b11.setLabel(label); <br /> b7.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b8)<br /> { <br /> String label=b8.getLabel(); <br /> if(b4.getLabel().equals(""))<br /> { <br /> b4.setLabel(label); <br /> b8.setLabel(""); <br /> } <br /> if(b7.getLabel().equals(""))<br /> { <br /> b7.setLabel(label); <br /> b8.setLabel(""); <br /> } <br /> if(b12.getLabel().equals(""))<br /> { <br /> b12.setLabel(label); <br /> b8.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b9)<br /> { <br /> String label=b9.getLabel(); <br /> if(b5.getLabel().equals(""))<br /> { <br /> b5.setLabel(label); <br /> b9.setLabel(""); <br /> } <br /> if(b10.getLabel().equals(""))<br /> { <br /> b10.setLabel(label); <br /> b9.setLabel(""); <br /> } <br /> if(b13.getLabel().equals(""))<br /> { <br /> b13.setLabel(label); <br /> b9.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b10)<br /> { <br /> String label=b10.getLabel(); <br /> if(b6.getLabel().equals(""))<br /> { <br /> b6.setLabel(label); <br /> b10.setLabel(""); <br /> } <br /> if(b9.getLabel().equals(""))<br /> { <br /> b9.setLabel(label); <br /> b10.setLabel(""); <br /> } <br /> if(b11.getLabel().equals(""))<br /> { <br /> b11.setLabel(label); <br /> b10.setLabel(""); <br /> } <br /> if(b14.getLabel().equals(""))<br /> { <br /> b14.setLabel(label); <br /> b10.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b11)<br /> { <br /> String label=b11.getLabel(); <br /> if(b7.getLabel().equals(""))<br /> { <br /> b7.setLabel(label); <br /> b11.setLabel(""); <br /> } <br /> if(b10.getLabel().equals(""))<br /> { <br /> b10.setLabel(label); <br /> b11.setLabel(""); <br /> } <br /> if(b12.getLabel().equals(""))<br /> { <br /> b12.setLabel(label); <br /> b11.setLabel(""); <br /> } <br /> if(b15.getLabel().equals(""))<br /> { <br /> b15.setLabel(label); <br /> b11.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b12)<br /> { <br /> String label=b12.getLabel(); <br /> if(b8.getLabel().equals(""))<br /> { <br /> b8.setLabel(label); <br /> b12.setLabel(""); <br /> } <br /> if(b11.getLabel().equals(""))<br /> { <br /> b11.setLabel(label); <br /> b12.setLabel(""); <br /> } <br /> if(b16.getLabel().equals(""))<br /> { <br /> b16.setLabel(label); <br /> b12.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b13)<br /> { <br /> String label=b13.getLabel(); <br /> if(b9.getLabel().equals(""))<br /> { <br /> b9.setLabel(label); <br /> b13.setLabel(""); <br /> } <br /> if(b14.getLabel().equals(""))<br /> { <br /> b14.setLabel(label); <br /> b13.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b14)<br /> { <br /> String label=b14.getLabel(); <br /> if(b10.getLabel().equals(""))<br /> { <br /> b10.setLabel(label); <br /> b14.setLabel(""); <br /> } <br /> if(b13.getLabel().equals(""))<br /> { <br /> b13.setLabel(label); <br /> b14.setLabel(""); <br /> } <br /> if(b15.getLabel().equals(""))<br /> { <br /> b15.setLabel(label); <br /> b14.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b15)<br /> { <br /> String label=b15.getLabel(); <br /> if(b11.getLabel().equals(""))<br /> { <br /> b11.setLabel(label); <br /> b15.setLabel(""); <br /> } <br /> if(b14.getLabel().equals(""))<br /> { <br /> b14.setLabel(label); <br /> b15.setLabel(""); <br /> } <br /> if(b16.getLabel().equals(""))<br /> { <br /> b16.setLabel(label); <br /> b15.setLabel(""); <br /> } <br /> } <br /> if(e.getSource()==b16)<br /> { <br /> String label=b16.getLabel(); <br /> if(b12.getLabel().equals(""))<br /> { <br /> b12.setLabel(label); <br /> b16.setLabel(""); <br /> } <br /> if(b15.getLabel().equals(""))<br /> { <br /> b15.setLabel(label); <br /> b16.setLabel(""); <br /> } <br /> } <br /> // Check if game is complete:<br /> if(b1.getLabel().equals("1")&&b2.getLabel().equals("2")<br /> &&b3.getLabel().equals("3")&&b4.getLabel().equals("4") <br /> &&b5.getLabel().equals("5")&&b6.getLabel().equals("6")<br /> &&b7.getLabel().equals("7")&&b8.getLabel().equals("8") <br /> &&b9.getLabel().equals("9")&&b10.getLabel().equals("10")<br /> &&b11.getLabel().equals("11")&&b12.getLabel().equals("12") <br /> &&b13.getLabel().equals("13")&&b14.getLabel().equals("14")<br /> &&b15.getLabel().equals("15")) <br /> {<br /> JOptionPane.showMessageDialog(this,"Well done!"); <br /> } <br />} <br />public static void main(String[] args)<br /> { <br /> new Fifteen(); <br /> } <br />}</span></span></span></p>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.461707522.617780463821155 -35.6179575 79.238248136178839 34.6945425tag:blogger.com,1999:blog-7159285991304457810.post-24131906867481654082015-02-15T11:16:00.000-08:002015-02-15T11:16:01.219-08:00Java Program to Find Palindromes<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">A palindrome is a number which has the same value whether you read its digits forwards or backwards e.g. 8, 66, 525 etc. The program below shows how you can use Java to find them. It converts the number to a string, reverses the string then tests whether the reversed string is the same as the original:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat palindrome.java<br />class palindrome <br /> {<br /> public static void main(String args[])<br /> {<br /> for (int a=1;a<1000;a++)<br /> {<br /> String s1 = String.valueOf(a);<br /> String s2 = new StringBuffer(s1).reverse().toString();<br /> if (s1.equals(s2))<br /> {<br /> System.out.println(a + " is a palindrome");<br /> }<br /> }<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac palindrome.java</span></span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ java palindrome<br />1 is a palindrome<br />2 is a palindrome<br />3 is a palindrome<br />4 is a palindrome<br />5 is a palindrome<br />6 is a palindrome<br />7 is a palindrome<br />8 is a palindrome<br />9 is a palindrome<br />11 is a palindrome<br />22 is a palindrome<br />33 is a palindrome<br />44 is a palindrome<br />55 is a palindrome<br />66 is a palindrome<br />77 is a palindrome<br />88 is a palindrome<br />99 is a palindrome<br />101 is a palindrome<br />111 is a palindrome<br />121 is a palindrome<br />131 is a palindrome<br />141 is a palindrome<br />151 is a palindrome<br />161 is a palindrome<br />171 is a palindrome<br />181 is a palindrome<br />191 is a palindrome<br />202 is a palindrome<br />212 is a palindrome<br />222 is a palindrome<br />232 is a palindrome<br />242 is a palindrome<br />252 is a palindrome<br />262 is a palindrome<br />272 is a palindrome<br />282 is a palindrome<br />292 is a palindrome<br />303 is a palindrome<br />313 is a palindrome<br />323 is a palindrome<br />333 is a palindrome<br />343 is a palindrome<br />353 is a palindrome<br />363 is a palindrome<br />373 is a palindrome<br />383 is a palindrome<br />393 is a palindrome<br />404 is a palindrome<br />414 is a palindrome<br />424 is a palindrome<br />434 is a palindrome<br />444 is a palindrome<br />454 is a palindrome<br />464 is a palindrome<br />474 is a palindrome<br />484 is a palindrome<br />494 is a palindrome<br />505 is a palindrome<br />515 is a palindrome<br />525 is a palindrome<br />535 is a palindrome<br />545 is a palindrome<br />555 is a palindrome<br />565 is a palindrome<br />575 is a palindrome<br />585 is a palindrome<br />595 is a palindrome<br />606 is a palindrome<br />616 is a palindrome<br />626 is a palindrome<br />636 is a palindrome<br />646 is a palindrome<br />656 is a palindrome<br />666 is a palindrome<br />676 is a palindrome<br />686 is a palindrome<br />696 is a palindrome<br />707 is a palindrome<br />717 is a palindrome<br />727 is a palindrome<br />737 is a palindrome<br />747 is a palindrome<br />757 is a palindrome<br />767 is a palindrome<br />777 is a palindrome<br />787 is a palindrome<br />797 is a palindrome<br />808 is a palindrome<br />818 is a palindrome<br />828 is a palindrome<br />838 is a palindrome<br />848 is a palindrome<br />858 is a palindrome<br />868 is a palindrome<br />878 is a palindrome<br />888 is a palindrome<br />898 is a palindrome<br />909 is a palindrome<br />919 is a palindrome<br />929 is a palindrome<br />939 is a palindrome<br />949 is a palindrome<br />959 is a palindrome<br />969 is a palindrome<br />979 is a palindrome<br />989 is a palindrome<br />999 is a palindrome<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-65137839627623287212015-02-14T11:54:00.003-08:002015-02-14T12:12:27.866-08:00Project Euler Problem 1<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">If you are starting to get to grips with Java and would like to use it to solve a mathematical problem, go to <a href="https://projecteuler.net/">Project Euler</a> I joined recently and have just solved problem 1. As usual, click on the image to enlarge it and bring it into focus if you need to:</span></span><br />
<span style="font-size: small;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO6IQe9Md5a1fl7O2sHP8VW-EJDGhz5iPalQFHAl4hEkLOOaqif46gTnz5p90l0Mq-XOWav2-NmjZZ8HFncAdlht2mJhbUIqvMP86FGyhVaNzEpuuYivrp330SKbx3wfsXO5_Q2DiZwLJK/s1600/Screenshot+from+2015-02-14+19:48:12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO6IQe9Md5a1fl7O2sHP8VW-EJDGhz5iPalQFHAl4hEkLOOaqif46gTnz5p90l0Mq-XOWav2-NmjZZ8HFncAdlht2mJhbUIqvMP86FGyhVaNzEpuuYivrp330SKbx3wfsXO5_Q2DiZwLJK/s1600/Screenshot+from+2015-02-14+19:48:12.png" height="240" width="320" /></a></span></div>
<br />Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-72978592767320800692015-02-07T13:12:00.000-08:002015-02-09T10:53:01.976-08:00Java "this" Prefix<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">If you have a class and a constructor method with parameter(s), you might want to use the same names for the variables in the class as you use for the parameters passed to the method. To distinguish between the two, you can prefix the variables belonging to the class with the word <i>this</i>. In the example below, I create a class called <i>Square</i>. It has a variable called <i>width</i>. The constructor method accepts a parameter with the same name. It then displays the value of the parameter and the initial value of the class variable. After that, it assigns the parameter value to the class variable and redisplays the class variable to show that the assignment has worked: </span></span></div>
<div class="yiv1663890380MsoNormal">
<br /></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat Square.java</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">class Square</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double width;</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Square (double width)</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("width = " + width);</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("this.width = " + this.width);</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("Assigning parameter value");</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> this.width = width;</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("this.width = " + this.width);</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > javac Square.java </span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat SquareExample.java</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">public class SquareExample</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> public static void main(String args[])</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Square s1 = new Square(5);</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > javac SquareExample.java</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > java SquareExample</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">width = 5.0</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">this.width = 0.0</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Assigning parameter value</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">this.width = 5.0</span></span></div>
<div class="yiv1663890380MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java ></span></span></div>
Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-51039986003613025962015-02-04T12:43:00.003-08:002015-02-04T12:43:46.134-08:00Overloaded Java Constructors<div class="yiv9498460468MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The example below shows a class with an overloaded constructor:</span></span></div>
<div class="yiv9498460468MsoNormal">
<br /></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat Rectangle.java</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">class Rectangle</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double width;</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double height;</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle()</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> width = 2;</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> height = 3;</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle(double w, double h)</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> width = w;</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> height = h;</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > javac Rectangle.java</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Arial","sans-serif";">Java ></span></span></div>
<div class="yiv9498460468MsoNormal">
<br /></div>
<div class="yiv9498460468MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">If
you have a class like this, when you create members, you have a choice.
You can accept the default settings or you can override them by
supplying parameters. In the example below, <i>r1</i> takes the default settings whereas <i>r2</i> uses parameters to change the <i>width</i> to 4 and the <i>height</i> to 5:</span></span></div>
<div class="yiv9498460468MsoNormal">
<br /></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat RectangleExample.java</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">public class RectangleExample</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> public static void main(String args[])</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle r1 = new Rectangle();</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("r1 width = " + r1.width);</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("r1 height = " + r1.height);</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle r2 = new Rectangle(4,5);</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("r2 width = " + r2.width);</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("r2 height = " + r2.height);</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> </span><span lang="FR" style="font-family: "Courier New";">}</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";">Java > javac RectangleExample.java</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";">Java > java RectangleExample</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">r1 width = 2.0</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">r1 height = 3.0</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">r2 width = 4.0</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">r2 height = 5.0</span></span></div>
<div class="yiv9498460468MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java ></span></span></div>
Unknownnoreply@blogger.com1West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-64847606773732214122015-02-03T23:47:00.000-08:002015-02-03T23:47:16.586-08:00Java Constructors<div class="yiv5867366913MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">If you have a class called, for example, <i>Rectangle</i>, you can add a method to it with the same name as the class. This method must have no return type, not even <i>void. </i>It is called a <i>constructor</i>. Here is an example:</span></span></div>
<div class="yiv5867366913MsoNormal">
<br /></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat Rectangle.java</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">class Rectangle</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double width;</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double height;</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle()</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> width = 2;</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> height = 3;</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > javac Rectangle.java</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Arial","sans-serif";">Java ></span></span></div>
<div class="yiv5867366913MsoNormal">
<br /></div>
<div class="yiv5867366913MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The
purpose of a constructor is to give default values to a class member
when it is created. You can see what I mean below, where an instance of <i>Rectangle</i> is created. It automatically has a <i>width</i> of 2 and a <i>height</i> of 3:</span></span></div>
<div class="yiv5867366913MsoNormal">
<br /></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat RectangleExample.java</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">public class RectangleExample</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> public static void main(String args[])</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle r1 = new Rectangle();</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("width = " + r1.width);</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("height = " + r1.height);</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> </span><span lang="FR" style="font-family: "Courier New";">}</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";">Java > javac RectangleExample.java</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";">Java > java RectangleExample</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">width = 2.0</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">height = 3.0</span></span></div>
<div class="yiv5867366913MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java ></span></span></div>
Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-28565196317514806592015-02-02T00:19:00.001-08:002015-02-02T00:19:38.397-08:00Java Curly Braces<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">I wanted to produce the output below 5 times:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Flip</span></span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Flop</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">So I tried to do it like this:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat Curly_Braces1.java<br />class Curly_Braces1<br /> {<br /> public static void main(String args[])<br /> {<br /> for (int x=1; x<=5; x++)<br /> System.out.println("Flip");<br /> System.out.println("Flop");<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Curly_Braces1.java<br />andrew@UBUNTU:~/Java$ java Curly_Braces1<br />Flip<br />Flip<br />Flip<br />Flip<br />Flip<br />Flop<br />andrew@UBUNTU:~/Java$</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Java only executes one line of code each time a <i>for loop</i> executes. The line displaying <i>Flop</i> was therefore only executed once, after the <i>for loop</i> had finished.</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">To achieve the desired effect, I started the code to be executed with a left-hand curly brace and finished it with a right-hand curly brace. Java then treated the two lines as a single block of code and executed them both for every iteration of the loop:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat Curly_Braces2.java<br />class Curly_Braces2<br /> {<br /> public static void main(String args[])<br /> {<br /> for (int x=1; x<=5; x++)<br /> {<br /> System.out.println("Flip");<br /> System.out.println("Flop");<br /> }<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Curly_Braces2.java<br />andrew@UBUNTU:~/Java$ java Curly_Braces2<br />Flip<br />Flop<br />Flip<br />Flop<br />Flip<br />Flop<br />Flip<br />Flop<br />Flip<br />Flop<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-40781075998823827742015-02-01T09:39:00.000-08:002015-02-01T09:39:13.995-08:00Java is Case Sensitive<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Java is case sensitive so you can have two different variables in a program, one called <i>xyz</i> and another called <i>XYZ</i>. You can see what I mean in the example below:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat Case_Sensitive.java<br />class Case_Sensitive <br /> {<br /> public static void main(String args[])<br /> {<br /> int xyz = 123;<br /> int XYZ = 234;<br /> System.out.println("xyz = " + xyz);<br /> System.out.println("XYZ = " + XYZ);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Case_Sensitive.java<br />andrew@UBUNTU:~/Java$ java Case_Sensitive<br />xyz = 123<br />XYZ = 234<br />andrew@UBUNTU:~/Java$ </span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-78196551772346280602015-01-31T09:52:00.001-08:002015-01-31T10:01:16.420-08:00More About the Java Return Statement<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The <i>return</i> statement does not have to pass a value back at all. It can just be used to return control to the calling program. Once a <i>return</i> statement has been executed, the code which follows it is not executed. You can see what I mean in the example below:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat Number_Check.java<br />public class Number_Check<br /> {<br /> public void check_number(int a)<br /> {<br /> if (a < 10)<br /> {<br /> System.out.println(a + " < 10");<br /> return;<br /> }<br />// The next line is ignored if the number supplied<br />// is less than 10:<br /> System.out.println(a + " >= 10");<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Number_Check.java<br />andrew@UBUNTU:~/Java$ </span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat Number_Check_Test.java<br />class Number_Check_Test<br /> {<br /> public static void main(String args[])<br /> {<br /> Number_Check x = new Number_Check();<br /> x.check_number(9);<br /> x.check_number(10);<br /> x.check_number(11);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Number_Check_Test.java<br />andrew@UBUNTU:~/Java$ java Number_Check_Test<br />9 < 10<br />10 >= 10<br />11 >= 10<br />andrew@UBUNTU:~/Java$</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">However, if the compiler sees code which will NEVER execute, it returns a compilation error:</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat Another_Number_Check.java<br />public class Another_Number_Check<br /> {<br /> public void check_number(int a)<br /> {<br /> if (a < 10)<br /> {<br /> System.out.println(a + " < 10");<br /> return;<br /> }<br /> else<br /> {<br /> System.out.println(a + " >= 10");<br /> return;<br /> }<br /> System.out.println("This line is ignored");<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Another_Number_Check.java<br />Another_Number_Check.java:15: unreachable statement<br /> System.out.println("This line is ignored");<br /> ^<br />1 error<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-42253158777268808872015-01-29T12:27:00.001-08:002015-01-29T12:27:53.502-08:00How to Return Values From a Java Method<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">This example is based on an earlier post but I have changed it to show how a method can return a value. The first part creates a class called <i>Square</i>:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat Square.java<br />public class Square<br /> {<br /> double width;<br /> public void display_area()<br /> {<br />// The next line calls the <i>calculate_area</i> method.<br />// The value returned is assigned to <i>area</i>:<br /> double area = calculate_area();<br /> System.out.println("Area = " + area);<br /> }<br />// The word <i>double</i> in the next line tells you<br />// that this method returns a double value:<br /> private double calculate_area()<br /> {<br /> double area = width * width;<br />// The next line returns the value:<br /> return area;<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Square.java<br />andrew@UBUNTU:~/Java$</span></span><span style="font-size: small;"> </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The second part creates a member of the <i>Square</i> class and calls the methods which calculate and display its area:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat SquareExample.java<br />class SquareExample<br /> {<br /> public static void main(String args[])<br /> {<br /> Square my_square = new Square();<br /> my_square.width = 5;<br /> my_square.display_area();<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac SquareExample.java<br />andrew@UBUNTU:~/Java$ java SquareExample<br />Area = 25.0<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-12898968406645032082015-01-27T12:40:00.003-08:002015-01-27T12:46:45.338-08:00Java Method Overloading<div class="yiv0990431751MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">At this stage, I don’t know why you would want to do this, but Java allows <i>method overloading</i>. This means that you can have two or more methods with the same name:</span><br />
<br />
<span style="font-family: "Courier New";">Java > cat my_class.java</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">class my_class</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> </span><span lang="FR" style="font-family: "Courier New";">{</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> public void multiply (int x, int y)</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> {</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> int a = x * y;</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> </span><span style="font-family: "Courier New";">System.out.println("a = " + a);</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> </span><span lang="FR" style="font-family: "Courier New";">}</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> public void multiply (int x, int y, int z)</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> {</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> int b = x * y * z;</span></div>
<div class="yiv0990431751MsoNormal">
<span lang="FR" style="font-family: "Courier New";"> </span><span style="font-family: "Courier New";">System.out.println("b = " + b);</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> public void multiply (double x, double y)</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> double c = x * y;</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> System.out.println("c = " + c);</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">Java > javac my_class.java</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Arial", "sans-serif";">Java ></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">The only difference the outside world can see between these methods is in the number and type(s) of parameters they expect to receive. When you use an overloaded method, you let Java know which version to use by passing the parameters it requires:</span><br />
<br />
<span style="font-family: "Courier New";">Java > cat test_my_class.java</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">public class test_my_class</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> public static void main(String args[])</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> my_class my_class1 = new my_class();</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> int i=2, j=3, k=4;</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> double m=2.5, n=3;</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> my_class1.multiply (i, j);</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> my_class1.multiply (i, j, k);</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> my_class1.multiply (m, n);</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">Java > javac test_my_class.java</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">Java > java test_my_class</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">a = 6</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">b = 24</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">c = 7.5</span></div>
<div class="yiv0990431751MsoNormal">
<span style="font-family: "Courier New";">Java ></span></div>
Unknownnoreply@blogger.com1West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-52353323918841730002015-01-26T13:26:00.001-08:002015-01-26T13:26:22.440-08:00Primitive Data Types are Passed to Methods by Value in Java<div class="yiv8865467953MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">I created a class called <i>my_class</i> with a method called <i>times_two</i>. The method accepts an integer and multiplies it by 2:</span></div>
<div class="yiv8865467953MsoNormal">
<br /></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java > cat my_class.java</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">public class my_class</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> public void times_two(int a)</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> a = a * 2;</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> System.out.println("a = " + a);</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java > javac my_class.java</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java ></span></div>
<div class="yiv8865467953MsoNormal">
<br /></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">I created a program called <i>test_my_class</i>. This sets up an instance of <i>my_class</i> called <i>b</i>. It then creates an integer variable called <i>x</i> and gives it a values of 2. Next, it passes <i>x</i> as a parameter to the <i>times_two</i> method, which multiplies it by 2 to give 4. Finally, it displays the original value, which is still 2. This is because the value of <i>x</i> is passed to the method, not a reference to its location in memory.</span></div>
<div class="yiv8865467953MsoNormal">
<br /></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java > cat test_my_class.java</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">public class test_my_class</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> public static void main(String args[])</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> {</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> my_class b = new my_class();</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> int x = 2;</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> b.times_two(x);</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> System.out.println("x = " + x);</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";"> }</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java > javac test_my_class.java</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java > java test_my_class</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">a = 4</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">x = 2</span></div>
<div class="yiv8865467953MsoNormal">
<span style="font-family: "Courier New";">Java ></span></div>
Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-22429005178781454082015-01-26T11:45:00.000-08:002015-01-26T11:45:00.153-08:00A Java Private Method<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">In this example I create a class called <i>Square</i>. It has a public method called <i>display_area</i>. This has to call a private method called <i>calculate_area</i> before it can display the result. Private methods are only accessible from within the class which contains them:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace; font-size: small;">andrew@UBUNTU:~/Java$ cat Square.java<br />public class Square<br /> {<br /> double width;<br /> double area;<br /> public void display_area()<br /> {<br /> calculate_area();<br /> System.out.println("Area = " + area);<br /> }<br /> private void calculate_area()<br /> {<br /> area = width * width;<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Square.java<br />andrew@UBUNTU:~/Java$</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">I create a program to define a square and display its area (I have shown you a similar example already):</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace; font-size: small;">andrew@UBUNTU:~/Java$ cat SquareExample1.java<br />class SquareExample1<br /> {<br /> public static void main(String args[])<br /> {<br /> Square my_square = new Square();<br /> my_square.width = 5;<br /> my_square.display_area();<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac SquareExample1.java<br />andrew@UBUNTU:~/Java$ java SquareExample1<br />Area = 25.0<br />andrew@UBUNTU:~/Java$</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">However, when I try to execute the <i>calculate_area</i> method directly from outside the class, Java returns a compilation error as the method concerned is private:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace; font-size: small;">andrew@UBUNTU:~/Java$ cat SquareExample2.java<br />class SquareExample2<br /> {<br /> public static void main(String args[])<br /> {<br /> Square my_square = new Square();<br /> my_square.width = 5;<br /> my_square.calculate_area();<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac SquareExample2.java<br />SquareExample2.java:7: calculate_area() has private access in Square<br /> my_square.calculate_area();<br /> ^<br />1 error<br />andrew@UBUNTU:~/Java$</span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-48927985109247555042015-01-25T11:10:00.002-08:002015-01-25T11:10:35.245-08:00Java System.out.write<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">I decided to try displaying a character on my screen using <i>System.out.write</i>. It accepts an integer parameter, which can even contain a letter, which seems strange to me. I could not get it to work at first:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat prog82.java<br />public class prog82 <br /> {<br /> public static void main(String args[])<br /> {<br /> int x = 'Y';<br /> System.out.write(x);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac prog82.java<br />andrew@UBUNTU:~/Java$ java prog82<br />andrew@UBUNTU:~/Java$</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">I found that I had to include a new line to force Java to display the output:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat prog83.java<br />public class prog83 <br /> {<br /> public static void main(String args[])<br /> {<br /> int x = 'Y';<br /> System.out.write(x);<br /> System.out.write('\n');<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac prog83.java<br />andrew@UBUNTU:~/Java$ java prog83<br />Y<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-26915209618950286212015-01-24T12:35:00.000-08:002015-01-24T12:35:10.879-08:00How to Pass Parameters to a Java Method<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">I created a simple class called <i>two_numbers</i> with a method called <i>show_greater</i>. The method accepts two integer parameters and displays the larger:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat two_numbers.java<br />public class two_numbers<br /> {<br /> public void show_greater(int arg1, int arg2)<br /> {<br /> int greater = arg1;<br /> if (arg2 > arg1) greater = arg2;<br /> System.out.println(greater);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac two_numbers.java<br />andrew@UBUNTU:~/Java$</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Then I created a program called <i>two_numbers_test</i>. This declares an object called <i>compare</i> in the <i>two_numbers</i> class. It then calls the <i>show_greater</i> method three times, comparing two integers each time to see which one is bigger:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat two_numbers_test.java<br />public class two_numbers_test<br /> {<br /> public static void main(String args[])<br /> {<br /> two_numbers compare = new two_numbers();<br /> compare.show_greater(0,1);<br /> compare.show_greater(2,1);<br /> compare.show_greater(3,3);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac two_numbers_test.java<br />andrew@UBUNTU:~/Java$ java two_numbers_test<br />1<br />2<br />3<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-67426676383760181682015-01-23T14:30:00.002-08:002015-01-23T14:30:37.465-08:00Can You Change a Java String?<span style="font-family: Arial,Helvetica,sans-serif;">I read in a book that once you have created a Java <i>String</i>, you cannot change it so I decided to try it out myself:</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat string_test.java<br />public class string_test<br /> {<br /> public static void main(String args[])<br /> {<br /> String str1 = "Andrew ";<br /> str1 = str1 + "was here";<br /> System.out.println("str1 = " + str1);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac string_test.java<br />andrew@UBUNTU:~/Java$ java string_test<br />str1 = Andrew was here<br />andrew@UBUNTU:~/Java$</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">At first glance, it looks as if you CAN change a String variable so I did a bit more reading. It seems that when you change a String, you are not altering the original variable. You are really creating a new variable to hold the updated value. If I can find some way to prove or disprove this statement, I will return to this post and update it accordingly.</span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-73918044944815800622015-01-22T12:43:00.000-08:002015-01-22T12:45:17.270-08:00How to See Which Version of Java You Are Using<div class="yiv4052310994MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;"><span lang="FR" style="font-size: small;">You can do this with the <i>–version</i> parameter as shown in the examples below, which came from three different machines:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span lang="FR" style="font-size: small;">Java > java -version</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span lang="FR" style="font-size: small;">java version "1.5.0_25"</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_25-b03)</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Java HotSpot(TM) Server VM (build 1.5.0_25-b03, mixed mode)</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Java ></span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"> </span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span lang="FR" style="font-size: small;">C:\Users\J0294094>java -version</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span lang="FR" style="font-size: small;">java version "1.6.0_38"</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Java(TM) SE Runtime Environment (build 1.6.0_38-b05)</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)</span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"> </span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">C:\Users\J0294094></span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;"><br /></span></span></div>
<div class="yiv4052310994MsoNormal">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ java -version<br />java version "1.6.0_27"<br />OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-0ubuntu1~12.04.1)<br />OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)<br />andrew@UBUNTU:~/Java$ </span></span></div>
Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-17351632179040264202015-01-21T13:17:00.001-08:002015-01-21T13:17:14.716-08:00Java Constants<span style="font-family: Arial,Helvetica,sans-serif;">If you want to declare a constant in Java, you can do so with the <i>final</i> field modifier:</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat Constant1.java<br />public class Constant1<br /> {<br /> public static void main(String args[])<br /> {<br /> final double PI = 3.14;<br /> System.out.println("PI = " + PI);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Constant1.java<br />andrew@UBUNTU:~/Java$ java Constant1<br />PI = 3.14<br />andrew@UBUNTU:~/Java$</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">If you try to change one of these variables, you get a compilation error:</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat Constant2.java<br />public class Constant2<br /> {<br /> public static void main(String args[])<br /> {<br /> final double PI = 3.14;<br /> System.out.println("PI = " + PI);<br /> PI = 22/7;<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Constant2.java<br />Constant2.java:7: cannot assign a value to final variable PI<br /> PI = 22/7;<br /> ^<br />1 error<br />andrew@UBUNTU:~/Java$</span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-71152928808633421882015-01-18T11:50:00.000-08:002015-01-18T11:52:52.239-08:00Java static Variables<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">If a variable in a class is <i>static</i>, it has only one value, which is shared by all members of the class. You can see this in the example below, where I created a class called <i>Tax</i> with a static variable called <i>VAT</i>:</span></span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: small;">andrew@UBUNTU:~/Java$ cat Tax.java<br />public class Tax <br /> {<br /> static double VAT = 10;<br /> }<br />andrew@UBUNTU:~/Java$ javac Tax.java<br />andrew@UBUNTU:~/Java$</span></span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Then I wrote a program to use the class. In this program, I created 2 members called <i>member1</i> and <i>member2</i> and showed that they both had the same VAT value, i,e, 10. I changed member1.VAT to 11 and showed that member2.VAT changed to 11 too, without a specific assignment. Doing it this way can make your code difficult to follow. An alternative is to modify the static variable by prefixing it with the name of the class. To demonstrate this, I changed Tax.VAT to 12 and checked member1.VAT and member2.VAT to see that they had been altered in the same way:</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat Tax_test.java<br />public class Tax_test<br /> {<br /> public static void main(String args[])<br /> {<br /> Tax member1 = new Tax();<br /> System.out.println("member1.VAT = " + member1.VAT);<br /> Tax member2 = new Tax();<br /> System.out.println("member2.VAT = " + member2.VAT);<br /> member1.VAT = 11;<br /> System.out.println("member1.VAT = " + member1.VAT);<br /> System.out.println("member2.VAT = " + member2.VAT);<br /> Tax.VAT = 12;<br /> System.out.println("Tax.VAT = " + Tax.VAT);<br /> System.out.println("member1.VAT = " + member1.VAT);<br /> System.out.println("member2.VAT = " + member2.VAT);<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Tax_test.java<br />andrew@UBUNTU:~/Java$ java Tax_test<br />member1.VAT = 10.0<br />member2.VAT = 10.0<br />member1.VAT = 11.0<br />member2.VAT = 11.0<br />Tax.VAT = 12.0<br />member1.VAT = 12.0<br />member2.VAT = 12.0<br />andrew@UBUNTU:~/Java$</span> </span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-21549312544318983602015-01-17T11:48:00.000-08:002015-01-17T11:48:10.654-08:00A Java Class with a Method<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">A Java class can have a <i>method</i>. This is a piece of code which can be used on members of the class. In the example below, a class called <i>Square</i> is created. The Square class has a method called <i>display_area</i>, which calculates and displays the area of the square: </span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat Square.java<br />public class Square<br /> {<br /> double width;<br /> double area;<br /> public void display_area()<br /> {<br /> area = width * width;<br /> System.out.println("Area = " + area);<br /> }<br /> }<br />class SquareExample<br /> {<br /> public static void main(String args[])<br /> {<br /> Square my_square = new Square();<br /> my_square.width = 5;<br /> my_square.display_area();<br /> }<br /> }<br />andrew@UBUNTU:~/Java$ javac Square.java<br />andrew@UBUNTU:~/Java$ java SquareExample<br />Area = 25.0<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-965897809729090802015-01-16T12:09:00.000-08:002015-01-16T12:17:35.399-08:00A Simple Example with a Class and 1 Object<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Arial","sans-serif";">As
I am a retired COBOL programmer, I don’t know anything about Object
Oriented programming so please forgive me if this example seems a bit
elementary. <i>Classes</i> are templates for real-life objects. In the example below, a <i>Rectangle</i> class is created. Each <i>object</i> in this class (i.e. each rectangle) has a <i>width</i> and a <i>height</i>. These are called <i>instance variables</i>. An object called <i>my_rectangle</i> is created in the Rectangle class and its width and height are supplied. Finally, a variable called <i>area</i> is created, calculated and displayed: </span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Arial","sans-serif";"> </span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java > cat Rectangle.java</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">class Rectangle</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double width;</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double height;</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">class RectangleExample</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> public static void main(String args[])</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> {</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> Rectangle my_rectangle = new Rectangle();</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> double area;</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> my_rectangle.width = 3;</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> my_rectangle.height = 4;</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> area = my_rectangle.width * my_rectangle.height;</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> System.out.println("Area = " + area);</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";"> </span><span lang="FR" style="font-family: "Courier New";">}</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";"> }</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";">Java > javac Rectangle.java</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span lang="FR" style="font-family: "Courier New";">Java > java RectangleExample</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Area = 12.0</span></span></div>
<div class="yiv4231008202MsoNormal">
<span style="font-size: small;"><span style="font-family: "Courier New";">Java ></span></span></div>
Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-91643813145971295352015-01-14T11:27:00.000-08:002015-01-18T10:58:41.093-08:00Division by Zero in Java<div class="yiv8482285191MsoNormal">
<span style="font-family: "Arial","sans-serif"; font-size: small;">Java does not stop you dividing by zero but, if you try, it gives you a run-time error:</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-size: small;"> </span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java > cat prog81.java</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">public class prog81</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">{</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">public static void main (String args[])</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> {</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> int x = 1/0;</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> System.out.println("x = " + x);</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span><span lang="FR" style="font-family: "Courier New"; font-size: small;">}</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">}</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">Java > javac prog81.java</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">Java > java prog81</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Exception in thread "main" java.lang.ArithmeticException: / by zero</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> at prog81.main(prog81.java:5)</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java ></span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Arial","sans-serif"; font-size: small;">You can trap these errors and handle them tidily as shown below. This stops your program falling over:</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java > cat prog82.java</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">public class prog82</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">{</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">public static void main (String args[])</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> {</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> try</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> {</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> System.out.println("Dividing 1 by 0");</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> int x = 1/0;</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> System.out.println("x = " + x);</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> }</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> catch (ArithmeticException e)</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> {</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> System.out.println("Division by zero not allowed");</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> }</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> try</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> {</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> System.out.println("Dividing 1 by 1");</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span><span lang="ES" style="font-family: "Courier New"; font-size: small;">int y = 1/1;</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="ES" style="font-family: "Courier New"; font-size: small;"> System.out.println("y = " + y);</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="ES" style="font-family: "Courier New"; font-size: small;"> </span><span style="font-family: "Courier New"; font-size: small;">}</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> catch (ArithmeticException e)</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> {</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> System.out.println("Division by zero not allowed");</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span><span lang="FR" style="font-family: "Courier New"; font-size: small;">}</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;"> }</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">}</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">Java > javac prog82.java</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">Java > java prog82</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Dividing 1 by 0</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Division by zero not allowed</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Dividing 1 by 1</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">y = 1</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java ></span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Arial","sans-serif"; font-size: small;">However, if you divide 1.0 by 0.0, the answer is infinity:</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java > cat prog83.java</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">public class prog83</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">{</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">public static void main (String args[])</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;"> </span><span lang="FR" style="font-family: "Courier New"; font-size: small;">{</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;"> double x = 1.0/0.0;</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;"> System.out.println("x = " + x);</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;"> }</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">}</span></div>
<div class="yiv8482285191MsoNormal">
<span lang="FR" style="font-family: "Courier New"; font-size: small;">Java > javac prog83.java</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java > java prog83</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">x = Infinity</span></div>
<div class="yiv8482285191MsoNormal">
<span style="font-family: "Courier New"; font-size: small;">Java ></span><br />
<span style="font-size: small;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif; font-size: small;">... and, if you divide 0.0 by 0.0, the answer is <i>NaN</i> (<i>not a number</i>):</span><br />
<span style="font-size: small;"><br /></span>
<span style="font-size: small;"><span style="font-family: "Courier New";">andrew@UBUNTU:~/Java$ cat prog84.java<br />public class prog84<br />{<br />public static void main (String args[])<br /> {<br /> double x = 0.0/0.0;<br /> System.out.println("x = " + x);<br /> }<br />}<br />andrew@UBUNTU:~/Java$ javac prog84.java<br />andrew@UBUNTU:~/Java$ java prog84<br />x = NaN<br />andrew@UBUNTU:~/Java$ </span></span></div>
Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-9358336536029760102015-01-13T12:44:00.000-08:002015-01-13T12:45:39.510-08:00equals And equalsIgnoreCase In Java<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">If you want to make a case sensitive comparison between two string variables in Java, you can do so using <i>equals</i> as shown in prog80 below:</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat prog80.java<br />public class prog80<br />{<br />public static void main (String args[])<br /> {<br /> String andrew = "andrew";<br /> String ANDREW = "ANDREW";<br /> if (andrew.equals(ANDREW))<br /> System.out.println("andrew = ANDREW");<br /> else<br /> System.out.println("andrew != ANDREW");<br /> }<br />}<br />andrew@UBUNTU:~/Java$ javac prog80.java<br />andrew@UBUNTU:~/Java$ java prog80<br />andrew != ANDREW<br />andrew@UBUNTU:~/Java$</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">If you need to do a case insensitive comparison, you can use <i>equalsIgnoreCase</i> instead:</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat prog81.java<br />public class prog81<br />{<br />public static void main (String args[])<br /> {<br /> String andrew = "andrew";<br /> String ANDREW = "ANDREW";<br /> if (andrew.equalsIgnoreCase(ANDREW))<br /> System.out.println("andrew = ANDREW");<br /> else<br /> System.out.println("andrew != ANDREW");<br /> }<br />}<br />andrew@UBUNTU:~/Java$ javac prog81.java<br />andrew@UBUNTU:~/Java$ java prog81<br />andrew = ANDREW<br />andrew@UBUNTU:~/Java$</span></span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-81903783848278085722015-01-10T10:43:00.001-08:002015-01-10T10:43:11.409-08:00Is Java Slower Than C?<span style="font-family: Arial,Helvetica,sans-serif;">I have seen this suggested before so I decided to check it out on my own PC. I built it myself 11 years ago and it has a Celeron processor. Nothing else was running on the machine at the time. I wrote the C program below and used it to count to 1 billion. It took 12 seconds:</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat prog79.c<br />#include <stdio.h><br />void main(void)<br />{<br />double x=0;<br />long a,b;<br />for (a=1;a<=10000;a++)<br /> {<br /> for (b=1;b<=100000;b++)<br /> {<br /> x++;<br /> }<br /> }<br />printf("x = %e ", x);<br />}<br />andrew@UBUNTU:~/Java$ cc -o prog79.o prog79.c<br />andrew@UBUNTU:~/Java$ date;./prog79.o;date<br />Sat Jan 10 18:31:43 GMT 2015<br />x = 1.000000e+09 Sat Jan 10 18:31:55 GMT 2015<br />andrew@UBUNTU:~/Java$</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">I wrote the same program in Java and it only took 3 seconds so, on the basis of this test at least, Java is not slower than C: </span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat prog79.java<br />public class prog79<br />{<br />public static void main (String args[])<br /> {<br /> double x=0;<br /> long a,b;<br /> for (a=1;a<=10000;a++)<br /> {<br /> for (b=1;b<=100000;b++)<br /> {<br /> x++;<br /> }<br /> }<br /> System.out.println("x = " + x);<br /> }<br />}<br />andrew@UBUNTU:~/Java$ javac prog79.java<br />andrew@UBUNTU:~/Java$ date;java prog79;date<br />Sat Jan 10 18:39:00 GMT 2015<br />x = 1.0E9<br />Sat Jan 10 18:39:03 GMT 2015<br />andrew@UBUNTU:~/Java$</span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113tag:blogger.com,1999:blog-7159285991304457810.post-87636892415672226082015-01-10T00:54:00.001-08:002015-01-10T00:54:23.711-08:00Java break Statement<span style="font-family: Arial,Helvetica,sans-serif;">The Java <i>break</i> statement allows you to terminate a loop. Here are a couple of examples:</span><br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">andrew@UBUNTU:~/Java$ cat prog78.java<br />public class prog78<br />{<br />public static void main (String args[])<br /> {<br /> for (int a=1;a<10;a++)<br /> {<br /> System.out.println("a = " + a);<br /> if (a > 4)<br /> {<br /> System.out.println("BREAK");<br /> break;<br /> }<br /> }<br /> int b=0;<br /> while (true)<br /> {<br /> System.out.println("b = " + b);<br /> b++;<br /> if (b > 3)<br /> {<br /> System.out.println("BREAK");<br /> break;<br /> }<br /> }<br /> }<br />}<br />andrew@UBUNTU:~/Java$ javac prog78.java<br />andrew@UBUNTU:~/Java$ java prog78<br />a = 1<br />a = 2<br />a = 3<br />a = 4<br />a = 5<br />BREAK<br />b = 0<br />b = 1<br />b = 2<br />b = 3<br />BREAK<br />andrew@UBUNTU:~/Java$</span>Unknownnoreply@blogger.com0West Sussex, UK50.9280143 -0.4617074999999886150.2877103 -1.7526009999999885 51.5683183 0.8291860000000113