Java Fundamentals
Java Architecture/Language Basics
FEATURES
FEATURES OF JAVA
Memory access via pointer arithmetic: this is fundamentally unsafe.
Java has a robust security model and disallows pointer arithmetic for
the same reason. It would be impossible for the Virtual Machine to
ensure that code containing pointer arithmetic is safe without
expensive runtime checks.
Security: By not allowing pointers, Java effectively provides another
level of abstraction to the developer. No pointer support make Java
more secure because they point to memory location or used
for memory management that loses the security as we use them
directly.
Why pointer concept not use in java?
JAVAARCHITECTURE
Write the correct order of the Java program execution
A. Class Loader
B. Interpretation
C. Compilation
D. Byte Code Verification
E. Java Source Code
F. Execution
Which of the following is used to load a .class file?
A. Class Loader
B. Byte Code Verifier
C. JIT Compiler
D. Interpreter
Questions based on JAVA architecture
Overview of JDK ,JRE, JVM
JVM (Java Virtual Machine) is an abstract machine. It is called a virtual machine
because it doesn't physically exist. It is a specification that provides a runtime
environment in which Java bytecode can be executed. It can also run those
programs which are written in other languages and compiled to Java bytecode.
JRE is an acronym for Java Runtime Environment. It is also written as Java
RTE. The Java Runtime Environment is a set of software tools which are used for
developing Java applications. It is used to provide the runtime environment. It is
the implementation of JVM. It physically exists. It contains a set of libraries +
other files that JVM uses at runtime.
JDK is an acronym for Java Development Kit. The Java Development Kit (JDK)
is a software development environment which is used to develop Java
applications and applets. It physically exists. It contains JRE + development
tools.
Overview of JDK ,JRE, JVM
QUES
The JDK is a superset of the JRE, and contains everything that is in the
JRE, plus tools such as the compilers and debuggers
necessary for developing applets and applications.
A. TRUE
B. FALSE
JDK JRE JVM
Java application programming interface (API) is a list of all classes that are
part of the Java development kit (JDK). It includes all Java packages,
classes, and interfaces, along with their methods, fields, and constructors.
These prewritten classes provide a tremendous amount of Built-in Packages
The Java API is a library of prewritten classes, that are free to use, included
in the Java Development Environment.
The library contains components for managing input, database programming,
and much much more. The complete list can be found at Oracles
website: https://docs.oracle.com/javase/8/docs/api/.
The library is divided into packages and classes. Meaning you can either
import a single class (along with its methods and attributes), or a whole
package that contain all the classes that belong to the specified package.
To use a class or a package from the library, you need to use
the import keyword.
JAVA API
Sample.java file contains class A, B and C. How many .class files
will be created after compiling Sample.java?
What is your observation?
//Sample.java javac Sample.java A.class B.class C.class
class A {
void m1( ) { }
}
class B {
void m2( ) { }
}
class C {
void m3( ) { }
}
Understanding of .class file concept.
Object - Objects have states and behaviors. Example: A dog has states -
color, name, breed as well as behavior such as wagging their tail, barking,
eating. An object is an instance of a class.
Class - A class can be defined as a template/blueprint that describes the
behavior/state that the object of its type supports.
Methods - A method is basically a behavior. A class can contain many
methods. It is in methods where the logics are written, data is manipulated
and all the actions are executed
Instance - Each object has its unique set of instance variables. An object's
state is created by the values assigned to these instance variables.
Difference between class, object, methods,
and instance variables?
What will be the result if you try to compile and execute the
following program ?
Reason out :
Sample.java
class Sample {
public static void main() {
System.out.println(“Welcome”);
}
}
a. Compilation Error
b. Runtime Error
c. The program compiles and executes successfully but prints
nothing.
d. It will print “Welcome”
Analyze the below program and answer
class Simple {
static public void main(String[] args) {
int i1 = Integer.parseInt(args[0]);
int i2 = Integer.parseInt(args[1]);
System.out.println(i1+i2);
}
}
When we compile the above code successfully and execute
it as Java Simple 10 20, the output will be 30
Accessing numeric command line arguments
Java has a set of keywords that are reserved words that cannot be used as
variables, methods, classes, or any other identifiers.
Example break,abstract,byte,boolean etc
true, false, and null are not keywords, but they are literals and reserved
words that cannot be used as identifiers.
Which statement is true?
Select the one correct answer.
(a) new and delete are keywords in the Java language.
(b) try, catch, and thrown are keywords in the Java language.
(c) static, unsigned, and long are keywords in the Java language.
(d) exit, class, and while are keywords in the Java language.
(e) return, goto, and default are keywords in the Java language.
(f) for, while, and next are keywords in the Java language.
JAVA KEYWORDS
In programming languages, identifiers are used for identification purpose. In
Java, an identifier can be a class name, method name, variable name or a label.
For example :
public class Test { public static void main(String[] args) { int a = 20; } }
Which of the following can be used in a Java program as identifiers? Check all
of the identifiers that are legal.
1. sum_of_data
2. AnnualSalary
3. _average
4. 42isThesolution
5. B4
6. ABC
7. for
8. println
9. "hello"
10. first-name
Answer 1 2 3 5 6 8
Identifiers in java
What is null in Java.
The null is not a keyword. null is a literal as true or false
Can a digit form the first character of an identifier?
No. Only characters are allowed. However they may be used after the first
character.
Explain var keyword in Java.
var keyword is introduced in Java 10 to enhance the Java Language to
extend type inference to declarations of local variables with initializers.
var map = new HashMap<String, Integer>();
Quick test
The Java programming language defines the following kinds of
Variables:
Local Variables
Tied to a method
Scope of a local variable is within the method
Instance Variables (Non-static)
Tied to an object
Scope of an instance variable is the whole class
Static Variables
Tied to a class
Shared by all instances of a class
Difference between local, instance and static variable
public class StudentDetails {
public void StudentAge()
{ // local variable age
int age = 0;
age = age + 5;
}
public static void main(String args[])
{
// using local variable age outside it's scope
System.out.println("Student age is : " + age);
}
}
Output:
Compilation Error in java code :- prog.java:12: error: cannot find symbol
System.out.println("Student age is : " + age); ^ symbol: variable age location: class
StudentDetails 1 error
Understanding the concept of local variable
class variable_scope
{public static void main(String args[])
{
int x;
x = 5;{
int y = 6;
System.out.print(x + " " + y);}
System.out.println(x + " " + y);
} }
Compilation error
Explanation: Second print statement doesn’t have access to y , scope y
was limited to the block defined after initialization of x.
What will be the output of the following Java program?
DATA TYPES
What will be the result, if we try to compile and execute the
following??
code?
class Test {
public static void main(String [ ] ar) {
byte b=128;
System.out.println(b);
}
}
Understanding of data type concepts
class Simple{
public static void main(String[] args){
float f=10.5f;
//int a=f;//Compile time error
int a=(int)f;
System.out.println(f);
System.out.println(a);
}}
O/P
10.5 10
class Simple{
public static void main(String[] args){
int a=10;
float f=a;
System.out.println(a);
System.out.println(f);
}}
Output:
10 10.0
Java Variable Example: Narrowing (Typecasting) and : Widening
Which of the following do not denote a primitive data value in Java? Select
the two correct answers.
(a) "t"
(b) 'k‘
(c) 50.5F
(d) "hello"
(e) false 2.5
Which of the following primitive data types are not integer types? Select the
three correct answers.
(a) boolean
(b) byte
(c) float
(d) short
(e) double
MCQ

DAY_1.1.pptx

  • 1.
  • 2.
  • 3.
    Memory access viapointer arithmetic: this is fundamentally unsafe. Java has a robust security model and disallows pointer arithmetic for the same reason. It would be impossible for the Virtual Machine to ensure that code containing pointer arithmetic is safe without expensive runtime checks. Security: By not allowing pointers, Java effectively provides another level of abstraction to the developer. No pointer support make Java more secure because they point to memory location or used for memory management that loses the security as we use them directly. Why pointer concept not use in java?
  • 4.
  • 5.
    Write the correctorder of the Java program execution A. Class Loader B. Interpretation C. Compilation D. Byte Code Verification E. Java Source Code F. Execution Which of the following is used to load a .class file? A. Class Loader B. Byte Code Verifier C. JIT Compiler D. Interpreter Questions based on JAVA architecture
  • 6.
    Overview of JDK,JRE, JVM
  • 7.
    JVM (Java VirtualMachine) is an abstract machine. It is called a virtual machine because it doesn't physically exist. It is a specification that provides a runtime environment in which Java bytecode can be executed. It can also run those programs which are written in other languages and compiled to Java bytecode. JRE is an acronym for Java Runtime Environment. It is also written as Java RTE. The Java Runtime Environment is a set of software tools which are used for developing Java applications. It is used to provide the runtime environment. It is the implementation of JVM. It physically exists. It contains a set of libraries + other files that JVM uses at runtime. JDK is an acronym for Java Development Kit. The Java Development Kit (JDK) is a software development environment which is used to develop Java applications and applets. It physically exists. It contains JRE + development tools. Overview of JDK ,JRE, JVM
  • 8.
    QUES The JDK isa superset of the JRE, and contains everything that is in the JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications. A. TRUE B. FALSE JDK JRE JVM
  • 9.
    Java application programminginterface (API) is a list of all classes that are part of the Java development kit (JDK). It includes all Java packages, classes, and interfaces, along with their methods, fields, and constructors. These prewritten classes provide a tremendous amount of Built-in Packages The Java API is a library of prewritten classes, that are free to use, included in the Java Development Environment. The library contains components for managing input, database programming, and much much more. The complete list can be found at Oracles website: https://docs.oracle.com/javase/8/docs/api/. The library is divided into packages and classes. Meaning you can either import a single class (along with its methods and attributes), or a whole package that contain all the classes that belong to the specified package. To use a class or a package from the library, you need to use the import keyword. JAVA API
  • 10.
    Sample.java file containsclass A, B and C. How many .class files will be created after compiling Sample.java? What is your observation? //Sample.java javac Sample.java A.class B.class C.class class A { void m1( ) { } } class B { void m2( ) { } } class C { void m3( ) { } } Understanding of .class file concept.
  • 11.
    Object - Objectshave states and behaviors. Example: A dog has states - color, name, breed as well as behavior such as wagging their tail, barking, eating. An object is an instance of a class. Class - A class can be defined as a template/blueprint that describes the behavior/state that the object of its type supports. Methods - A method is basically a behavior. A class can contain many methods. It is in methods where the logics are written, data is manipulated and all the actions are executed Instance - Each object has its unique set of instance variables. An object's state is created by the values assigned to these instance variables. Difference between class, object, methods, and instance variables?
  • 12.
    What will bethe result if you try to compile and execute the following program ? Reason out : Sample.java class Sample { public static void main() { System.out.println(“Welcome”); } } a. Compilation Error b. Runtime Error c. The program compiles and executes successfully but prints nothing. d. It will print “Welcome” Analyze the below program and answer
  • 13.
    class Simple { staticpublic void main(String[] args) { int i1 = Integer.parseInt(args[0]); int i2 = Integer.parseInt(args[1]); System.out.println(i1+i2); } } When we compile the above code successfully and execute it as Java Simple 10 20, the output will be 30 Accessing numeric command line arguments
  • 14.
    Java has aset of keywords that are reserved words that cannot be used as variables, methods, classes, or any other identifiers. Example break,abstract,byte,boolean etc true, false, and null are not keywords, but they are literals and reserved words that cannot be used as identifiers. Which statement is true? Select the one correct answer. (a) new and delete are keywords in the Java language. (b) try, catch, and thrown are keywords in the Java language. (c) static, unsigned, and long are keywords in the Java language. (d) exit, class, and while are keywords in the Java language. (e) return, goto, and default are keywords in the Java language. (f) for, while, and next are keywords in the Java language. JAVA KEYWORDS
  • 15.
    In programming languages,identifiers are used for identification purpose. In Java, an identifier can be a class name, method name, variable name or a label. For example : public class Test { public static void main(String[] args) { int a = 20; } } Which of the following can be used in a Java program as identifiers? Check all of the identifiers that are legal. 1. sum_of_data 2. AnnualSalary 3. _average 4. 42isThesolution 5. B4 6. ABC 7. for 8. println 9. "hello" 10. first-name Answer 1 2 3 5 6 8 Identifiers in java
  • 16.
    What is nullin Java. The null is not a keyword. null is a literal as true or false Can a digit form the first character of an identifier? No. Only characters are allowed. However they may be used after the first character. Explain var keyword in Java. var keyword is introduced in Java 10 to enhance the Java Language to extend type inference to declarations of local variables with initializers. var map = new HashMap<String, Integer>(); Quick test
  • 17.
    The Java programminglanguage defines the following kinds of Variables: Local Variables Tied to a method Scope of a local variable is within the method Instance Variables (Non-static) Tied to an object Scope of an instance variable is the whole class Static Variables Tied to a class Shared by all instances of a class Difference between local, instance and static variable
  • 18.
    public class StudentDetails{ public void StudentAge() { // local variable age int age = 0; age = age + 5; } public static void main(String args[]) { // using local variable age outside it's scope System.out.println("Student age is : " + age); } } Output: Compilation Error in java code :- prog.java:12: error: cannot find symbol System.out.println("Student age is : " + age); ^ symbol: variable age location: class StudentDetails 1 error Understanding the concept of local variable
  • 19.
    class variable_scope {public staticvoid main(String args[]) { int x; x = 5;{ int y = 6; System.out.print(x + " " + y);} System.out.println(x + " " + y); } } Compilation error Explanation: Second print statement doesn’t have access to y , scope y was limited to the block defined after initialization of x. What will be the output of the following Java program?
  • 20.
  • 21.
    What will bethe result, if we try to compile and execute the following?? code? class Test { public static void main(String [ ] ar) { byte b=128; System.out.println(b); } } Understanding of data type concepts
  • 22.
    class Simple{ public staticvoid main(String[] args){ float f=10.5f; //int a=f;//Compile time error int a=(int)f; System.out.println(f); System.out.println(a); }} O/P 10.5 10 class Simple{ public static void main(String[] args){ int a=10; float f=a; System.out.println(a); System.out.println(f); }} Output: 10 10.0 Java Variable Example: Narrowing (Typecasting) and : Widening
  • 23.
    Which of thefollowing do not denote a primitive data value in Java? Select the two correct answers. (a) "t" (b) 'k‘ (c) 50.5F (d) "hello" (e) false 2.5 Which of the following primitive data types are not integer types? Select the three correct answers. (a) boolean (b) byte (c) float (d) short (e) double MCQ