Java Programming (4343203) - Summer 2025 Solution (ગુજરાતી)

Solution guide for Java Programming (4343203) Summer 2025 exam

પ્રશ્ન 1(અ) [3 ગુણ]

Java માં identifier ને નામ આપવાના નિયમોની યાદી માન્ય અને અમાન્ય ઉદાહરણો સાથે બનાવો.

જવાબ:

Java Identifier ના નિયમો:

નિયમવર્ણનમાન્ય ઉદાહરણઅમાન્ય ઉદાહરણ
શરૂઆતી અક્ષરletter, underscore અથવા dollar sign થી શરૂname, _value, $cost2name, #id
પછીના અક્ષરોletters, digits, underscore, dollar હોઈ શકેstudent123, user_namemy-var, class@
Keyword પ્રતિબંધJava reserved words વાપરી શકાતા નથીmyClass, userNameclass, int
Case SensitivityIdentifier case-sensitive છેNamename-
લંબાઈકોઈ લંબાઈની મર્યાદા નથીverylongvariablename-

મેમરી ટ્રીક: "Letters First, Keywords Never, Case Counts"


પ્રશ્ન 1(બ) [4 ગુણ]

Java ના operator ની યાદી બનાવો. Arithmetic અને Logical operator ને સમજાવો.

જવાબ:

Java Operator ના પ્રકારો:

Operator નો પ્રકારઉદાહરણો
Arithmetic+, -, *, /, %
Relational==, !=, <, >, <=, >=
Logical&&, ||, !
Assignment=, +=, -=, *=, /=
Unary++, --, +, -, !
Bitwise&, |, ^, ~, <<, >>
Ternarycondition ? value1 : value2

Arithmetic Operators:

  • Addition (+): બે operand નો સરવાળો કરે છે
  • Subtraction (-): પહેલામાંથી બીજો બાદ કરે છે
  • Multiplication (*): બે operand નો ગુણાકાર કરે છે
  • Division (/): પહેલાને બીજા વડે ભાગ આપે છે
  • Modulus (%): ભાગાકારનો શેષ આપે છે

Logical Operators:

  • AND (&&): બંને શરતો સાચી હોય તો true આપે છે
  • OR (||): ઓછામાં ઓછી એક શરત સાચી હોય તો true આપે છે
  • NOT (!): logical state ને ઉલટાવે છે

મેમરી ટ્રીક: "Add Subtract Multiply Divide Remainder, And Or Not"


પ્રશ્ન 1(ક) [7 ગુણ]

3 આંકડાની સંખ્યાને વિપરીત કરવા માટે Java પ્રોગ્રામ લખો. ઉદાહરણ તરીકે, સંખ્યા 653 છે તો તેની વિપરીત સંખ્યા 356 છે.

જવાબ:

Java

Algorithm:

  • છેલ્લો આંકડો કાઢો: Modulus operator (%) નો ઉપયોગ કરો
  • વિપરીત સંખ્યા બનાવો: 10 થી ગુણો અને આંકડો ઉમેરો
  • છેલ્લો આંકડો દૂર કરો: Integer division (/) નો ઉપયોગ કરો
  • પુનરાવર્તન કરો: મૂળ સંખ્યા 0 થાય ત્યાં સુધી

મેમરી ટ્રીક: "Extract, Build, Remove, Repeat"


પ્રશ્ન 1(ક OR) [7 ગુણ]

3*3 મેટ્રિક્સનો સરવાળો કરવા માટેનો Java પ્રોગ્રામ લખો.

જવાબ:

Java

Matrix Addition ના પગલાં:

  • Array બનાવો: ત્રણ 3x3 integer array
  • મેટ્રિક્સ દાખલ કરો: બંને મેટ્રિક્સ માટે values વાંચો
  • સંબંધિત elements ઉમેરો: result[i][j] = matrix1[i][j] + matrix2[i][j]
  • પરિણામ દર્શાવો: સરવાળાનું મેટ્રિક્સ print કરો

મેમરી ટ્રીક: "Create, Input, Add, Display"


પ્રશ્ન 2(અ) [3 ગુણ]

પેરામીટરાઇઝ્ડ કન્સ્ટ્રક્ટર નો ઉપયોગ દર્શાવતો Java પ્રોગ્રામ લખો.

જવાબ:

Java

Parameterized Constructor ની વિશેષતાઓ:

  • પેરામીટર લે છે: Object બનાવતી વખતે values સ્વીકારે છે
  • Instance variables initialize કરે છે: Object ની state સેટ કરે છે
  • Class જેવું જ નામ: Constructor નું નામ class સાથે મેળ ખાય છે
  • Return type નથી: Constructor નો return type હોતો નથી

મેમરી ટ્રીક: "Parameters Initialize Same-name No-return"


પ્રશ્ન 2(બ) [4 ગુણ]

ઉદાહરણ સાથે નીચેના શબ્દોની બેસીક સીન્ટેક્સ આપો: (1) ક્લાસ બનાવવા માટે, (2) ઓબ્જેક્ટ બનાવવા માટે, (3) મેથડને વ્યાખ્યાયિત કરવા માટે, (4) ચલ(વેરીએબલ)ને ડિક્લેર કરવા માટે.

જવાબ:

Java Basic Syntax:

ઘટકSyntaxઉદાહરણ
Class બનાવવુંclass ClassName { }class Car { }
Object બનાવવુંClassName objectName = new ClassName();Car myCar = new Car();
Method વ્યાખ્યાreturnType methodName(parameters) { }public void start() { }
Variable declarationdataType variableName;int age;

સંપૂર્ણ ઉદાહરણ:

Java

મેમરી ટ્રીક: "Class Object Method Variable - COMV"


પ્રશ્ન 2(ક) [7 ગુણ]

Java માં એક પ્રોગ્રામ લખો જેમાં Student નામનો Class છે. જેમાં enrollmentNo અને name નામ ના બે ઇન્સ્ટન્ટ વેરીએબલ હોય. Student Class ના 3 ઓબ્જેક્ટ main મેથડમાં બનાવો અને Student's ના નામ દર્શાવો.

જવાબ:

Java

પ્રોગ્રામની રચના:

  • Class વ્યાખ્યા: Instance variables સાથે Student class
  • Constructor: enrollmentNo અને name initialize કરવા માટે
  • Method: displayName() વિદ્યાર્થીનું નામ બતાવવા માટે
  • Object બનાવવું: main method માં ત્રણ Student objects
  • Method calling: displayName() વાપરીને નામ દર્શાવવા

મેમરી ટ્રીક: "Define Initialize Display Create Call"


પ્રશ્ન 2(અ OR) [3 ગુણ]

ડિફોલ્ટ કન્સ્ટ્રક્ટર નો ઉપયોગ દર્શાવતો Java પ્રોગ્રામ લખો.

જવાબ:

Java

Default Constructor ની વિશેષતાઓ:

  • કોઈ પેરામીટર નથી: કોઈ arguments લેતો નથી
  • Default values: Instance variables માટે default values સેટ કરે છે
  • આપોઆપ કોલ: Object બનાવતી વખતે કોલ થાય છે
  • Class જેવું જ નામ: Constructor નું નામ class સાથે મેળ ખાય છે

મેમરી ટ્રીક: "No-parameters Default Automatic Same-name"


પ્રશ્ન 2(બ OR) [4 ગુણ]

પ્રોસિજર-ઓરિએન્ટેડ પ્રોગ્રામિંગ અને ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગ વચ્ચે ચાર તફાવત આપો.

જવાબ:

POP vs OOP તુલના:

પાસુંProcedure Oriented ProgrammingObject-Oriented Programming
અભિગમTop-down approachBottom-up approach
ધ્યાનFunctions અને procedures પરObjects અને classes પર
Data સુરક્ષાData hiding નથી, global accessData encapsulation અને hiding
સમસ્યા ઉકેલFunctions માં વહેંચવુંObjects માં વહેંચવું
Code પુનઃઉપયોગમર્યાદિત પુનઃઉપયોગInheritance દ્વારા ઉચ્ચ પુનઃઉપયોગ
જાળવણીજાળવવું મુશ્કેલજાળવવું અને સુધારવું સરળ

મુખ્ય તફાવતો:

  • રચના: POP functions વાપરે છે, OOP classes વાપરે છે
  • સુરક્ષા: OOP વધુ સારી data protection આપે છે
  • પુનઃઉપયોગ: OOP inheritance અને polymorphism ને support કરે છે
  • જાળવણી: OOP code જાળવવા માટે સરળ છે

મેમરી ટ્રીક: "Structure Security Reusability Maintenance"


પ્રશ્ન 2(ક OR) [7 ગુણ]

Java માં એક પ્રોગ્રામ લખો જેમાં Shape નામની Class હોય જે 2 ઓવરલોડ મેથડ area (ફ્લોટ radius) અને area (ફ્લોટ length, ફ્લોટ width) ધરાવતો હોય. ઓવરલોડ પદ્ધતિઓનો ઉપયોગ કરીને વર્તુળ અને લંબચોરસનો area (વિસ્તાર) દર્શાવો.

જવાબ:

Java

Method Overloading ની વિભાવનાઓ:

  • સમાન method નામ: બંને methods નું નામ "area"
  • અલગ પેરામીટર: એક radius લે છે, બીજો length અને width લે છે
  • Compile-time polymorphism: Method compile time પર પસંદ થાય છે
  • પેરામીટર તફાવત: પેરામીટરની સંખ્યા અથવા પ્રકાર અલગ

મેમરી ટ્રીક: "Same-name Different-parameters Compile-time Parameter-differentiation"


પ્રશ્ન 3(અ) [3 ગુણ]

સિંગલ ઇનહેરીટેન્સ દર્શાવવા માટે Java પ્રોગ્રામ લખો.

જવાબ:

Java

Single Inheritance ની વિશેષતાઓ:

  • એક parent: Child class એક parent class માંથી inherit કરે છે
  • extends keyword: Inheritance સંબંધ સ્થાપિત કરવા માટે વપરાય છે
  • Method inheritance: Child class parent ના methods inherit કરે છે
  • IS-A સંબંધ: Dog IS-A Animal

મેમરી ટ્રીક: "One-parent Extends Method IS-A"


પ્રશ્ન 3(બ) [4 ગુણ]

Java માં એબ્સ્ટ્રેક્ટ ક્લાસને ઉદાહરણ સાથે વ્યાખ્યાયિત કરો.

જવાબ:

Abstract Class વ્યાખ્યા: Abstract class એ એવો class છે જેનો instantiate કરી શકાતો નથી અને તેમાં abstract methods (implementation વિનાના methods) હોઈ શકે છે.

Java

Abstract Class ની વિશેષતાઓ:

  • Instantiate કરી શકાતો નથી: સીધા objects બનાવી શકાતા નથી
  • Abstract methods: Body વિનાના methods
  • Concrete methods: Implementation સાથેના સામાન્ય methods
  • Extend કરવું જરૂરી: Child classes ને abstract methods implement કરવા પડે છે

મેમરી ટ્રીક: "Cannot-instantiate Abstract-methods Concrete-methods Must-extend"


પ્રશ્ન 3(ક) [7 ગુણ]

ઇન્ટરફેસનો ઉપયોગ કરીને મલ્ટીપલ ઇનહેરીટન્સને ઇમ્પ્લીમેંટ કરવા માટે Java માં પ્રોગ્રામ લખો.

જવાબ:

Java

Interfaces દ્વારા Multiple Inheritance:

  • અનેક interfaces: Class અનેક interfaces implement કરી શકે છે
  • implements keyword: Interfaces implement કરવા માટે વપરાય છે
  • બધા methods implement કરવા જરૂરી: Interface ના બધા methods implement કરવા પડે છે
  • Diamond problem હલ કરે છે: Multiple inheritance ની અસ્પષ્ટતા ટાળે છે

મેમરી ટ્રીક: "Multiple-interfaces Implements Must-implement Solves-diamond"


પ્રશ્ન 3(અ OR) [3 ગુણ]

મલ્ટીલેવલ ઇનહેરીટેન્સ દર્શાવવા માટે Java પ્રોગ્રામ લખો.

જવાબ:

Java

Multilevel Inheritance ની વિશેષતાઓ:

  • Inheritance ની સાંકળ: Child → Parent → Grandparent
  • અનેક સ્તરો: બે કરતાં વધુ સ્તરો inheritance ના
  • Transitive inheritance: Properties સ્તરો દ્વારા પસાર થાય છે
  • extends keyword: દરેક સ્તર extends વાપરે છે

મેમરી ટ્રીક: "Chain Multiple Transitive Extends"


પ્રશ્ન 3(બ OR) [4 ગુણ]

પેકેજ વ્યાખ્યાયિત કરો અને ઉદાહરણ સાથે પેકેજ બનાવવા માટે સીન્ટેક્સ લખો.

જવાબ:

Package વ્યાખ્યા: Package એ namespace છે જે સંબંધિત classes અને interfaces ને organize કરે છે. તે access protection અને namespace management પ્રદાન કરે છે.

Package Syntax:

Java

ઉદાહરણ:

File: mypackage/Calculator.java

Java

File: TestCalculator.java

Java

Package ના ફાયદા:

  • Namespace management: નામકરણની ગૂંચવણો ટાળે છે
  • Access control: Class ની visibility control કરે છે
  • Code organization: સંબંધિત classes ને group કરે છે
  • પુનઃઉપયોગ: Packaged classes નો સરળ પુનઃઉપયોગ

મેમરી ટ્રીક: "Namespace Access Organization Reusability"


પ્રશ્ન 3(ક OR) [7 ગુણ]

મેથડ ઓવરરાઇડિંગ દર્શાવવા માટે Java પ્રોગ્રામ લખો.

જવાબ:

Java

Method Overriding ની વિશેષતાઓ:

  • સમાન method signature: સમાન નામ, પેરામીટર અને return type
  • Runtime polymorphism: Method runtime પર નક્કી થાય છે
  • @Override annotation: વૈકલ્પિક પણ સુચવેલું
  • IS-A સંબંધ: Child class parent ના method ને override કરે છે

મેમરી ટ્રીક: "Same-signature Runtime Override IS-A"


પ્રશ્ન 4(અ) [3 ગુણ]

Java માં વિવિધ પ્રકારની એરરની યાદી બનાવો અને સમજાવો.

જવાબ:

Java Error ના પ્રકારો:

Error નો પ્રકારવર્ણનઉદાહરણ
Compile-time ErrorsCompilation દરમિયાન શોધાય છેSyntax errors, missing semicolons
Runtime ErrorsProgram execution દરમિયાન થાય છેDivision by zero, null pointer
Logical ErrorsProgram ચાલે છે પણ ખોટું output આપે છેખોટા algorithm logic

વિસ્તૃત સમજૂતી:

  • Compile-time: Compiler દ્વારા અટકાવાય છે, run કરતાં પહેલાં fix કરવું પડશે
  • Runtime: Program execution દરમિયાન crash થાય છે, exceptions દ્વારા handle થાય છે
  • Logical: શોધવા સૌથી મુશ્કેલ, program કામ કરે છે પણ પરિણામ ખોટા આવે છે

સામાન્ય ઉદાહરણો:

  • Syntax Error: Semicolon ગુમ, ખોટા brackets
  • RuntimeException: ArrayIndexOutOfBounds, NullPointer
  • Logic Error: ખોટા formula, ખોટી condition

મેમરી ટ્રીક: "Compile Runtime Logic - CRL"


પ્રશ્ન 4(બ) [4 ગુણ]

રેપર ક્લાસ શું છે? કોઈપણ બે રેપર ક્લાસનો ઉપયોગ સમજાવો.

જવાબ:

Wrapper Class વ્યાખ્યા: Wrapper classes primitive data types ના object representation પ્રદાન કરે છે. તેઓ primitives ને objects માં convert કરે છે.

Wrapper Class ટેબલ:

PrimitiveWrapper Class
intInteger
doubleDouble
booleanBoolean
charCharacter

ઉદાહરણ - Integer Wrapper:

Java

ઉદાહરણ - Double Wrapper:

Java

Wrapper Class ના ઉપયોગો:

  • Collections: Collections માં primitives store કરવા માટે
  • Null values: Primitives વિપરીત null store કરી શકે છે
  • Utility methods: Parsing, conversion methods
  • Generics: Generic types સાથે વાપરવા માટે

મેમરી ટ્રીક: "Collections Null Utility Generics"


પ્રશ્ન 4(ક) [7 ગુણ]

બેંકિંગ એપ્લિકેશન વિકસાવવા માટે Java માં એક પ્રોગ્રામ લખો જેમાં વપરાશકર્તા 25000 રૂપિયા જમા કરે અને પછી 20000, 4000 રૂપિયા ઉપાડવાનું શરૂ કરે અને ત્યારબાદ જ્યારે વપરાશકર્તા રૂ. 2000 ઉપાડે તો પ્રોગ્રામ "પૂરતું ભંડોળ નથી" એક્સેપ્શન(exception) આપે.

જવાબ:

Java

Exception Handling ના ઘટકો:

  • Custom exception: InsufficientFundException extends Exception
  • throw keyword: Balance અપૂરતું હોય ત્યારે exception throw કરે છે
  • try-catch block: Exception ને handle કરે છે
  • Exception message: "પૂરતું ભંડોળ નથી" દર્શાવે છે

Banking Operations:

  • Deposit: Balance માં પૈસા ઉમેરે છે
  • Withdraw: પૂરતું balance હોય તો પૈસા બાદ કરે છે
  • Balance check: ઉપાડતાં પહેલાં validate કરે છે
  • Exception handling: Program crash થતું અટકાવે છે

મેમરી ટ્રીક: "Custom Throw Try-catch Message, Deposit Withdraw Check Handle"


પ્રશ્ન 4(અ OR) [3 ગુણ]

થ્રેડના સંપૂર્ણ જીવનચક્રનું વર્ણન કરો.

જવાબ:

Thread Lifecycle States:

Thread States:

  • New: Thread object બન્યો પણ start થયો નથી
  • Runnable: Thread run થવા માટે તૈયાર, CPU ની રાહ જોઈ રહ્યો
  • Running: Thread હાલમાં execute થઈ રહ્યો છે
  • Blocked: Thread resource અથવા condition ની રાહ જોઈ રહ્યો
  • Dead: Thread execution પૂર્ણ થયું

State Transitions:

  • start(): New → Runnable
  • CPU allocation: Runnable → Running
  • wait()/sleep(): Running → Blocked
  • notify()/timeout: Blocked → Runnable
  • completion: Running → Dead

મેમરી ટ્રીક: "New Runnable Running Blocked Dead"


પ્રશ્ન 4(બ OR) [4 ગુણ]

એક્સેસ સ્પેસીફાયરની યાદી બનાવો અને Java માં તેમના હેતુનું વર્ણન કરો.

જવાબ:

Java Access Specifiers:

Access SpecifierSame ClassSame PackageSubclassOther Package
private
default
protected
public

Access Specifier ના હેતુઓ:

Private:

  • Encapsulation: Implementation details છુપાવે છે
  • Data સુરક્ષા: Sensitive data ને સુરક્ષિત રાખે છે
  • Class-only access: ફક્ત same class માં accessible

Default (Package-private):

  • Package access: Same package માં accessible
  • Module organization: સંબંધિત classes ને group કરે છે
  • કોઈ keyword જરૂરી નથી: કોઈ specifier ન મૂક્યું હોય ત્યારે default

Protected:

  • Inheritance support: Subclasses માં accessible
  • Package + inheritance: Same package + subclasses
  • Controlled access: Private કરતાં વધુ access, public કરતાં ઓછું

Public:

  • સાર્વત્રિક access: કયાંથી પણ accessible
  • Interface methods: Public APIs માટે વપરાય છે
  • મહત્તમ visibility: કોઈ access restrictions નથી

મેમરી ટ્રીક: "Private Encapsulates, Default Packages, Protected inherits, Public Universal"


પ્રશ્ન 4(ક OR) [7 ગુણ]

Java પ્રોગ્રામ લખો જે 2 થ્રેડો ચલાવે છે દર થ્રેડ એક .1000 મીલીસેકન્ડે "થ્રેડ –I" ને પ્રિન્ટ કરે છે, બીજો થ્રેડ દર 2000 મીલીસેકન્ડે – થ્રેડ "II" ને પ્રિન્ટ કરે છે. થ્રેડ Class ને એક્સટેન્ડ કરીને થ્રેડ બનાવો.

જવાબ:

Java

Multithreading વિભાવનાઓ:

  • Thread class extension: બંને classes Thread ને extend કરે છે
  • run() method: Thread execution code સમાવે છે
  • sleep() method: નિર્દિષ્ટ સમય માટે thread ને pause કરે છે
  • start() method: Thread execution શરૂ કરે છે
  • join() method: Thread completion ની રાહ જુએ છે

Thread Synchronization:

  • Concurrent execution: બંને threads એકસાથે run થાય છે
  • Independent timing: દરેક thread નો પોતાનો sleep interval છે
  • Exception handling: InterruptedException catch અને handle થાય છે
  • Thread coordination: join() ensure કરે છે કે main thread રાહ જુએ

મેમરી ટ્રીક: "Extend Run Sleep Start Join"


પ્રશ્ન 5(અ) [3 ગુણ]

સ્ટ્રીમ ક્લાસ શું છે? સ્ટ્રીમ ક્લાસ કેવી રીતે વર્ગીકૃત કરવામાં આવે છે?

જવાબ:

Stream Class વ્યાખ્યા: Java માં Stream classes input અને output operations handle કરવાની રીત પ્રદાન કરે છે. તેઓ source થી destination સુધી data ના flow ને represent કરે છે.

Stream Classification:

goat

Stream ના પ્રકારો:

Stream Typeહેતુઉદાહરણ Classes
InputStreamBytes વાંચવા માટેFileInputStream, BufferedInputStream
OutputStreamBytes લખવા માટેFileOutputStream, BufferedOutputStream
ReaderCharacters વાંચવા માટેFileReader, BufferedReader
WriterCharacters લખવા માટેFileWriter, BufferedWriter

Classification ની વિશેષતાઓ:

  • દિશા: Input (read) vs Output (write)
  • Data type: Byte streams vs Character streams
  • કાર્યક્ષમતા: Basic vs Buffered streams

મેમરી ટ્રીક: "Direction Data-type Functionality"


પ્રશ્ન 5(બ) [4 ગુણ]

ઉદાહરણ સાથે મેથડ ઓવરરાઇડિંગનો હેતુ સમજાવો.

જવાબ:

Method Overriding નો હેતુ: Method overriding subclass ને parent class માં પહેલેથી જ define કરેલા method નું specific implementation પ્રદાન કરવાની મંજૂરી આપે છે.

Java

Method Overriding ના ફાયદા:

  • Runtime polymorphism: Runtime પર method selection
  • Specific implementation: Child class specific behavior પ્રદાન કરે છે
  • Code flexibility: Same interface, અલગ implementations
  • Dynamic method dispatch: Object type અનુસાર યોગ્ય method call

મેમરી ટ્રીક: "Runtime Specific Flexibility Dynamic"


પ્રશ્ન 5(ક) [7 ગુણ]

Abc.txt નામની ટેક્સ્ટ ફાઇલ પર વાંચવા અને લખવાની કામગીરી કરવા માટેનો Java પ્રોગ્રામ લખો.

જવાબ:

Java

Try-with-resources વાપરીને વધુ સારો વિકલ્પ:

Java

File Operation ના ઘટકો:

  • FileWriter: File માં character data લખવા માટે વપરાય છે
  • FileReader: File માંથી character data વાંચવા માટે વપરાય છે
  • BufferedReader: Buffering સાથે વધુ કાર્યક્ષમ વાંચવા માટે
  • Exception handling: IOException અને FileNotFoundException
  • Resource management: Memory leaks ટાળવા માટે streams બંધ કરવા

File Handling ના પગલાં:

  • Stream બનાવો: FileWriter/FileReader object
  • Operation કરો: write()/readLine() methods
  • Exceptions handle કરો: try-catch blocks
  • Resources બંધ કરો: close() method અથવા try-with-resources

મેમરી ટ્રીક: "Create Perform Handle Close"


પ્રશ્ન 5(અ OR) [3 ગુણ]

ઇનપુટ સ્ટ્રીમ સમજાવો.

જવાબ:

InputStream વ્યાખ્યા: InputStream એ abstract class છે જે bytes ના input stream ને represent કરે છે. તે input stream of bytes represent કરતા બધા classes નો superclass છે.

InputStream Hierarchy:

goat

સામાન્ય InputStream Methods:

Methodવર્ણનઉદાહરણ
read()એક byte વાંચે છેint b = in.read();
read(byte[])Bytes ને array માં વાંચે છેin.read(buffer);
available()ઉપલબ્ધ bytes પરત કરે છેint count = in.available();
close()Stream બંધ કરે છેin.close();
skip(long)નિર્દિષ્ટ bytes skip કરે છેin.skip(10);

ઉપયોગનું ઉદાહરણ:

Java

InputStream ની વિશેષતાઓ:

  • Abstract class: સીધા instantiate કરી શકાતો નથી
  • Byte-oriented: Byte data handle કરે છે
  • Input operations: વિવિધ sources માંથી data વાંચવા માટે
  • Resource management: ઉપયોગ પછી બંધ કરવો જરૂરી

મેમરી ટ્રીક: "Abstract Byte Input Resource"


પ્રશ્ન 5(બ OR) [4 ગુણ]

Java માં પેકેજ વ્યાખ્યાયિત કરો. યોગ્ય સીન્ટેક્સ અને એક ઉદાહરણ સાથે Java માં પેકેજ કેવી રીતે ઇમ્પ્લીમેન્ટ કરી શકાય તે લખો.

જવાબ:

Package વ્યાખ્યા: Java માં package એ namespace છે જે સંબંધિત classes અને interfaces ને સાથે organize કરે છે. તે access protection અને namespace management પ્રદાન કરે છે.

Package Implementation Syntax:

Java

Package બનાવવાના પગલાં:

પગલુંક્રિયાઉદાહરણ
1. Directory બનાવોPackage name સાથે folder બનાવોmkdir mypackage
2. Package declarationPackage statement ઉમેરોpackage mypackage;
3. Compileયોગ્ય classpath સાથે compile કરોjavac -d . ClassName.java
4. RunFully qualified name સાથે run કરોjava mypackage.ClassName

સંપૂર્ણ ઉદાહરણ:

File: utilities/MathOperations.java

Java

File: utilities/StringOperations.java

Java

File: TestPackage.java

Java

Package ના ફાયદા:

  • Namespace management: નામકરણની સમસ્યાઓ ટાળે છે
  • Access control: Package-private access level
  • Code organization: સંબંધિત functionality ને group કરે છે
  • પુનઃઉપયોગ: Import અને વાપરવા માટે સરળ

મેમરી ટ્રીક: "Namespace Access Organization Reusability"


પ્રશ્ન 5(ક OR) [7 ગુણ]

List નો ઉપયોગ દર્શાવવા માટે Java મા પ્રોગ્રામ લખો .1) ArrayList બનાવો અને અઠવાડિયાના દિવસો ઉમેરો (સ્ટ્રિંગ સ્વરૂપમા) 2) LinkedList બનાવો અને મહિના ઉમેરો )સ્ટ્રિંગ સ્વરૂપમા (બંને List ને ડિસ્પ્લે કરો.

જવાબ:

Java

List Interface ની વિશેષતાઓ:

વિશેષતાArrayListLinkedList
આંતરિક રચનાDynamic arrayDoubly linked list
Access TimeO(1) random accessO(n) sequential access
Insertion/DeletionO(n) at middleO(1) at ends
Memoryઓછી memory overheadPointers માટે વધુ memory

સામાન્ય List Methods:

  • add(): List માં element ઉમેરે છે
  • get(): Index દ્વારા element મેળવે છે
  • size(): Elements ની સંખ્યા પરત કરે છે
  • contains(): Element અસ્તિત્વ ચકાસે છે
  • remove(): Element દૂર કરે છે
  • iterator(): Traversal માટે iterator પરત કરે છે

List ના ફાયદા:

  • Dynamic size: આપોઆપ વધે અને ઘટે છે
  • Ordered collection: Insertion order જાળવે છે
  • Duplicate elements: Duplicate values ની મંજૂરી આપે છે
  • Index-based access: Position દ્વારા elements access કરો

મેમરી ટ્રીક: "Dynamic Ordered Duplicate Index-based"