Object Oriented Programming with Java (4341602) - Summer 2024 Solution (Gujarati)

Object Oriented Programming with Java (4341602) Summer 2024 પરીક્ષા માટે સોલ્યુશન ગાઇડ

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

Java program નો બેસિક સ્ટ્રક્ચર સમજાવો.

જવાબ:

મૂળભૂત માળખું કોષ્ટક:

ઘટકવર્ણન
Package declarationવૈકલ્પિક, package સભ્યપદ દર્શાવે છે
Import statementsજરૂરી classes/packages આયાત કરે છે
Class declarationમુખ્ય class વ્યાખ્યા
Main methodપ્રવેશ બિંદુ: public static void main(String[] args)

આકૃતિ:

goat
  • Package: સંબંધિત classes ને જૂથબદ્ધ કરે છે
  • Import: બાહ્ય classes ને access કરે છે
  • Class: objects માટે blueprint
  • Main method: પ્રોગ્રામ execution અહીંથી શરૂ થાય છે

મેમરી ટ્રીક: "PICM - Package, Import, Class, Main"

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

જાવાના વિવિધ લક્ષણોની યાદી આપો. કોઈપણ બે લક્ષણો સમજાવો.

જવાબ:

Java ના લક્ષણો કોષ્ટક:

લક્ષણવર્ણન
Platform Independentએક વાર લખો, બધે ચલાવો
Object Orientedબધું object છે
Simpleસરળ syntax, pointers નથી
Securebuilt-in સુરક્ષા લક્ષણો
Robustમજબૂત memory management
Multithreadedconcurrent execution આધાર

વિગતવાર સમજાવટ:

Platform Independence:

  • Java કોડ bytecode માં compile થાય છે
  • JVM કોઈપણ platform પર bytecode interpret કરે છે
  • એ જ પ્રોગ્રામ Windows, Linux, Mac પર ચાલે છે

Object Oriented:

  • Encapsulation: classes માં data hiding
  • Inheritance: extends દ્વારા કોડ પુનઃઉપયોગ
  • Polymorphism: એક જ method, અલગ વર્તન

મેમરી ટ્રીક: "POSRMM - Platform, Object, Simple, Robust, Multithreaded, Memory"

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

દાખલ કરેલ નંબરના અંકોનો સરવાળો શોધવા માટે Java માં પ્રોગ્રામ લખો. (ઉદા. સંખ્યા 123 આઉટપુટ 6 છે).

જવાબ:

Java

Algorithm કોષ્ટક:

પગલુંક્રિયાઉદાહરણ (123)
1છેલ્લો અંક કાઢો (n%10)123%10 = 3
2સરવાળામાં ઉમેરોsum = 0+3 = 3
3છેલ્લો અંક હટાવો (n/10)123/10 = 12
4n=0 સુધી પુનરાવર્તનચાલુ રાખો
  • Input: Command line argument
  • Process: modulo વાપરીને અંકો કાઢો
  • Output: બધા અંકોનો સરવાળો

મેમરી ટ્રીક: "EARD - Extract, Add, Remove, Done"

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

Command line arguments નો ઉપયોગ કરીને કોઈપણ દસ સંખ્યાઓ માંથી maximum શોધવા માટે Java માં પ્રોગ્રામ લખો.

જવાબ:

Java

પ્રક્રિયા કોષ્ટક:

પગલુંક્રિયાવિગતો
1args તપાસો10 સંખ્યાઓ આપેલી છે કે કેમ
2Max initialize કરોપહેલી સંખ્યાને initial max બનાવો
3Compare loopબાકીની દરેક સંખ્યા તપાસો
4Max update કરોજો current > max, તો update કરો
  • Validation: argument count ચકાસો
  • Comparison: સામાન્ય maximum શોધવાની પદ્ધતિ
  • Output: સૌથી મોટી સંખ્યા દર્શાવો

મેમરી ટ્રીક: "VCIU - Validate, Compare, Initialize, Update"

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

OOP ના Basic concept ની યાદી આપો. કોઈપણ એક વિગતવાર સમજાવો.

જવાબ:

OOP ની વિભાવનાઓ કોષ્ટક:

વિભાવનાવર્ણન
Encapsulationડેટા છુપાવવું અને બાંધવું
Inheritanceપિતૃ class થી કોડ પુનઃઉપયોગ
Polymorphismએક interface, અનેક સ્વરૂપ
AbstractionImplementation વિગતો છુપાવવી

Encapsulation વિગતો:

  • ડેટા અને methods ને એક unit માં જોડે છે
  • ડેટા માટે private access modifiers વાપરે છે
  • Public getter/setter methods પ્રદાન કરે છે
  • અનધિકૃત access થી ડેટાને સુરક્ષિત કરે છે

ફાયદાઓ:

  • સુરક્ષા: ડેટા સુરક્ષા
  • જાળવણી: કોડ updates સરળ
  • લવચીકતા: Implementation સરળતાથી બદલી શકાય

મેમરી ટ્રીક: "EIPA - Encapsulation, Inheritance, Polymorphism, Abstraction"

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

JVM ને વિગતવાર સમજાવો.

જવાબ:

JVM આર્કિટેક્ચર આકૃતિ:

JVM ઘટકો કોષ્ટક:

ઘટકકાર્ય
Class Loader.class files ને memory માં લોડ કરે છે
Memory AreasHeap, Stack, Method area
Execution EngineBytecode execute કરે છે
JIT Compilerવારંવાર વપરાતા કોડને optimize કરે છે
  • Platform Independence: એ જ bytecode બધે ચાલે છે
  • Memory Management: automatic garbage collection
  • સુરક્ષા: execution પહેલાં bytecode verification

મેમરી ટ્રીક: "CEMJ - Class loader, Execution, Memory, JIT"

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

Constructor overloading ઉદાહરણ સાથે સમજાવો.

જવાબ:

Java

Constructor પ્રકારો કોષ્ટક:

ConstructorParametersઉપયોગ
Defaultકોઈ નહિમૂળભૂત object બનાવટ
Single paramમાત્ર નામઆંશિક initialization
Two paramનામ, ઉંમરવધુ નિર્દિષ્ટ ડેટા
Full paramબધા fieldsસંપૂર્ણ initialization
  • એ જ નામ: બધા constructors ને class નામ છે
  • અલગ parameters: સંખ્યા અથવા પ્રકાર અલગ છે
  • Compile-time: compilation દરમિયાન નિર્ણય

મેમરી ટ્રીક: "SNDF - Same Name, Different Parameters, Flexible"

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

Wrapper class શું છે? ઉદાહરણ સાથે સમજાવો.

જવાબ:

Wrapper Classes કોષ્ટક:

PrimitiveWrapper Class
byteByte
intInteger
floatFloat
doubleDouble
charCharacter
booleanBoolean

ઉદાહરણ:

Java
  • Boxing: primitive ને wrapper object માં convert કરવું
  • Unboxing: wrapper માંથી primitive કાઢવું
  • Collections: collections માં માત્ર objects જ સ્વીકાર્ય છે

મેમરી ટ્રીક: "BUC - Boxing, Unboxing, Collections"

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

Static કીવર્ડ ઉદાહરણ સાથે સમજાવો.

જવાબ:

Java

Static લક્ષણો કોષ્ટક:

લક્ષણલાક્ષણિકતાઓ
Static Variableબધા instances વચ્ચે શેર થાય છે
Static MethodObject બનાવ્યા વિના કૉલ કરી શકાય
Static BlockClass લોડ થાય ત્યારે એક વાર execute થાય
MemoryMethod area માં સંગ્રહિત
  • Class level: instance નહિ, class નું છે
  • Memory efficiency: બધા objects માટે એક જ copy
  • Access: class નામ વાપરીને access કરો

મેમરી ટ્રીક: "SCMA - Shared, Class-level, Memory, Access"

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

Constructor શું છે? Copy constructor ને ઉદાહરણ સાથે સમજાવો.

જવાબ:

Constructor વ્યાખ્યા: Constructor એ એક વિશેષ method છે જે objects બનાવાયા ત્યારે તેમને initialize કરે છે.

Java

Constructor પ્રકારો કોષ્ટક:

પ્રકારહેતુParameters
Defaultમૂળભૂત initializationકોઈ નહિ
Parameterizedકસ્ટમ initializationUser-defined
Copyહાલના object ની નકલSame class object
  • એ જ નામ: Constructor નામ = class નામ
  • કોઈ return type નહિ: void પણ નહિ
  • Automatic કૉલ: Object બનાવાય ત્યારે કૉલ થાય

મેમરી ટ્રીક: "SNAC - Same Name, Automatic Call"

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

Java માં કોઈપણ ચાર string functions ને ઉદાહરણ સાથે સમજાવો.

જવાબ:

String Functions કોષ્ટક:

Functionહેતુઉદાહરણ
length()String ની લંબાઈ આપે છે"Hello".length() → 5
charAt(index)સ્થાને character"Java".charAt(1) → 'a'
substring(start)ભાગ કાઢે છે"Program".substring(3) → "gram"
toUpperCase()મોટા અક્ષરોમાં"java".toUpperCase() → "JAVA"

કોડ ઉદાહરણ:

Java
  • Immutable: String objects બદલાતા નથી
  • નવું return: Methods નવા string objects return કરે છે
  • Zero-indexed: સ્થાનની ગણતરી 0 થી શરૂ થાય છે

મેમરી ટ્રીક: "LCST - Length, Character, Substring, Transform"

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

Inheritance ના વિવિધ પ્રકારોની યાદી આપો. Multilevel inheritance સમજાવો.

જવાબ:

Inheritance પ્રકારો કોષ્ટક:

પ્રકારવર્ણન
Singleએક parent, એક child
MultilevelInheritance ની શૃંખલા
Hierarchicalએક parent, અનેક children
Multipleઅનેક parents (interfaces દ્વારા)

Multilevel Inheritance આકૃતિ:

ઉદાહરણ:

Java
  • Chain inheritance: પિતામહ → પિતા → બાળક
  • લક્ષણો સંચય: બાળકને બધા પૂર્વજોના લક્ષણો મળે છે
  • Method access: બધા levels ના methods કૉલ કરી શકાય

મેમરી ટ્રીક: "SMHM - Single, Multilevel, Hierarchical, Multiple"

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

Interface શું છે? ઉદાહરણ સાથે multiple inheritance સમજાવો.

જવાબ:

Interface વ્યાખ્યા: Interface એ એક કરાર છે જે define કરે છે કે class માં કયા methods હોવા જોઈએ, implementation આપ્યા વિના.

Java

Interface vs Class કોષ્ટક:

લક્ષણInterfaceClass
MethodsAbstract (default/static મંજૂર)Concrete
Variablespublic static finalકોઈપણ પ્રકાર
InheritanceMultiple મંજૂરમાત્ર Single
InstantiationObjects બનાવી શકાતા નથીObjects બનાવી શકાય

Multiple Inheritance આકૃતિ:

  • કરાર: શું કરવું તે define કરે, કેવી રીતે નહિ
  • Multiple implementation: એક class, ઘણા interfaces
  • Diamond problem ઉકેલ: Interfaces multiple inheritance ની સમસ્યા હલ કરે છે

મેમરી ટ્રીક: "CMDS - Contract, Multiple, Diamond-solution"

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

This કીવર્ડ ઉદાહરણ સાથે સમજાવો.

જવાબ:

'this' કીવર્ડ ઉપયોગો કોષ્ટક:

ઉપયોગહેતુ
Instance variableParameter થી અલગ પાડવા
Method callએ જ class ની બીજી method કૉલ કરવા
Constructor callબીજા constructor ને કૉલ કરવા
Return objectવર્તમાન object reference return કરવા

ઉદાહરણ:

Java
  • વર્તમાન object: વર્તમાન instance ને refer કરે છે
  • Parameter conflict: નામની અસમંજસ હલ કરે છે
  • Method chaining: fluent interface સક્ષમ કરે છે

મેમરી ટ્રીક: "CRPM - Current, Resolve, Parameter, Method"

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

Method overriding ઉદાહરણ સાથે સમજાવો.

જવાબ:

Java

Overriding નિયમો કોષ્ટક:

નિયમવર્ણન
Same signatureMethod નામ, parameters મેળ ખાવા જોઈએ
InheritanceParent-child સંબંધ હોવો જોઈએ
@OverrideCompiler checking માટે annotation
Runtime decisionObject type પ્રમાણે method કૉલ

ઉપયોગ:

Java
  • Runtime polymorphism: Execution દરમિયાન નિર્ણય
  • Same interface: અલગ classes માટે અલગ વર્તન
  • Dynamic binding: Runtime પર method resolution

મેમરી ટ્રીક: "SSRD - Same Signature, Runtime Decision"

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

Package શું છે? Package બનાવવાના પગલાં લખો અને તેનું ઉદાહરણ આપો.

જવાબ:

Package વ્યાખ્યા: Package એ namespace છે જે સંબંધિત classes અને interfaces ને organize કરે છે, access control પ્રદાન કરે છે અને naming conflicts ટાળે છે.

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

પગલુંક્રિયાCommand/Code
1Directory બનાવોmkdir com/company/utils
2Package declaration ઉમેરોpackage com.company.utils;
3Class લખોpublic class MathUtils
4Compile કરોjavac -d . MathUtils.java
5Import અને ઉપયોગimport com.company.utils.*;

Package Structure ઉદાહરણ:

src/
  com/
    company/
      utils/
        MathUtils.java
        StringUtils.java
      models/
        Student.java

MathUtils.java:

Java

Package ઉપયોગ:

Java

Package ફાયદાઓ કોષ્ટક:

ફાયદોવર્ણન
સંગઠનClasses નું તાર્કિક જૂથીકરણ
Namespaceનામની અસમંજસ ટાળે છે
Access controlPackage-private access
જાળવણીકોડની સરળ management

મેમરી ટ્રીક: "ONAM - Organization, Namespace, Access, Maintenance"

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

યોગ્ય ઉદાહરણ સાથે thread ની પ્રાથમિકતાઓ સમજાવો.

જવાબ:

Thread Priority કોષ્ટક:

પ્રાથમિકતા સ્તરConstantમૂલ્ય
ન્યૂનતમMIN_PRIORITY1
સામાન્યNORM_PRIORITY5
મહત્તમMAX_PRIORITY10

ઉદાહરણ:

Java
  • ઉચ્ચી પ્રાથમિકતા: CPU સમય મળવાની વધુ શક્યતા
  • ગેરંટી નથી: JVM ખરેખર scheduling નક્કી કરે છે
  • Default priority: દરેક thread NORM_PRIORITY સાથે શરૂ થાય છે

મેમરી ટ્રીક: "HNG - Higher priority, Not Guaranteed"

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

Thread શું છે? Thread જીવન ચક્ર સમજાવો.

જવાબ:

Thread વ્યાખ્યા: Thread એ lightweight sub-process છે જે પ્રોગ્રામની અંદર અનેક કાર્યોના concurrent execution ની પરવાનગી આપે છે.

Thread Life Cycle આકૃતિ:

Thread સ્થિતિઓ કોષ્ટક:

સ્થિતિવર્ણન
NEWThread બન્યો પણ શરૂ થયો નથી
RUNNABLEચાલવા તૈયાર, CPU માટે રાહ જોઈ રહ્યો
RUNNINGહાલમાં execute થઈ રહ્યો
BLOCKED/WAITINGResource/condition માટે રાહ જોઈ રહ્યો
TERMINATEDExecution પૂર્ણ થયું

સ્થિતિ પરિવર્તનો:

  • NEW → RUNNABLE: start() method કૉલ થાય

  • RUNNABLE → RUNNING: Thread scheduler CPU આપે

  • RUNNING → BLOCKED: I/O અથવા lock માટે રાહ

  • RUNNING → TERMINATED: run() method પૂર્ણ થાય

  • Concurrent execution: અનેક threads એકસાથે ચાલે છે

  • JVM managed: Thread scheduler execution control કરે છે

  • Resource sharing: Threads memory space શેર કરે છે

મેમરી ટ્રીક: "NRBT - New, Runnable, Blocked, Terminated"

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

Java માં એક પ્રોગ્રામ લખો જે Thread Class અમલ કરીને બહુવિધ threads બનાવે છે.

જવાબ:

Java

Implementation પગલાં કોષ્ટક:

પગલુંક્રિયા
1Thread class extends કરો
2run() method override કરો
3Thread objects બનાવો
4start() method કૉલ કરો
  • Extends Thread: Threading capabilities inherit કરો
  • Override run(): Thread ની execution logic define કરો
  • start() method: Thread execution શરૂ કરો
  • Concurrent execution: બધા threads એકસાથે ચાલે છે

મેમરી ટ્રીક: "EOCS - Extend, Override, Create, Start"

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

Exception Handling ની મૂળભૂત વિભાવના સમજાવો.

જવાબ:

Exception Handling વિભાવનાઓ કોષ્ટક:

વિભાવનાવર્ણન
ExceptionRuntime error જે સામાન્ય flow ને ખલેલ પહોંચાડે
try blockકોડ જે exception ફેંકી શકે
catch blockવિશિષ્ટ exception પ્રકારો handle કરે
finally blockહંમેશા execute થાય, cleanup કોડ

Exception Hierarchy:

મૂળભૂત Syntax:

Java
  • Graceful handling: Exception પછી પ્રોગ્રામ ચાલુ રહે છે
  • Error prevention: પ્રોગ્રામ crash ટાળે છે
  • Resource cleanup: Finally block cleanup ensure કરે છે

મેમરી ટ્રીક: "TRCF - Try, Runtime error, Catch, Finally"

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

યોગ્ય ઉદાહરણ સાથે multiple catch સમજાવો.

જવાબ:

Java

Multiple Catch નિયમો કોષ્ટક:

નિયમવર્ણન
વિશિષ્ટ પહેલાસામાન્ય પહેલા વિશિષ્ટ exceptions handle કરો
એક catch executeમાત્ર પહેલો મેળ ખાતો catch ચાલે
ક્રમ મહત્વપૂર્ણવધુ વિશિષ્ટ થી વધુ સામાન્ય
Finally હંમેશાFinally block હંમેશા execute થાય

Exception Flow:

  • ArrayIndexOutOfBoundsException: અમાન્ય array access
  • ArithmeticException: શૂન્ય વડે ભાગાકાર
  • NumberFormatException: અમાન્ય number conversion
  • Exception: બાકીના કોઈપણ exceptions catch કરે

મેમરી ટ્રીક: "SOOF - Specific first, One executes, Order matters, Finally"

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

Exception શું છે? Arithmetic Exception નો ઉપયોગ દર્શાવતો પ્રોગ્રામ લખો.

જવાબ:

Exception વ્યાખ્યા: Exception એ એક ઘટના છે જે પ્રોગ્રામ execution દરમિયાન થાય છે અને instructions ના સામાન્ય flow ને ખલેલ પહોંચાડે છે.

Java

Exception પ્રકારો કોષ્ટક:

પ્રકારવર્ણનઉદાહરણ
CheckedCompile time પર handle કરવા પડેIOException
UncheckedRuntime exceptionsArithmeticException
Errorસિસ્ટમ સ્તરની સમસ્યાઓOutOfMemoryError

ArithmeticException કારણો:

  • શૂન્ય વડે ભાગાકાર: સૌથી સામાન્ય કારણ
  • શૂન્ય વડે modulo: બાકી કામગીરી શૂન્ય સાથે
  • અમાન્ય કામગીરીઓ: ગાણિતિક અશક્યતાઓ

પ્રોગ્રામ પ્રવાહ:

  1. સામાન્ય execution: Try block ચાલે છે
  2. Exception થાય: ArithmeticException ફેંકાય છે
  3. Exception પકડાય: Catch block તેને handle કરે છે
  4. Cleanup: Finally block execute થાય છે
  5. ચાલુ રાખો: Handling પછી પ્રોગ્રામ ચાલુ રહે છે

મેમરી ટ્રીક: "DZMI - Division by Zero, Mathematical Invalid"

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

Java માં ArrayIndexOutOfBound Exception ને ઉદાહરણ સાથે સમજાવો.

જવાબ:

ArrayIndexOutOfBound Exception કોષ્ટક:

કારણવર્ણનઉદાહરણ
નકારાત્મક index0 થી ઓછો indexarr[-1]
Index >= lengthArray size થી વધારે indexarr[5] size 3 માટે
ખાલી arrayશૂન્ય-લંબાઈ array પર accessarr[0] length 0 માટે

ઉદાહરણ:

Java
  • Runtime exception: પ્રોગ્રામ execution દરમિયાન થાય છે
  • Index validation: હંમેશા array bounds તપાસો
  • નિવારણ: Bounds checking માટે array.length વાપરો

મેમરી ટ્રીક: "NIE - Negative, Index-exceed, Empty"

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

Stream classes ની મૂળભૂત બાબતો સમજાવો.

જવાબ:

Stream Classes Hierarchy:

Stream પ્રકારો કોષ્ટક:

Stream પ્રકારહેતુClasses
Byte StreamsBinary data handle કરે છેInputStream, OutputStream
Character StreamsText data handle કરે છેReader, Writer
Buffered StreamsPerformance સુધારે છેBufferedReader, BufferedWriter
File StreamsFile operationsFileInputStream, FileOutputStream

મૂળભૂત કામગીરીઓ:

  • Input: સ્ત્રોતમાંથી ડેટા વાંચવો
  • Output: લક્ષ્ય પર ડેટા લખવો
  • Buffering: કાર્યક્ષમતા માટે ડેટા કામચલાઉ સંગ્રહ
  • Closing: સિસ્ટમ resources મુક્ત કરવા

Stream ફાયદાઓ:

  • Abstraction: I/O માટે એકસમાન interface
  • કાર્યક્ષમતા: Buffered operations
  • લવચીકતા: વિવિધ ડેટા sources/destinations

મેમરી ટ્રીક: "BCIF - Byte, Character, Input/Output, File"

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

ટેક્સ્ટ ફાઇલ બનાવવા માટે Java પ્રોગ્રામ લખો અને ટેક્સ્ટ ફાઇલ પર રાઇટ ઓપરેશન કરો.

જવાબ:

Java

ફાઇલ લખવાની પદ્ધતિઓ કોષ્ટક:

પદ્ધતિPerformanceResource Managementઉપયોગ
FileWriterમૂળભૂતManual close()સરળ writes
BufferedWriterઉચ્ચManual close()મોટો ડેટા
Try-with-resourcesઉચ્ચઆટોમેટિકભલામણ કરેલ

લખવાના કામગીરી પગલાં:

  1. Writer object બનાવો: FileWriter અથવા BufferedWriter
  2. ડેટા લખો: write() method વાપરો
  3. Stream બંધ કરો: Resources મુક્ત કરો
  4. Exceptions handle કરો: IOException management

ફાઇલ કામગીરીઓ:

  • બનાવો: અસ્તિત્વમાં નથી તો નવી ફાઇલ
  • ઓવરરાઇટ: હાલની સામગ્રી બદલે છે
  • Append: હાલની સામગ્રીમાં ઉમેરે છે (append mode વાપરો)

મેમરી ટ્રીક: "CWCH - Create, Write, Close, Handle"

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

Java માં Divide by Zero Exception ને ઉદાહરણ સાથે સમજાવો.

જવાબ:

Divide by Zero Exception કોષ્ટક:

કામગીરીપરિણામException
Integer divisionઅવ્યાખ્યાયિતArithmeticException
Float divisionInfinityકોઈ exception નહિ
Modulo by zeroઅવ્યાખ્યાયિતArithmeticException

ઉદાહરણ:

Java
  • Integer arithmetic: ArithmeticException ફેંકે છે
  • Floating point: Infinity return કરે છે (IEEE 754 standard)
  • નિવારણ: Division પહેલાં denominator તપાસો

મેમરી ટ્રીક: "IFM - Integer exception, Float infinity, Modulo error"

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

Try and catch block ઉદાહરણ સાથે સમજાવો.

જવાબ:

Try-Catch માળખું:

Java

ઉદાહરણ:

Java

Try-Catch પ્રવાહ કોષ્ટક:

BlockહેતુExecution
tryજોખમી કોડ સમાવે છેહંમેશા પહેલા execute
catchExceptions handle કરે છેમાત્ર exception થાય તો
finallyCleanup કોડહંમેશા execute
  • Exception matching: પહેલો મેળ ખાતો catch block execute
  • Control flow: Catch block પછી પ્રોગ્રામ ચાલુ રહે
  • Multiple catches: અલગ exception પ્રકારો handle કરે

મેમરી ટ્રીક: "TCF - Try risky, Catch exception, Finally cleanup"

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

ટેક્સ્ટ ફાઇલના કન્ટેન્ટ ડિસ્પ્લે કરવા માટે Java માં પ્રોગ્રામ લખો અને ટેક્સ્ટ ફાઇલ પર અપેન્ડ ઓપરેશન કરો.

જવાબ:

Java

ફાઇલ કામગીરીઓ કોષ્ટક:

કામગીરીMethodહેતુ
બનાવોFileWriter(filename)નવી ફાઇલ બનાવો
વાંચોBufferedReader.readLine()ફાઇલ સામગ્રી વાંચો
AppendFileWriter(filename, true)હાલની ફાઇલમાં ઉમેરો
દર્શાવોSystem.out.println()સામગ્રી બતાવો

ફાઇલ કામગીરીઓ પ્રવાહ:

  1. પ્રારંભિક ફાઇલ બનાવો: પ્રારંભિક સામગ્રી લખો
  2. સામગ્રી દર્શાવો: વર્તમાન સામગ્રી વાંચો અને બતાવો
  3. ડેટા append કરો: નવી માહિતી ઉમેરો
  4. અપડેટેડ દર્શાવો: સુધારેલી સામગ્રી બતાવો
  5. આંકડાકીય માહિતી: લાઇન અને અક્ષરોની ગણતરી

Append vs Write:

  • Write mode: હાલની સામગ્રીને ઓવરરાઇટ કરે છે
  • Append mode: હાલની સામગ્રીના અંતે ઉમેરે છે
  • Constructor parameter: બીજો parameter true append enable કરે છે

Resource Management:

  • Try-with-resources: આટોમેટિક close()
  • Exception handling: FileNotFoundException, IOException
  • Buffered operations: મોટી ફાઇલો માટે બહેતર performance

મેમરી ટ્રીક: "CDADS - Create, Display, Append, Display, Statistics"