global _main
extern _printf
section .text
_main:
push message
call _printf
add esp, 4
ret
message:
db 'Hello, World', 10, 0
#include <stdio.h>
int main() {
printf("Hello, World");
return 0;
}
#include <stdlib.h>
void f(int n)
{
int* array = calloc(n, sizeof(int));
do_some_work(array);
}
class Main {
public static void main(String[] args) {
int a = 45;
int b = 55;
System.out.println(sum(a, b));
}
public static int sum(int a, int b) {
return a + b;
}
}
def sum(a, b):
return a + b
if __name__ == '__main__':
a = 45
b = 55
print(sum(a, b))
class Main {
public static void main(String[] args) {
var a = 45;
var b = 55;
System.out.println(sum(a, b));
}
public static int sum(int a, int b) {
return a + b;
}
}
class Main {
public static void main(String[] args) {
var temp = "some_string";
// ошибка компиляции: temp типа String, нельзя присвоить int
temp = 78;
var a = 45;
var b = "55";
System.out.println(
// ошибка компиляции: b типа String, но ожидался int
sum(a, b)
);
}
public static int sum(int a, int b) {
return a + b;
}
}
s = "Hello, World"
s1 = {
'key': 'value'
}
# TypeError: unsupported operand type(s) for +: 'dict' and 'str'
result_str = s + s1
s = "Hello, World"
s1 = {
'key': 'value'
}
# {'key': 1}d"
result_str = s + str(s1)
const s = "Hello, World";
const s1 = {
key: 'value'
}
// Hello, World[object Object]
result_str = s + s1;
[] == ![];
+[] == +![];
0 == +false
0 == false
false == []
false == ![]
0 === false; // false
false === [] // false
0 === 0 // true
class Main {
public static void main(String[] args) {
int i = 12;
double d = 13.5;
// d == 12.0
d = i;
}
}
class Main {
public static void main(String[] args) {
int i = 12;
double d = 13.5;
// incompatible types: possible lossy conversion from double to int
i = d;
}
}
class Main {
public static void main(String[] args) {
// abc10
System.out.println("abc" + 10);
}
}
-- Без явного указания типа
add (x, y) = x + y
-- Явное указание типа
add :: (Integer, Integer) -> Integer
add (x, y) = x + y
public class Main { // (1)
public static void main(String[] args) { // (2), (4)
System.out.println("Hello, world!"); // (3)
} // (4)
}
Hello, world!
package org.example;
public class Car {
}
package org.example;
public class Car {
public String brand;
public int year;
public String color;
}
public class Main {
public static void main(String[] args) {
Car car = new Car();
car.brand = "Lada";
car.year = 2023;
car.color = "Красный";
System.out.println("Бренд: " + car.brand);
System.out.println("Год выпуска: " + car.year);
System.out.println("Цвет: " + car.color);
}
}
Бренд: Lada
Год выпуска: 2023
Цвет: Красный
public class Main {
public static void main(String[] args) {
int myNum = 10;
printNumber(myNum);
System.out.println(myNum);
}
public static void printNumber(int number) {
number = number + 10;
System.out.println(number);
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car();
car.brand = "Lada";
printCar(car);
System.out.println(car.brand);
}
public static void printCar(Car car) {
car.brand = "Moskvich";
System.out.println(car.brand);
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car();
car.brand = "Lada";
printCar(car);
System.out.println(car.brand);
}
public static void printCar(Car car) {
car = new Car();
car.brand = "Moskvich";
System.out.println(car.brand);
}
}
public class CarUtil {
public static void print(Car car) {
System.out.println("Бренд: " + car.brand);
System.out.println("Год выпуск: " + car.year);
System.out.println("Цвет: " + car.color);
}
}
public class Car {
public String brand;
public int year;
public String color;
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуск: " + this.year);
System.out.println("Цвет: " + this.color);
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car();
car.brand = "Lada";
car.year = 2023;
car.color = "Красный";
CarUtil.print(car);
car.print();
}
}
public class Car {
public String brand;
public int year;
public String color;
public Car(String brand, int year, String color) {
this.brand = brand;
this.year = year;
this.color = color;
}
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуск: " + this.year);
System.out.println("Цвет: " + this.color);
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car("Lada", 2023, "Красный");
car.print();
}
}
public class Car {
private String brand;
private int year;
private String color;
public Car(String brand, int year, String color) {
this.brand = brand;
this.year = year;
this.color = color;
}
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуск: " + this.year);
System.out.println("Цвет: " + this.color);
}
}
public class Car {
private String brand;
private int year;
private String color;
public Car(String brand, int year, String color) {
this.brand = brand;
this.year = year;
this.color = color;
}
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуск: " + this.year);
System.out.println("Цвет: " + this.color);
}
public String getBrand() {
return brand;
}
public int getYear() {
return year;
}
public String getColor() {
return color;
}
}
public class Car {
private String brand;
private int year;
private String color;
public Car(String brand, int year, String color) {
this.brand = brand;
this.year = year;
this.color = color;
}
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуск: " + this.year);
System.out.println("Цвет: " + this.color);
}
public void setBrand(String brand) {
this.brand = brand;
}
public void setYear(int year) {
this.year = year;
}
public void setColor(String color) {
this.color = color;
}
}
public class Car {
/* поля и конструктор */
public void setBrand(String brand) {
if (brand.length() < 50) {
this.brand = brand;
}
}
}
public class Car {
/* поля и конструктор */
public Car withBrand(String newBrand) {
return new Car(newBrand, this.year, this.color);
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car("Lada", 2023, "Красный");
Car newCar =
car.withBrand("Moskvich")
.withYear(1965)
.withColor("Белый");
newCar.print();
}
}
Бренд: Moskvich
Год выпуск: 1965
Цвет: Белый
public class Car {
private final String brand;
private final int year;
private final String color;
public Car(String brand, int year, String color) {
this.brand = brand;
this.year = year;
this.color = color;
}
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуск: " + this.year);
System.out.println("Цвет: " + this.color);
}
}
public class Airplane {
private final int year;
private final String color;
public Airplane(int year, String color) {
this.year = year;
this.color = color;
}
public void print() {
System.out.println("Год выпуска самолета: " + this.year);
System.out.println("Цвет самолета: " + this.color);
}
}
public class Vehicle {
protected final int year;
protected final String color;
public Vehicle(int year, String color) {
this.year = year;
this.color = color;
}
}
public class Airplane extends Vehicle {
public Airplane(int year, String color) {
super(year, color);
}
public void print() {
System.out.println("Год выпуска самолета: " + this.year);
System.out.println("Цвет самолета: " + this.color);
}
}
public class Car extends Vehicle {
private final String brand;
public Car(String brand, int year, String color) {
super(year, color);
this.brand = brand;
}
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуска: " + this.year);
System.out.println("Цвет: " + this.color);
}
}
public class VehicleUtil {
public static void printVehicle(Vehicle vehicle) {
System.out.println("Выводим информацию о технике");
vehicle.print();
}
}
public class Vehicle {
protected final int year;
protected final String color;
public Vehicle(int year, String color) {
this.year = year;
this.color = color;
}
public void print() {
// do nothing
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car("Lada", 2023, "Красный");
Airplane airplane = new Airplane(1980, "Boeing");
VehicleUtil.printVehicle(car);
VehicleUtil.printVehicle(airplane);
}
}
Выводим информацию о технике
Бренд: Lada
Год выпуск: 2023
Цвет: Красный
Выводим информацию о технике
Год выпуска самолета: 1980
Цвет самолета: Boeing
public abstract class Vehicle {
protected final int year;
protected final String color;
public Vehicle(int year, String color) {
this.year = year;
this.color = color;
}
public abstract void print();
}
public class Main {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle(1983, "Ford");
vehicle.print();
}
}
public interface Vehicle {
void print();
}
public class Car implements Vehicle {
private final String brand;
private final int year;
private final String color;
public Car(String brand, int year, String color) {
this.brand = brand;
this.year = year;
this.color = color;
}
@Override
public void print() {
System.out.println("Бренд: " + this.brand);
System.out.println("Год выпуска: " + this.year);
System.out.println("Цвет: " + this.color);
}
}
public class Main {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle(1983, "Ford");
vehicle.print();
}
}
public class Main {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle() {
@Override
public void print() {
System.out.println("Машина Ford 1983 года");
}
};
vehicle.print();
}
}
public class Main {
public static void main(String[] args) {
Vehicle vehicle = () -> System.out.println("Машина Ford 1983 года");
vehicle.print();
}
}
public enum VehicleType {
CAR,
SHIP
}
public class Vehicle {
public void move(VehicleType vehicleType) {
switch (vehicleType) {
case CAR:
System.out.println("Driving");
break;
case SHIP:
System.out.println("Sailing");
break;
}
}
}
Integer x=1; // autoboxing
int y=new Integer(1); // unboxing
public class Person {
private final String firstName;
private final String lastName;
private final String patronymic;
/* конструктор */
}
public class Main {
public static void main(String[] args) {
Person person = new Person("Петр", "Иванов", null);
System.out.println(person);
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1980, "TU-154");
airplane = null;
airplane.print();
}
}
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.example.Airplane.print()" because "airplane" is null
at org.example.Main.main(Main.java:8)
class Object {
/* other methods... */
public boolean equals(Object obj) {
return (this == obj);
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1980, "RED");
Airplane airplane2 = airplane1;
System.out.println(airplane1.equals(airplane2));
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1980, "RED");
Airplane airplane2 = new Airplane(1980, "RED");
System.out.println(airplane1.equals(airplane2));
}
}
public class Airplane {
/* поля и конструктор */
@Override
public boolean equals(Object o) {
if (o instanceof Airplane airplane) {
return year == airplane.year && Objects.equals(color, airplane.color);
}
return false;
}
}
public class Objects {
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1980, "TU-154");
Airplane airplane2 = new Airplane(1980, "TU-154");
System.out.println(airplane1.equals(airplane2));
}
}
public class Object {
public native int hashCode();
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1980, "TU-154");
Airplane airplane2 = new Airplane(1980, "TU-154");
System.out.println("HashCode для Airplane1: " + airplane1.hashCode());
System.out.println("HashCode для Airplane2: " + airplane2.hashCode());
}
}
HashCode для Airplane1: -1810167607
HashCode для Airplane2: -1810167607
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1980, "TU-154");
Airplane airplane2 = new Airplane(1990, "Boeing");
Map<Airplane, Integer> map = new HashMap<>();
map.put(airplane1, 2);
map.put(airplane2, 3);
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1980, "TU-154");
Airplane airplane2 = new Airplane(1990, "Boeing");
Map<Airplane, Integer> map = new HashMap<>();
map.put(airplane1, 2);
map.put(airplane2, 3);
System.out.println(map.get(new Airplane(1980, "TU-154")));
System.out.println(map.get(new Airplane(1990, "Boeing")));
}
}
public class Object {
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
}
public class Car implements Vehicle {
/* Поля и конструктор */
@Override
public String toString() {
return String.format("Car[brand=%s, year=%d, color=%s]", this.brand, this.year, this.color);
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car("Toyota", 2009, "WHITE");
System.out.println("Машина: " + car.toString());
System.out.println("Машина: " + car);
}
}
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane(int year, String color) {
if (color == null) {
throw new RuntimeException("Color cannot be null");
}
this.year = year;
this.color = color;
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1980, null);
airplane.print();
}
}
Exception in thread "main" java.lang.RuntimeException: Color cannot be null
at org.example.Airplane.<init>(Airplane.java:12)
at org.example.Main.main(Main.java:9)
public class Main {
public static void main(String[] args) {
try {
Airplane airplane = new Airplane(1980, null);
airplane.print();
} catch (RuntimeException e) {
System.out.println("Ошибка при создании Airplane");
}
}
}
public class Main {
public static void main(String[] args) {
try {
Airplane airplane = new Airplane(1980, null);
airplane.print();
} catch (Exception e) {
System.out.println("Ошибка при создании Airplane");
}
}
}
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane withYear(int newYear) {
if (newYear < 0) {
throw new RuntimeException("Year cannot be less than zero: " + newYear);
}
return new Airplane(newYear, this.color);
}
}
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane withYear(int newYear) {
if (newYear < 0) {
throw new Exception("Year cannot be less than zero: " + newYear);
}
return new Airplane(newYear, this.color);
}
}
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane withYear(int newYear) throws Exception {
if (newYear < 0) {
throw new Exception("Year cannot be less than zero: " + newYear);
}
return new Airplane(newYear, this.color);
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1980, "RED");
Airplane newAirplane = airplane.withYear(2000);
newAirplane.print();
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1980, "RED");
try {
Airplane newAirplane = airplane.withYear(2000);
newAirplane.print();
} catch (Exception e) {
System.out.println("Ошибка при создании нового Airplane");
}
}
}
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane(int year, String color) {
if (color == null) {
throw new IllegalArgumentException("Color cannot be null");
}
this.year = year;
this.color = color;
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1980, null);
airplane.print();
}
}
Exception in thread "main" java.lang.RuntimeException: Color cannot be null
at org.example.Airplane.<init>(Airplane.java:12)
at org.example.Main.main(Main.java:6)
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane(int year, String color) {
if (color == null) {
throw new IllegalArgumentException("Color cannot be null");
}
this.year = year;
this.color = color;
}
}
public class Main {
public static void main(String[] args) {
try {
Airplane airplane = new Airplane(1980, null);
airplane.print();
}
catch (IllegalArgumentException e) {
throw new IllegalStateException("Couldn't create Airplane");
}
}
}
Exception in thread "main" java.lang.IllegalStateException: Couldn't create Airplane
at org.example.Main.main(Main.java:11)
public class Airplane implements Vehicle {
/* поля и конструктор */
public Airplane(int year, String color) {
if (color == null) {
throw new IllegalArgumentException("Color cannot be null");
}
this.year = year;
this.color = color;
}
}
public class Main {
public static void main(String[] args) {
try {
Airplane airplane = new Airplane(1980, null);
airplane.print();
}
catch (IllegalArgumentException e) {
// в переменной 'e' хранится объект исключения, который был выброшен
throw new IllegalStateException("Couldn't create Airplane", e); // передаем 'e' вторым параметром
}
}
}
Exception in thread "main" java.lang.IllegalStateException: Couldn't create Airplane
at org.example.Main.main(Main.java:11)
Caused by: java.lang.IllegalArgumentException: Color cannot be null
at org.example.Airplane.<init>(Airplane.java:12)
at org.example.Main.main(Main.java:7)
public class Container {
private final Car value;
public Container(Car value) {
this.value = value;
}
public boolean isPresent() {
return value != null;
}
public void print() {
if (isPresent()) {
System.out.println("Container value is: " + value);
} else {
System.out.println("Container is empty");
}
}
public Car getValue() {
return value;
}
}
public class Container {
private final Object value;
public Container(Object value) {
this.value = value;
}
public boolean isPresent() {
return value != null;
}
public void print() {
if (isPresent()) {
System.out.println("Container value is: " + value);
} else {
System.out.println("Container is empty");
}
}
public Object getValue() {
return value;
}
}
public class Main {
public static void main(String[] args) {
Container container = new Container(new Car(...));
/* некоторая логика работы */
Car car = (Car) container.getValue();
}
}
public class Main {
public static void main(String[] args) {
String str = "abc";
Object obj = (Object) str;
LocalDate date = (LocalDate) obj;
}
}
Exception in thread "main" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.time.LocalDate (java.lang.String and java.time.LocalDate are in module java.base of loader 'bootstrap')
at org.example.Main.main(Main.java:10)
public class Container<T> {
private final T value;
public Container(Object value) {
this.value = value;
}
public boolean isPresent() {
return value != null;
}
public void print() {
if (isPresent()) {
System.out.println("Container value is: " + value);
} else {
System.out.println("Container is empty");
}
}
public T getValue() {
return value;
}
}
public class Main {
public static void main(String[] args) {
Container<Car> container = new Container<>(new Car(...));
/* некоторая логика работы */
Car car = container.getValue();
}
}
public class Main {
public static void main(String[] args) {
int value = getInt();
printInt(value);
}
private static Integer getInt() {
return 10;
}
private static void printInt(Integer value) {
System.out.println(value);
}
}
public class Main {
public static void main(String[] args) {
Integer valueObj = getInt();
int value = valueObj.intValue();
printInt(Integer.valueOf(value));
}
private static Integer getInt() {
return Integer.valueOf(10);
}
private static void printInt(Integer value) {
System.out.println(value);
}
}
public class Main {
public static void main(String[] args) {
printInt(null);
}
private static void printInt(int value) {
System.out.println(value);
}
}
public class Main {
public static void main(String[] args) {
Integer valueObj = null;
printInt(valueObj);
}
private static void printInt(int value) {
System.out.println(value);
}
}
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because "valueObj" is null
at org.example.Main.main(Main.java:9)
public interface Iterator<E> {
boolean hasNext();
E next();
default void remove() {
throw new UnsupportedOperationException("remove");
}
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
}
public class IterableExample {
public void iterate(Iterable<String> iterable) {
Iterator<String> iterator = iterable.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println("Current element: " + element);
}
}
}
public class IterableExample {
public void iterate(Iterable<String> iterable) {
for (String element : iterable) {
System.out.println("Current element: " + element);
}
}
}
public class ListExample {
public void iterate(List<String> list) {
for (int i = 0; i < list.size(); i++) {
System.out.println("index = " + i);
System.out.println("element = " + list.get(i));
}
}
}
public class MapExample {
public void iterate(Map<String, Integer> map) {
for (Map.Entry<K, V> entry : map.entrySet()) {
System.out.printf("Key = %s, value = %d %n", entry.getKey(), entry.getValue());
}
}
}
public class MapExample {
public void iterate(Map<String, Integer> map) {
for (String key : map.keySet()) {
int value = map.get(key);
System.out.printf("Key = %s, value = %d %n", entry.getKey(), entry.getValue());
}
}
}
public class MapExample {
public void iterate(Map<String, Integer> map) {
map.forEach((k, v) -> System.out.printf("Key = %s, value = %d %n", k, v));
}
}
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(1);
System.out.println(list);
}
}
public class Main {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(1);
System.out.println(set);
}
}
public class Main {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "Bob");
map.put(2, "Alice");
System.out.println(map);
}
}
public class Main {
public static void main(String[] args) {
String[] arr = new String[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = "Str" + i;
}
}
}
public class Airplane {
private final int year;
private final String color;
public Airplane(int year, String color) {
this.year = year;
this.color = color;
}
/* другие методы */
}
public class Color {
public static final String WHITE = "WHITE";
public static final String BLUE = "BLUE";
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1985, Color.WHITE);
/* действия с airplane... */
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1985, Color.WHITE);
Airplane airplane2 = new Airplane(1985, "white");
System.out.println(airplane1.equals(airplane2));
}
}
public enum Color {
WHITE, BLUE;
}
public class Color extends Enum<Color> {
public static final Color WHITE = new Color("WHITE", 0);
public static final Color BLUE = new Color("BLUE", 1);
private Color(String name, int ordinal) {
super(name, ordinal);
}
/* другие методы из класса Enum */
}
public enum Color {
WHITE("белый"), BLUE("синий");
private final String ru;
Color(String ru) {
this.ru = ru;
}
public String getRu() {
return ru;
}
}
public enum Color {
WHITE("белый"), BLUE("синий");
private final String ru;
Color(String ru) {
this.ru = ru;
}
public String getRu() {
return ru;
}
}
public class Main {
public static void main(String[] args) {
for (Color color : Color.values()) {
System.out.println(color.getRu());
}
}
}
public class Airplane {
private final int year;
private final Color color;
public Airplane(int year, String color) {
this.year = year;
this.color = color;
}
/* другие методы */
}
public class Main {
public static void main(String[] args) {
Airplane airplane = new Airplane(1985, Color.WHITE);
/* действия с airplane... */
}
}
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new Airplane(1985, Color.WHITE);
Airplane airplane2 = new Airplane(1985, "white"); // COMPILE ERROR!
System.out.println(airplane1.equals(airplane2));
}
}
public class CustomerRepository {
/* поля и конструктор */
public Customer findById(CustomerId id) {
if (!existsById(id)) {
return null;
}
/* логика поиска Customer по id */
}
}
public class Main {
public static void main(String[] args) {
CustomerRepository customerRepository = createCustomerRepository();
Customer customer = customerRepository.findById(new CustomerId(1));
System.out.println(customer.getSalary());
}
private static CustomerRepository createCustomerRepository() {
/* логика создания CustomerRepository */
}
}
public class CustomerRepository {
/* поля и конструктор */
public Optional<Customer> findById(CustomerId id) {
if (!existsById(id)) {
return Optional.empty();
}
/* логика поиска Customer по id */
return Optional.ofNullable(customer);
}
}
public class Main {
public static void main(String[] args) {
CustomerRepository customerRepository = createCustomerRepository();
Optional<Customer> customer = customerRepository.findById(new CustomerId(1));
if (customer.isPresent()) {
Customer value = customer.get();
System.out.println(customer.getSalary());
}
}
private static CustomerRepository createCustomerRepository() {
/* логика создания CustomerRepository */
}
}