06 Java Fundamentals | Output in Java | By Dummy for Dummies
06 Java Fundamentals | Output in Java | By Dummy for Dummies
OUTPUT IN JAVA
So, fellow monkeys we learned taking input, now let's talk about giving output on screen. We are already familiar with print though, i.e:
System.out.println("Hello, World!");
This same line is used for every output but with a bit modifications for different purposes. They are as follow (we will be focusing on golden lines):
1. SIMPLE OUTPUT
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 printed
Another 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 the content on different lines for better representation.
2. OUTPUT WITH NEXT LINE
public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } }
println= Print the content ahead and go to next line
3. OUTPUT WITH VARIABLE
public 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 datatype
4. FORMATTED OUTPUT
Using formatted output you can output anything in specific design. Here the concatenation using + does not work. Here is 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
Placeholders for each datatype
| Placeholder | Datatype |
|---|---|
%d | Integer |
%f | Double / Float |
%c | Character |
%s | String |
%b | Boolean |
Extra things for styling
\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 it
Complete Example
public 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"); } }
EXERCISE
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(); } }
MINI PROJECT: Student Report Card
Your project is to create a simple Java program that works like a student report card. The program should ask the user for the student's name and marks of three subjects (integers or decimals). It should calculate the total and the average of the marks. It should decide whether the student has passed or failed. The rule is: Pass if the average is 40 or more, and none of the marks is zero.
Finally, the program should print a formatted report using printf. The report must include:
- Student's name
- Each subject mark
- Total marks
- Average (2 decimal places)
- Result: PASS or FAIL
While writing the program, make sure you use a Scanner method for each datatype you use plus Arithmetic, relational, logical operators and printf with placeholders like %s, %d, %.2f.
EXAMPLE OUTPUT
CLOSING
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.