Introduction to programming course TU Delft terminology

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/184

flashcard set

Earn XP

Description and Tags

(Created with AI)

Last updated 3:24 PM on 10/14/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

185 Terms

1
New cards

Compiler

Translates Java source code (.java) into bytecode (.class) that the JVM can run

2
New cards

JVM (Java Virtual Machine)

Runs compiled Java bytecode, which makes Java platform independent

3
New cards

JDK vs JRE

JDK contains the tools to develop Java (compiler, debugger); JRE only contains what is needed to run Java programs

4
New cards

Bytecode

Platform independent intermediate code produced by the Java compiler

5
New cards

Syntax error

Code that breaks the language rules; caught at compile time

6
New cards

Runtime error

Error that occurs while the program runs (e.g. exception, division by zero)

7
New cards

Logic error

Program runs but produces wrong results because the algorithm is wrong

8
New cards

Primitive type

Basic built in type stored directly as a value: byte, short, int, long, float, double, char, boolean

9
New cards

Reference type

Variable that stores the address of an object on the heap (classes, arrays, String)

10
New cards

Variable

Named memory location with a type that holds a value

11
New cards

Declaration vs initialization

Declaration states type and name (int x;); initialization gives the first value (x = 5;)

12
New cards

Literal

A fixed value written directly in code (e.g. 42, 3.14, 'a', "hello", true)

13
New cards

Constant (final)

Variable declared with final; its value cannot change after assignment

14
New cards

Casting

Converting a value from one type to another; widening is implicit, narrowing needs an explicit cast

15
New cards

Integer division

Division of two ints discards the fractional part (7 / 2 == 3)

16
New cards

Modulo operator (%)

Gives the remainder after division (7 % 2 == 1)

17
New cards

Operator precedence

The order in which operators are evaluated in an expression

18
New cards

Short circuit evaluation

&& and || stop evaluating as soon as the result is known

19
New cards

Increment/decrement (++ / --)

Adds or subtracts 1; prefix changes the value before use, postfix after use

20
New cards

Overflow

A value exceeds the range of its type and wraps around

21
New cards

Expression

Code that evaluates to a single value

22
New cards

Statement

A complete instruction ending in a semicolon

23
New cards

Scope

The region of code where a variable is visible and usable

24
New cards

Block

Code between curly braces { } that defines a scope

25
New cards

Conditional

Control flow that executes code depending on a boolean condition (if, else if, else, switch)

26
New cards

Switch statement

Selects one of many code paths based on the value of an expression

27
New cards

Ternary operator

Shorthand conditional: condition ? valueIfTrue : valueIfFalse

28
New cards

Loop

Repeats code while a condition holds (for, while, do while, enhanced for)

29
New cards

Enhanced for loop (for each)

Iterates over every element of an array or Iterable without using an index

30
New cards

do while loop

Loop that checks its condition after the body, so it runs at least once

31
New cards

break

Immediately exits the nearest enclosing loop or switch

32
New cards

continue

Skips the rest of the current loop iteration and moves to the next one

33
New cards

Infinite loop

Loop whose condition never becomes false

34
New cards

Off by one error

Bug where a loop or index runs one time too many or too few

35
New cards

Method

Named block of code that performs a task, can take parameters and return a value

36
New cards

Parameter vs argument

Parameter is the variable in the method definition; argument is the actual value passed in the call

37
New cards

Return type

The type of value a method gives back; void means nothing is returned

38
New cards

Method signature

Method name plus its parameter types (return type not included)

39
New cards

Method overloading

Several methods with the same name but different parameter lists in the same class

40
New cards

Pass by value

Java copies the argument; for objects the copy of the reference is passed

41
New cards

Recursion

A method that calls itself, needs a base case to stop

42
New cards

Base case

The condition in a recursive method that stops further recursive calls

43
New cards

Call stack

Structure of stack frames for active method calls

44
New cards

Class

Blueprint that defines the fields and methods of objects

45
New cards

Object

An instance of a class with its own state stored in its fields

46
New cards

Instance

A specific object created from a class

47
New cards

Field (attribute)

Variable that belongs to an object (instance variable) or class (static variable)

48
New cards

Instance variable

Field with a separate copy for each object

49
New cards

Local variable

Variable declared inside a method; exists only during that call and has no default value

50
New cards

Constructor

Special method with the class name and no return type that initializes a new object

51
New cards

Default constructor

Constructor with no parameters that Java provides only if you write no constructors yourself

52
New cards

this

Reference to the current object; also used to call another constructor (this(…))

53
New cards

new

Keyword that allocates memory for a new object and calls its constructor

54
New cards

null

Special value meaning a reference points to no object

55
New cards

NullPointerException

Thrown when you use a reference that is null

56
New cards

Encapsulation

Hiding internal state (private fields) and exposing it only through methods

57
New cards

Getter / setter

Methods that read or modify a private field in a controlled way

58
New cards

Access modifier

Controls visibility: public, protected, package private (default), private

59
New cards

private

Visible only inside the declaring class

60
New cards

protected

Visible in the same package and in subclasses

61
New cards

public

Visible everywhere

62
New cards

Package

Namespace that groups related classes

63
New cards

Import

Statement that makes classes from another package usable by their short name

64
New cards

static

Belongs to the class itself rather than to any specific object

65
New cards

Static method

Method that can be called without an object and cannot use this or instance fields directly

66
New cards

Static vs dynamic binding

Static binding is decided at compile time (overloading, static, private); dynamic binding is decided at runtime based on the actual object (overriding)

67
New cards

Garbage collection

Automatic removal of objects that are no longer referenced

68
New cards

Stack

Memory for method calls, local variables and references

69
New cards

Heap

Memory where all objects live

70
New cards

Aliasing

Two or more references pointing to the same object

71
New cards

Immutable object

Object whose state cannot change after creation (e.g. String)

72
New cards

Wrapper class

Object version of a primitive (Integer, Double, Boolean, Character)

73
New cards

Autoboxing / unboxing

Automatic conversion between a primitive and its wrapper class

74
New cards

toString()

Method that returns a String representation of an object; called implicitly when printing

75
New cards

equals()

Method that checks logical equality of objects; default implementation compares references

76
New cards

hashCode()

Returns an int hash for an object; equal objects must have equal hash codes

77
New cards

equals/hashCode contract

If a.equals(b) then a.hashCode() == b.hashCode(); override both together

78
New cards

== vs equals

== compares primitive values or references; equals compares object content (if overridden)

79
New cards

compareTo()

Method of Comparable that defines natural ordering (negative, zero, positive)

80
New cards

Comparable

Interface with compareTo that gives a class a natural ordering

81
New cards

Comparator

Interface that defines a custom ordering through compare(a, b)

82
New cards

Array

Fixed size, indexed collection of elements of the same type

83
New cards

Array index

Position of an element in an array, starting at 0

84
New cards

ArrayIndexOutOfBoundsException

Thrown when an array index is negative or at least the array length

85
New cards

Multidimensional array

Array of arrays, e.g. int[][]

86
New cards

Collection

Object that groups multiple elements (List, Set, Queue)

87
New cards

ArrayList

Resizable array backed List that keeps insertion order and allows duplicates

88
New cards

LinkedList

List implemented as a chain of nodes; fast insertion and removal at the ends

89
New cards

List

Ordered collection that allows duplicates and access by index

90
New cards

Set

Collection with no duplicate elements

91
New cards

HashSet

Set based on hashing; no guaranteed order, fast lookup

92
New cards

TreeSet

Set that keeps its elements sorted

93
New cards

Map

Collection of key value pairs with unique keys

94
New cards

HashMap

Map based on hashing; no guaranteed order, fast lookup by key

95
New cards

Iterator

Object used to traverse a collection element by element (hasNext, next, remove)

96
New cards

Generics

Allow classes and methods to work with a type parameter (e.g. List) for compile time type safety

97
New cards

Diamond operator <>

Lets the compiler infer the generic type arguments (new ArrayList<>())

98
New cards

Inheritance

A subclass acquires the fields and methods of a superclass (extends)

99
New cards

Superclass / subclass

Parent class that is extended / child class that extends it

100
New cards

is a relationship

Inheritance models "is a" (a Dog is an Animal)