Javas ievads

Pēdējais mainījis Administrator 2011-06-06 17:31

Pamatzināšanas par valodu Java - vienkārši jautājumi par Javas tehnoloģijām un valodas sintaksi.

Jauns jautājums:

Prasmes

  1. Objektorientācija Prast pierakstīt iekapsulēšanas, mantošanas attiecības; saprast klašu, abstraktu klašu un interfeisu mijiedarbību, pārveidot objektu tipus uz šaurāku/platāku mantošanas hierarhijā, atpazīt polimorfisma izpausmes.
  2. Deklarācijas, inicializācija Deklarēt klases, klašu atribūtus un metodes, lokālus mainīgos. Noteikt redzamības apgabalus, lietot deklarācijās dažādus atslēgvārdus - modifikatorus, saprast konstruktoru deklarēšanu un izpildes secību.
  3. Vadības plūsma Prast pierakstīt vadības komandas, zarošanās un cikli, lietot assert komandu. Pierakstīt izņēmumu apstrādi un prast atšķirt dažādus izņēmumu tipus.
  4. Javas API Pārzināt pakotņu java.lang, java.io, java.text izplatītāko klašu un metožu uzvedību; Javas regulāras izteiksmjes, datu formatēšanas un izvades komandas.
  5. Pavedieni Definēt un sākt pavedienus daudzpavedienu programmā, zināt pavedienu stāvokļus, prast lietot sinhronizāciju, wait un notify komandas.
  6. Kolekcijas Pārzināt Javas kolekciju API iespējas, definēt un lietot kopas, sarakstus, asociatīvus masīvus (Map).
  7. Pamattipi, masīvi, operatori Zināt pamattipu pieļaujamās vērtības, prast pierakstīt literāļus. Deklarēt un inicializēt masīvus. Saprast operatoru darbību un prast pierakstīt un aprēķināt izteiksmes.
  8. Javas tehnoloģiju pamati Pazīt pareizus apgalvojumus par klasēm, kas izpildāmas no komandrindas, zināt izstrādes vides direktoriju izvietojumu un JAR failu struktūru, Javas pirmkoda faila uzbūvi, atmiņas modeli un drazu savācēja uzvedību.

1. Objektorientācija

  • 1001
    Kas notiks, ja kompilē šādu kodu:
    class MyString extends String {
    }
    1. Kods kompilējas veiksmīgi
    2. Kods nekompilējas, jo nav definēta main() metode
    3. Kods nekompilējas, jo String ir abstract klase
    4. Kods nekompilējas, jo String ir final klase
  • 1002
    Dotas šādas klašu definīcijas:
    abstract class Figura {
        abstract double laukums();
    }
    class Kvadrats extends Figura {
    }
    Kas notiek šo klašu kompilācijas laikā?
    1. Abas klases kompilēsies
    2. Figura kompilēsies, bet Kvadrats nekompilēsies
    3. Kvadrats kompilēsies, bet Figura nekompilēsies
    4. Ne Figura, ne Kvadrats nekompilēsies
  • 1003
    Dotas sekojošas klašu definīcijas:
    class Bridge {
        Road road;
    }
    class Road {
        String name;
    }
    Kāda veida attiecība definēta starp šīm klasēm:
    1. Starp klasēm ir "is-a" jeb mantošanas attiecība
    2. Starp klasēm ir "has-a" jeb piederības attiecība
    3. Starp klasēm pastāv abas šīs attiecības
    4. Koda paraugs nedefinē nevienu no šīm attiecībām
  • 1004
    Kas jāraksta daudzpunkta vietā klases deklarācijā:
    package xpack; 
        … class X {
        // klases ķermenis
    }
    lai panāktu sekojošu efektu: Tās klases, kuras nepieder pakotnei xpack, nevar izsaukt klases X metodes?
    1. nekas nav jāraksta
    2. private
    3. final
    4. protected
  • 1005
    Kurš no sekojošiem apgalvojumiem ir aplams?
    1. Instanču metode var būt reizē protected un abstract
    2. static mainīgais var būt vienlaikus final
    3. static metode var būt vienlaikus protected
    4. static metode var būt vienlaikus abstract

2. Deklarācijas, inicializācija

  • 2001
    Kāds būs rezultāts, mēģinot kompilēt un palaist sekojošu kodu?
    class Ex {
        public static void main(String[] args) {
            Fx f = new Fx();
        }
        Ex(int i) {
        }
    }
    class Fx extends Ex {
    }
    1. Kodu neizdosies kompilēt, jo Ex klasē nav konstruktora bez argumentiem
    2. Kodu neizdosies kompilēt, jo Fx klasē nav konstruktora bez argumentiem
    3. Kodu neizdosies kompilēt, jo Ex(int i) konstruktors ir tukšs
    4. Kodu izdosies veiksmīgi kompilēt un palaist
  • 2002
    Kāds būs rezultāts, mēģinot kompilēt un palaist sekojošu kodu?
    class Ex {
        public static void main(String[] args) {
            Fx f = new Fx(5);
        }
        Ex() {
            System.out.println("Ex, no-args");
        }
        Ex(int i) {
            System.out.println("Ex, int");
        }
    }
    class Fx extends Ex {
        Fx() {
            super();
            System.out.println("Fx, no-args");
        }
        Fx(int i) {
            super(i);
            this();
            System.out.println("Fx, int");
        }
    }
    1. Standarta izvadā parādīsies rindiņas "Ex, int," "Fx, no-args" un "Fx, int"
    2. Standarta izvadā parādīsies rindiņas "Ex, no-args," "Ex, int" "Fx, no-args" un "Fx, int"
    3. Kodu neizdosies kompilēt, jo konstruktors Fx(int i) nav pareizi definēts
    4. Kodu neizdosies kompilēt, jo konstruktors Fx() nav pareizi definēts
  • 2003
    Kāds būs rezultāts, mēģinot kompilēt un palaist sekojošu kodu?
    class Ex {
        public static void main(String[] args) {
            Fx f= new Fx(5);
        }
        Ex() {
            System.out.println("Ex, no-args");
        }
        Ex(int i) {
            System.out.println("Ex, int");
        }
    }
    class Fx extended Ex {
        Fx() {
            super();
            System.out.println("Fx, no-args");
        }
        Fx(int i) {
            this();
            System.out.println("Fx, int");
        }
    }
    1. Standarta izvadā parādīsies rindiņas "Fx, int", "Fx, no-args" un "Ex, no-args".
    2. Standarta izvadā parādīsies rindiņas "Ex, no-args", "Fx, no-args" un "Fx, int".
    3. Kodu neizdosies kompilēt, jo konstruktors Fx(int i) nav pareizi definēts.
    4. Kodu neizdosies kompilēt, jo konstruktors Fx() nav pareizi definēts.
  • 2004
    Kāds ir rezultāts, ja mēģina kompilēt un darbināt sekojošu programmu
    class Q3 {
        int instVar1 = 1; 
        int instVar2; 
        public static void main(String[] args) {
            int localVar = 3; 
            System.out.println(instVar1 + instVar2 + localVar); 
        }
    }
    1. 4
    2. Kods kompilējas, bet, to palaižot, rodas ArithmeticException
    3. Kods nekompilējas, jo localVar nav pareizi inicializēts
    4. Kods nekompilējas, jo instVar2 vispār nav inicializēts
  • 2005
    Kā inicializēt masīvu ar trim boolean vērtībām, kuras visas ir true?
    1. boolean[] b = new boolean[3];
    2. boolean[] b = {true, true, true};
    3. boolean[3] b = {true, true, true};
    4. boolean[] b = new boolean[3]; b = {true, true, true};

3. Vadības plūsma

  • 3001
    Pareiza izteiksme if komandas nosacījumā ir:
    1. jebkurš no veselo skaitļu tipiem
    2. boolean
    3. var būt gan vesels skaitlis, gan boolean
    4. neviens no augstākminētajiem
  • 3002
    Dots sekojošs koda fragments:
    char c = 'a';
    switch (c) {
        case 'a': System.out.println("a"); 
        default: System.out.println("default");
    }
    Kas notiks, ja mēģināsies kompilēt un palaist programmu, kas saturēs šo koda daļu?
    1. Kods nekompilējas, jo switch komandai ir neatļauta izteiksme
    2. Kodu var palaist, un standartizvadē nekas neparādās
    3. Kods standartizvadē drukā burtu "a"
    4. Kods kompilējas un standartizvadē drukā gan vārdu "a", gan arī "default"
  • 3003
    Dots sekojošs koda fragments:
    int myInt = 3;
    if ( myInt < 3 )
        if (myInt < 5)
            System.out.println("AA");
    else
        if (myInt > 2)
            System.out.println("BB");
    else 
        System.out.println("CC");
    Ko tas izdrukās?
    1. "AA"
    2. "BB"
    3. "CC"
    4. neko
  • 3004
    Kāda veida koda rindiņām var pievienot iezīmi (label)?
    1. jebkurai koda rindiņai
    2. tikai rindiņām, kuras saistītas ar kādu ciklu (tieši pirms ieejas ciklā, cikla pirmajai rindiņai, tūlīt pēc cikla)
    3. tikai cikla pirmajai rindiņai
    4. tikai koda rindiņai, kurā sākās pats ārējais cikls
  • 3005
    Kas notiks, mēģinot kompilēt un palaist šādu programmu:
    class A {
        public static void main(String[] args) {
            try {
                System.out.println("hello");
            }
        }
    }
    1. Kods nekompilēsies - nevar būt tāds try bloks, aiz kura neseko ne catch, ne finally bloks
    2. Kods nekompilēsies, jo vienīgā rindiņa - "System.out.println" nevar izraisīt pārtveramu izņēmumu, tādēļ to nevar rakstīt try blokā
    3. Kodu varēs palaist un tas drukās "hello"
    4. Metodei main() ir pašai jādeklarē izņēmums, ja tajā try bloku lieto bez atbilstoša catch
  • 3006
    Kāds ir rezultāts, mēģinot kompilēt un palaist sekojošu kodu:
    class A {
        public static void main(String[] args) {
            method();
        }
        static void method() throws Exception {
            try {
                System.out.println("hello");
                return;
            } finally {
                System.out.println("good-bye");
            }
        }
    }
    1. Kods kompilēsies un displejā izdrukās gan "hello", gan "good-bye"
    2. Kods kompilēsies un displejā parādīs gan "hello", gan "good-bye", bet pēc tam Javas interpretators programmu pārtrauks ar paziņojumu, ka tika mests neapstrādāts izņēmums
    3. Kods nekompilēsies
    4. Kods izdrukās vienīgi "hello"
  • 3007
    Kas parādās standartizvadē, ja darbina sekojošu programmu:
    class A {
        public static void main(String[] args) {
            method(); 
        }
        static void method() {
            try {
                System.out.println("hello"); 
                return;
            } finally {
                System.out.println("good-bye"); 
            }
        }
    }
    1. "hello"
    2. "good-bye"
    3. Vispirms "hello", tad "good-bye"
    4. Kodu nevar nokompilēt, jo aiz try neseko catch

4. Javas API

5. Pavedieni

6. Kolekcijas

7. Pamattipi, masīvi, operatori

  • 7001
    Veselo skaitļu datu tipu vērtību intervāls valodā Java ir:
    1. no -216 līdz 216 - 1
    2. no -2(B-1) līdz 2(B-1), kur B ir bitu skaits datu tipā
    3. no -231 līdz 231
    4. no -2(B-1) līdz 2(B-1)-1, kur B ir bitu skaits datu tipā
  • 7002
    Kādi ir divi veidi, lai uzstādītu char mainīgajam c vērtību vienādu ar atstarpi jeb tukšumu?
    1. c = " " un c = ' '
    2. c = " " un c ='u0000'
    3. c = ' ' un c ='u0020'
    4. c = " " un c ='u0020'
  • 7003
    Kāda ir izteiksmes vērtība: 5 & 2
    1. 0
    2. 2
    3. 5
    4. 7
  • 7004
    Kāda ir izteiksmes vērtība: 10 | 2
    1. 0
    2. 2
    3. 10
    4. 14
  • 7005
    Kāds būs rezultāts, mēģinot kompilēt un palaist sekojošu kodu?
    class Tree {}
    class Pine {
        public static void main(String[] args) {
            Pine[] p = new Pine[1];
            if (p instanceof Tree[])
                System.out.println("p inherits from Tree[]");
        }
    }
    1. Kompilators paziņos, ka Tree[] nevar mantot no Pine[]
    2. Kompilators paziņos, ka Pine[] nevar mantot no Tree[]
    3. Programma strādā, un standartizvadē nekas neparādās
    4. Programma strādā, un standartizvadē parādās uzraksts "p inherits from Tree[]"
  • 7006
    Kāds būs rezultāts izteiksmei: 0x800028FF >> 3
    1. 0x900005FF
    2. 0x1000051F
    3. 0x1000011F
    4. 0xF000051F
  • 7007
    Kāds būs rezultāts kompilējot un palaižot šādu programmu?
    class Phone implements Cloneable {
        public static void main(String[] args) {
            Phone p = new Phone();
            if (p instanceof Object)
                System.out.println("Object");
            if (p instanceof Cloneable)
                System.out.println("Clonable");
        }
    }
    1. Programmu neizdosies nokompilēt
    2. Programma kompilēsies un, to palaižot, standartizvadē izdrukās "Object"
    3. Programma kompilēsies un, to palaižot, standartizvadē izdrukās "Cloneable"
    4. Programma nokompilēsies un, to palaižot, standartizvadē izdrukās gan "Object", gan "Cloneable"

8. Javas tehnoloģiju pamati

  • 8001
    Cik objektu ir drazu savākšanas kandidāti pēc sekojoša koda fragmenta izpildes?
    String s = "saka";
    s = "pa" + "saka";
    int[] arr = {1, 4, 9, 16};
    arr[3] = 0;
    arr = new int[4];
    s = null;
    1. 2
    2. 3
    3. 4
    4. 5
  • 8002
    Kurā variantā dota pareizi definēta finalize() metode?
    1. public class Stuff {
          protected void finalize() {
              // atbrīvo objekta resursus
              super.finalize(); 
          }
      }
    2. public class Stuff {
          private void finalize() throws Throwable {
              // atbrīvo resursus
              super.finalize(); 
          }
      }
    3. protected class Stuff {
          protected void finalize() throws Throwable {
              // atbrīvo resursus
              super.finalize(); 
          }
      }
    4. protected class Stuff {
          void finalize() {
              // atbrīvo resursus
              super.finalize(); 
          }
      }

Citi jautājumi

Tagi:
Izveidojis Kalvis Apsītis 2007-12-27 19:25
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation