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, $cost | 2name, #id |
| પછીના અક્ષરો | letters, digits, underscore, dollar હોઈ શકે | student123, user_name | my-var, class@ |
| Keyword પ્રતિબંધ | Java reserved words વાપરી શકાતા નથી | myClass, userName | class, int |
| Case Sensitivity | Identifier case-sensitive છે | Name ≠ name | - |
| લંબાઈ | કોઈ લંબાઈની મર્યાદા નથી | verylongvariablename | - |
મેમરી ટ્રીક: "Letters First, Keywords Never, Case Counts"
પ્રશ્ન 1(બ) [4 ગુણ]
Java ના operator ની યાદી બનાવો. Arithmetic અને Logical operator ને સમજાવો.
જવાબ:
Java Operator ના પ્રકારો:
| Operator નો પ્રકાર | ઉદાહરણો |
|---|---|
| Arithmetic | +, -, *, /, % |
| Relational | ==, !=, <, >, <=, >= |
| Logical | &&, ||, ! |
| Assignment | =, +=, -=, *=, /= |
| Unary | ++, --, +, -, ! |
| Bitwise | &, |, ^, ~, <<, >> |
| Ternary | condition ? 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 declaration | dataType 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 Programming | Object-Oriented Programming |
|---|---|---|
| અભિગમ | Top-down approach | Bottom-up approach |
| ધ્યાન | Functions અને procedures પર | Objects અને classes પર |
| Data સુરક્ષા | Data hiding નથી, global access | Data 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 Errors | Compilation દરમિયાન શોધાય છે | Syntax errors, missing semicolons |
| Runtime Errors | Program execution દરમિયાન થાય છે | Division by zero, null pointer |
| Logical Errors | Program ચાલે છે પણ ખોટું 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 ટેબલ:
| Primitive | Wrapper Class |
|---|---|
| int | Integer |
| double | Double |
| boolean | Boolean |
| char | Character |
ઉદાહરણ - 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 Specifier | Same Class | Same Package | Subclass | Other 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 |
|---|---|---|
| InputStream | Bytes વાંચવા માટે | FileInputStream, BufferedInputStream |
| OutputStream | Bytes લખવા માટે | FileOutputStream, BufferedOutputStream |
| Reader | Characters વાંચવા માટે | FileReader, BufferedReader |
| Writer | Characters લખવા માટે | 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 declaration | Package statement ઉમેરો | package mypackage; |
| 3. Compile | યોગ્ય classpath સાથે compile કરો | javac -d . ClassName.java |
| 4. Run | Fully 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 ની વિશેષતાઓ:
| વિશેષતા | ArrayList | LinkedList |
|---|---|---|
| આંતરિક રચના | Dynamic array | Doubly linked list |
| Access Time | O(1) random access | O(n) sequential access |
| Insertion/Deletion | O(n) at middle | O(1) at ends |
| Memory | ઓછી memory overhead | Pointers માટે વધુ 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"