/KTU-Java

Learn Java easily. A collection of simple programs primarily focusing on the KTU syllabus for Java

Primary LanguageJavaMIT LicenseMIT

 /$$                                                     /$$   /$$   /$$                     
| $$                                                    | $$  /$$/  | $$                     
| $$        /$$$$$$   /$$$$$$   /$$$$$$  /$$$$$$$       | $$ /$$/  /$$$$$$   /$$   /$$       
| $$       /$$__  $$ |____  $$ /$$__  $$| $$__  $$      | $$$$$/  |_  $$_/  | $$  | $$       
| $$      | $$$$$$$$  /$$$$$$$| $$  \__/| $$  \ $$      | $$  $$    | $$    | $$  | $$       
| $$      | $$_____/ /$$__  $$| $$      | $$  | $$      | $$\  $$   | $$ /$$| $$  | $$       
| $$$$$$$$|  $$$$$$$|  $$$$$$$| $$      | $$  | $$      | $$ \  $$  |  $$$$/|  $$$$$$/       
|________/ \_______/ \_______/|__/      |__/  |__/      |__/  \__/   \___/   \______/          
                                                                                             
                                                                                             
                                                                                             
                            /$$$$$                                                           
                           |__  $$                                                           
                              | $$  /$$$$$$  /$$    /$$  /$$$$$$                             
                              | $$ |____  $$|  $$  /$$/ |____  $$                            
                         /$$  | $$  /$$$$$$$ \  $$/$$/   /$$$$$$$                            
                        | $$  | $$ /$$__  $$  \  $$$/   /$$__  $$                            
                        |  $$$$$$/|  $$$$$$$   \  $/   |  $$$$$$$                            
                         \______/  \_______/    \_/     \_______/                              
                                                                                             
                                                                                             
                                                                                             
 /$$      /$$ /$$   /$$     /$$             /$$$$$$$$                                     /$$
| $$  /$ | $$|__/  | $$    | $$            | $$_____/                                    | $$
| $$ /$$$| $$ /$$ /$$$$$$  | $$$$$$$       | $$        /$$$$$$   /$$$$$$$  /$$$$$$       | $$
| $$/$$ $$ $$| $$|_  $$_/  | $$__  $$      | $$$$$    |____  $$ /$$_____/ /$$__  $$      | $$
| $$$$_  $$$$| $$  | $$    | $$  \ $$      | $$__/     /$$$$$$$|  $$$$$$ | $$$$$$$$      |__/
| $$$/ \  $$$| $$  | $$ /$$| $$  | $$      | $$       /$$__  $$ \____  $$| $$_____/          
| $$/   \  $$| $$  |  $$$$/| $$  | $$      | $$$$$$$$|  $$$$$$$ /$$$$$$$/|  $$$$$$$       /$$
|__/     \__/|__/   \___/  |__/  |__/      |________/ \_______/|_______/  \_______/      |__/  

Made with ❤ by yours truly

Acknowledgement

I would like to start by thanking my teacher Ms.Divya John for giving me the best introduction to the Java world.

Introduction

This repo consists of my work on Java and the simple programs which i had done inorder to learn Java.

To be specific my aim was to familiarize with the APJ Abdul Kalam Technological University's (initially Kerala Technological University(KTU)) syllabus for Java.

Created this repository with the aim of helping out my friends and others to understand the basics of Java and to understand its scope by doing some programs.

Requirements

  1. Java SE Development Kit(JDK) --> Install JDK
  2. For coding make use of IDEs like IntelliJ
    or Text Editors like Sublime Text
    or the classic and powerful command line editor Vim which i use. ¯\_(ツ)_/¯

How to use my repositiory?

Assuming that you've already installed the above requirements and it is in a working condition. Then:-

  1. Fork the repository(optional)
  2. Clone/Download the files into your local machine
    For Linux Users :-
    Set up git in your local machine
    Then from command line create a clone in your local machine by:-
    git clone https://github.com/yedhink/KTU-Java.git
    For Other Users :-
    Follow this documentation

Content

In the programs that I've done, I have covered and most importantly used concepts such as:

  1. Classes and Objects
  2. Operators and their Precedence
  3. Packages
  4. Method Overiding and Overloading
  5. Static Instances
  6. Threads
  7. String
  8. Streams and IO
  9. Exception Handling
  10. AWT
  11. Applet
  12. Swing
  13. File Handling
  14. Event Handling
  15. Data Structures
  16. Interfaces
  17. Arrays
  18. JDBC

A bit about what each directory in my repo has to offer

1) EastKtuMath
	└──── Numerical Integration using Trapezoidal or Simpsons Methods
	└──── Get all the math steps as output (optional)
	└──── Streams for IO 
	└──── An exquisite expression parser included within
	└──── And yes you guessed it right! I used to do all my math assignements this way. :D

2) Threads
	└──── By Runnable Interface 
	└──── By Extending Thread Class
	└──── Runnable Interface in Main
	└──── Synchronization
	└──── Some fine practice problems

3) EventHandling
	└──── Creates a simple login Graphical User Interface(GUI)
	└──── Creates an Applet program to add 2 numbers 
	└──── Covers basics of java.awt,java.applet and some of Swing
	└──── Learn basics of Listeners and Events
	└──── Basics from this required in upcoming programs

4) Overloading and Overriding
	└──── Learn the basics of Overloading,Overriding
	└──── Dynamic Method Dispatching 
	└──── What's super() and what is "this"? You will see
	└──── Basics of jump statements
	└──── Interfaces and Implementation
	└──── Basics of Packages
	└──── File Handling basics

5) S3CsSgpa      
	└──── Well? Want to apply what you've learnt? This is your opportunity. 
	└──── Creates a simple GUI to find your SGPA
	└──── Sorting 
	└──── Data Structures 
	└──── Provides a great idea on javax.swing(the 'x' matters :p) 
	└──── Love designing? Play with java.awt.Color

6) Data Types And Operators     
	└──── Must needed basics. Dont miss this one.  
	└──── Different Data Types  
	└──── Type Casting  
	└──── Parsing Data Types  
	└──── Assignment  
	└──── Arithmetic
	└──── Unary
	└──── Relational
	└──── TypeComparison 
	└──── Bitwise 
	└──── Conditional 

7) 2darray      
	└──── Learn inputting into a 2d Array 
	└──── Addition of Matrices 
	└──── Multiplication of Matrices 

8) Loops      
	└──── The name itself suggests what this offers :p 
	└──── For loops
	└──── if-else-if statements 

9) Abstract Keyword      
	└──── What is the "abstract" keyword? 
	└──── An example to explain in detail.

10) JDBCTemplate      
	└──── Java Database Connectivity 
	└──── Basics of mysql 
	└──── Basics of JDBC 
	└──── Reading and writing from DB 

What's next?

Now what you waiting for? Compile all the *.java files and run it.

If you're using an IDE like Intellij then i suggest you follow this documentation.

For all others, the most easiest way would be to fire up your Terminal Emulator or Command Line(cmd) for Windows users and change directory (eg:- cd S3CsSgpa) into the one of the directories in my repo.

Then compile into the same directory (which the "." represents) by:

javac -d . *.java

After creating the compiled .class file, just run it using (avoid the .class extension):

java classWhichConsistsOfMainMethod

What if it's part of a Package? No problemo. After compiling, run:

java nameOfPackage.filename

Overviews

Your SGPAs a click away...

Contribute

Have you been looking for open source repositories to contribute? Look no further! You have come to the right place. It's important to stick on to the Contribution guidelines while contributing. Try and complete the TODO list. Let's work together :)

TODO list

  • Java Database Connectivity(JDBC) -> Basics and Implementaion
  • Make the Graphical User Interfaces look better
  • Applets -> Undone since it's deprecated from JDK 9
  • Basics and exmaples of abstract keyword
  • 2-D array and examples
  • Standalone examples for Operators and their Precedence

Contact

Having issues in the program? Open up an issue in the issues counter, so that I could know about it.

Feel free to contact me via Linkedin if you have any questions.

Credits

Oracle Java Documentation, tutorialspoint were great references.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Spread the word

Liked the project? Just give it a star ⭐ and spread the word!