By Dummy for Dummies
Alright, fellow monkeys, we've learned how to take input. Now let's talk about giving output back. You already know print from earlier:
System.out.println("Hello, World!");
That same line handles every kind of output, just with small changes depending on what you need. Here they are, with the golden lines in focus:
public class Main { public static void main(String[] args) { System.out.print("Hello, World!"); } }
System.out: System gives outputprint: Print the content ahead("Hello, World!"): The content inside bracket is printedAnother way to print it is:
public class Main { public static void main(String[] args) { System.out.print("Hello"); System.out.print("World"); } }
Therefore, we need a way to print content across different lines for better readability.
public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } }
println: Print the content ahead and go to next linepublic class Main { public static void main(String[] args) { int age = 20; System.out.println("Your age: " + age); } }
"Your age: ": Prints this as it is+: Join the content on right to content on left (called concatenation)age: Joins whatever is inside the variable as it is no matter what datatypeFormatted output lets you print things in a specific layout. Concatenation with + doesn't work here. Here's a demonstration:
public class Main { public static void main(String[] args) { int age = 20; System.out.printf("Your age: %d", age); } }
"Your age: ": Prints this as it is%d: Reserve space for integer variable,: Tells Java to place the variables on right in reserved spacesage: Variable that is to be placed in reserved places| Placeholder | Datatype |
|---|---|
%d | Integer |
%f | Double / Float |
%c | Character |
%s | String |
%b | Boolean |
\n: Since println does not work here we use \n for next line\t: Prints tab space\": Since quotations are used to represent string, to print quotation inside string use backslash with them\\: To print a backslash use another backslash with itpublic class OutputDemo { public static void main(String[] args) { int age = 20; double gpa = 3.75; char grade = 'A'; String name = "Hassan"; boolean pass = true; System.out.printf("Student Details:\n"); System.out.printf("Name:\t%s\n", name); System.out.printf("Age:\t%d\n", age); System.out.printf("GPA:\t%.2f\n", gpa); System.out.printf("Grade:\t%c\n", grade); System.out.printf("Passed:\t%b\n", pass); System.out.printf("Quote Example:\t\"Work hard, dream big!\"\n"); System.out.printf("Backslash Example:\tC:\\Users\\Hassan\n"); } }
We have covered enough topics to go for an exercise. In this exercise I want you to study this code, break it down, analyze it and identify the concepts used here. It would be even better if you write down your observations and make a mini report on it. You can extend the program to accept a second student and print both reports.
import java.util.Scanner; public class Exercise { public static void main(String[] args) { System.out.println("Welcome to Java Fundamentals Exercise!"); System.out.println("Let's practice everything we have learned so far.\n"); String name; int age; double gpa; char grade; boolean pass; Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); name = input.nextLine(); System.out.print("Enter your age: "); age = input.nextInt(); System.out.print("Enter your GPA: "); gpa = input.nextDouble(); System.out.print("Enter your grade (A-F): "); grade = input.next().charAt(0); System.out.print("Did you pass the last exam? (true/false): "); pass = input.nextBoolean(); System.out.println("\n GENERATING REPORT\n"); int nextYearAge = age + 1; boolean isAdult = age >= 18; boolean eligible = isAdult && pass; System.out.printf("Student Report for %s\n", name); System.out.printf("Age: %d (Next year: %d)\n", age, nextYearAge); System.out.printf("GPA: %.2f\n", gpa); System.out.printf("Grade: %c\n", grade); System.out.printf("Passed: %b\n", pass); System.out.printf("Are you an adult? %b\n", isAdult); System.out.printf("Eligible for next level? %b\n", eligible); input.close(); } }
Build a Java program that works like a student report card. It should:
Finally, print a formatted report using printf. The report must include:
While writing the program, use a Scanner method for each data type, plus arithmetic, relational, and logical operators, and printf with placeholders like %s, %d, %.2f.
That's it for Output in Java! We now know how to make our program talk back, whether it's a single word, a full sentence, or a nicely formatted report.