JavaRush /Курсы /Java Syntax /Знакомство с программой

Знакомство с программой

Java Syntax
1 уровень , 1 лекция
Открыта

— Привет, мой юный друг. Надеюсь, ты не забыл, что я — бюрократ в 16-м поколении. Если бы я не систематизировал все знания, которые у меня есть, то никогда бы не добился таких высот. У меня куча разной справочной информации. Я буду помогать тебе с некоторыми задачами. Давай для начала я расскажу тебе, что представляет собой типичная программа на Java.

— Да, я слушаю.

— Факт первый. Программа на Java состоит из классов. Каждый класс хранится в отдельном файле. Имя файла совпадает с именем класса, расширение файла – java.

— Программа состоит из набора файлов с расширением java, и в каждом файле написан код одного класса, так?

— Абсолютно правильно, Амиго! Если файл называется MyCat.java, то он содержит класс MyCat.

— Факт второй. Когда у нас много файлов с классами, мы группируем их в папки и подпапки. Классы при этом группируются по пакетам и подпакетам. Имена пакетов и подпакетов нужно указывать в коде класса, и они должны совпадать с именами папок и подпапок на диске.

— Т.е. с одной стороны у нас есть файлы, разложенные по папкам, а с другой — классы, разложенные по пакетам. При этом имя класса обязано совпадать с именем файла, в котором этот класс описан. А имя пакета совпадает с именем папки, в которой хранится класс.

— А можно больше подробностей?

— Имена вложенных пакетов описываются через точку, почти как ссылки в интернете.

— Т.е. если у тебя есть класс Cat, который лежит в пакете “animals.pets”, то это значит, что:

  1. На диске есть папка, например src, где хранятся все файлы проекта;
  2. В ней есть папка animals, в которой есть папка pets,
  3. В папке pets есть файл Cat.java, который и содержит код класса Cat.

— Вроде понял, но не уверен.

— Смотри, структура классов и пакетов полностью повторяет структуру папок и файлов на диске. Если есть файл House.java, который лежит в папке src/com/houses/, то это значит, что существует класс House, который находится в пакете com.houses.

— Понял.

— А ты сообразительный малый. Внимание на экран — вот код небольшого класса. Я подписал все ключевые моменты:

 ИМЯ ПАКЕТА
package com.futujava.lesson2;
import java.io.IOExсeption;
/**
 * User: General
 * Date: 12/21/12
 * Time: 11:59
 */
             ИМЯ КЛАССА
public class Task1
{
                                                           
   private static String TEXT = "Kiss my metal shiny ass"; ⎥ ПЕРЕМЕННАЯ КЛАССА
                                                           
                                                                
   public static void main(String[] args) throws IOExсeption    
   {                                                            
      ВЫВОД ТЕКСТА НА ЭКРАН       ОДНОСТРОЧНЫЙ КОММЕНТАРИЙ      
      System.out.println(TEXT); //Выведет на экран одну строку  
        МНОГОСТРОЧНЫЙ КОММЕНТАРИЙ                               
      /*                                                        
        Это многострочный комментарий.                          
        Код ниже выведет на экран три одинаковые строчки.       ⎥ МЕТОД main()
       */                                                       
      ОБЪЯВЛЕНИЕ ПЕРЕМЕННОЙ                                     
      String s = "Ho-ho-ho!";                                   
      ВЫЗОВ МЕТОДА                                              
      printTextMoreTimes(s, 3);                                 
   }                                                            
                                                                
                                         АРГУМЕНТЫ МЕТОДА     
   public static void printTextMoreTimes(String s, int count) ⎥ ЗАГОЛОВОК МЕТОДА
                                                              
                                                                
   {                                                            
      ЦИКЛ                                                      
      for (int i = 0; i < count; i++)                           
      ТЕЛО ЦИКЛА                                                ⎥ ТЕЛО/КОД МЕТОДА
      {                                                         
         System.out.println(s);                                 
      }                                                         
   }                                                            

}

— Все понятно, насколько это может быть понятно с первого раза. Хе-хе.

— Молодец! Много и не надо. Ты главное хоть что-нибудь пойми, а полное понимание придет со временем. Теперь я пойду спать, а тобой займётся кто-нибудь ещё.

SELECT name, /* фамилия опущена для краткости */ age
FROM students;

Так же их очень удобно использовать, если вы временно хотите отключить часть запроса, чтобы потом вернуть:

1
Задача
Java Syntax Pro, 1 уровень, 1 лекция
Недоступна
Амиго очень умный
Амиго очень умный
Комментарии (704)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
vlafriday Уровень 1
30 декабря 2023
30.12.2023 check, мой уровень 1
Arturas Уровень 8 Expert
9 июля 2023
Правильно-ли я понял: 1. в папке Task1 находится файл с классом Task1.java 2. в папке lesson 2 находятся папки Task1, Task2 и так далее 3. в папке futujava находятся папки lesson1, lesson2 и так далее Если то что я написал выше верно, то для понимания текста нужно представить где все эти файлы должны будут распологаться и понять систему наименования файлов. Поправте меня, если ошибаюсь.
Павел Уровень 8
9 февраля 2025
Верно 3. В первом пункте правильно: В папке lesson2 есть файл Task1.java. Во втором пункте правильно папки lesson1, ....,lessonn лежат в папке futujava. То есть получается, как пример, com.futujava.lesson2 класс Task1 то же самое, что и С:\src\com\futujava\lesson2 файл Task1.java
Dinislam Aminev Уровень 16 Expert
21 января 2023
В данной лекции Бюрократа в 16 поколении написали в маленькой буквы! Хотя на 0-м уровне говорилось точно, что с большой!)))))
Быкова Регина Уровень 33
9 ноября 2022
"Имя файла совпадает с именем класса" - не обязательно. Если класс не public, то имя класса может не совпадать с именем файла.
Дмитрий Уровень 4
21 июня 2022
Выписать пример на ватман и приклеить в туалете. Не снимать до полного понимания.
Вадим Уровень 13
24 сентября 2021
Я один не понял, зачем здесь Exception?
Ruvino Уровень 8
15 декабря 2021
Вы имеете ввиду импорт перед названием класса или после метода майн, через ключевое слово?

throws
51_Drummer Уровень 25
27 января 2022
Возможно, потому что тут

 printTextMoreTimes(s, 3)
вам не запретить вместо тройки всякого понаписать.
Сергей Уровень 1
5 апреля 2021

пщ
Магомед Уровень 4
11 марта 2021
))
playworld2080 Уровень 1
26 февраля 2021

только в перед
hidden #2538705 Уровень 3
21 февраля 2021
 
Вперед...
Только вперед...