Topics Discussed: Boolean Logic / Operators
Source Code for Lesson 9:
import java.lang.Math; import java.util.Scanner; class Jtutorial1 { public static void main(String args[]){ Scanner input = new Scanner(System.in); // Declare a double, run some tests on it. // Is it even or odd? Is it a perfect square? Is it a whole number? // Is the number squared even? //<, <=, >, >=, || , &&, != double choice=0; boolean isEven=false, isPS=false, isWhole=false, isSquaredEven=false; System.out.println("Enter a value for the variable: "); choice = input.nextDouble(); //even if((choice%2) < 1){ isEven=true; //System.out.println("The number " + choice + " is even prior to the decimal point. "); } else{ isEven=false; //System.out.println("The number " + choice + " is NOT even. "); } //perfect square if(((Math.sqrt(choice))%1) == 0){//sqrt(9) == 3 isPS=true; //System.out.println("The number " + choice + " is a perfect square: " + Math.sqrt(choice)); } else{ isPS=false; //System.out.println("The number " + choice + " is NOT a perfect square: " + Math.sqrt(choice)); } if ((choice%1) == 0){ isWhole=true; //System.out.println("The number " + choice + " is a whole number: "); } else { isWhole=false; //System.out.println("The number " + choice + " is NOT a whole number: "); } if((((Math.pow(choice, 2)))%2) == 0){ isSquaredEven=true; //System.out.println("The number " + choice + " squared is even: "+ Math.pow(choice, 2)); } else{ isSquaredEven=false; //System.out.println("The number " + choice + " squared is NOT even: " + Math.pow(choice, 2)); } if(isEven){ System.out.println("The number is even. "); } if(isPS){ System.out.println("The number is a perfect square. "); } if(isWhole){ System.out.println("The number is whole. "); } if(isSquaredEven){ System.out.println("The number sqared is even. "); } } //End main } //End class
HomeWork for Lesson 9:
/* * See math operations in java here: https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html * Each of these operators can be called like I called Math.pow (ex: Math.abs(variable) ) * * Problems that you should try to solve-- Pick one or more! * A: Allow the user to enter a telephone number, use an if statement to invalidate numbers that are too long / short in length * if the telephone number is within the right length, seperate the numbers appropriately into how they would appear in your * country of origin: Ex. 7818789000 would turn into 781-878-9000 in the USA. (This won't require much but mod / division) * Hint: Use long or double if you need to use a big number. * * B: Write a program that will allow you to input a number to select an operation (output a menu, then allow the user to select one). * In that menu you should be allowing the user to choose a shape (circle, square, rectangle, etc). Once they select it, ask them to * input the dimensions of it (circle can be radius, diameter, circumferece, rectangle can be length, width, perimeter or area.... etc etc.) * Once you have taken in a few points of input, calculate the missing pieces of information. Perhaps someone has a rectangle * where they have the area and the length, but not the width. Using java, figure out what the missing width is. * * C: Extra credit for people that are antsy to get some after the last 2 assignments: * write a program that determines the last digit of 3^n power (3^3 = 27, thus 7). Hint, you can use n%4 to help you on this one. */
Boolean operators
Boolean operators are variables which have two states, “true” or “false” (default is false if you use a simple declaration). These can be used in a variety of ways, but are most typically seen when you need to confirm that something happened in an if statement or a loop (in later lessons). Here’s a few examples:
int empPay1=0; boolean isChanged;//ischanged defaults to false System.out.println("Enter the income for employee 1 that is greater than 0."); empPay1= input.nextInt(); // Enter pay if (empPay1 > 0){// if the value is > 0, meaning it's been changed isChanged=true; } if(isChanged){//if the value has been changed (by the if above) System.out.println("empPay has been changed"); }//You could just use an else here, but instead you could use the following: if(!isChanged){ System.out.println("empPay has not been changed"); }
In the above example I show that booleans can be used in place of the standard if conditionals and used as a simple true / false that is set as part of another conditional. At present these must seem convoluted, but in the future when our variables change around a bit more it will make more sense to use these than other pieces of code.