This repository has been archived on 2024-08-23. You can view files and clone it, but cannot push or open issues or pull requests.
lessons/Java/Java.md
2023-09-24 09:01:39 +00:00

2.1 KiB
Raw Blame History

Java

Функция main

package org.example;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

Сокращения InteliJ

  • psvm - public static void main
  • sout - Sytem.out.println()
  • serr - System.err.println()
  • I - for(Object object: ){}
  • fori - for (int i = 0; i< ; i++) {}
  • shift + shift - поиск по проекту
  • ctrl + alt + t - сниппеты для блоков кода (циклы, if, switch, try-catch)
  • alt + insert - сниппеты для класса

Строки

Строки неизменяемые (immutable) и не могут иметь наследников (final). Для изменения копии

// foo и bar - 1 объект в Pool (аля static)
String foo = "foo";
String bar = "foo";
// baz - объект в куче
String baz = new String("baz");

StringBuffer и StringBuilder

Данные типы - изменяемые строки с изменениями на месте. StringBuffer синхронизирует методы, поэтому медленее, но можно работать в многопотоке. StringBuilder быстрее, но методы не синхронизирует

// Можно передать строку в инициализатор, но не обязательно
StringBuffer sb = new StringBuffer(); 

sb.append("foo");
sb.append(5);

Методы StringBuffer и StringBuilder

  • append (смотреть выше)
  • delete(int start, int end)
  • insert(int offeset, String str)
  • replace(int start, int end, String str)
  • reverse()
  • substring(int start, int end) - создаст новую строку
  • toString - перевести в строку

RegEx

RegEx - щаблон для поиска строки в тексте

Примеры RegEx

  • "java" - только слово java подойдёт
  • "\d{3}" - 3 цифры

Pattern для RegEx

Pattern - скомпилированный RegEx

Pattern p = Pattern.compile("java");
p = Pattern.compile("java", Pattern.CASE_INSENSETIVE);