Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 08.12.2015
Сообщений: 249

Расширение кругозора в Java

11.09.2016, 16:40. Показов 1359. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я раньше программировал на си++,сейчас начал на java,нужно понять основные различия

1. Каковы отличия в структуре программы вычисления простого арифметического выражения на языке Си и Си++ от структуры программы на языке Java.
2. Если пакет содержит только один класс, нужно ли указывать класс, в котором находится функция main?
3. Могут ли в одном пакете определено несколько функций main и, каким образом производится запуск такого пакета?
4. Если пакет содержит несколько классов, какая информация задается при запуске такого пакета?
5. имеется ли ошибка в написании оператора
float f=2.45 и если имеется, то, как она должна быть исправлена?
6. в чем заключается отличие в использовании оператора вида int a=23.4 в программах на языке Си и в программах на языке Java?
7. Может ли использоваться функция main без формальных параметров в Java и Си?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.09.2016, 16:40
Ответы с готовыми решениями:

Java и c++ расширение
Направьте меня в правильную сторону. Хочу на андроиде запустить сетевой нод. Код этого нода работает на с++. Полностью портировать бы...

Расширение .java
Скажите, зачем нужно отдельное расширение? Почему javac не может парсить обычный txt например? Вроде никаких метаданных не нашел в этом...

Расширение типов в java
Итак есть такой код long a =0x1_0000_0000L+ 0xCAFE_BABE; System.out.println(a == 0x1_CAFE_BABEL); sout выведет false В...

3
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
11.09.2016, 17:01
Лучший ответ Сообщение было отмечено fascio27 как решение

Решение

Цитата Сообщение от fascio27 Посмотреть сообщение
1. Каковы отличия в структуре программы вычисления простого арифметического выражения на языке Си и Си++ от структуры программы на языке Java.
Как минимум отличие в том, что java - полностью объектно ориентированный язык.
Цитата Сообщение от fascio27 Посмотреть сообщение
Если пакет содержит только один класс, нужно ли указывать класс, в котором находится функция main?
Функцию main вы можете создать где угодно, в абсолютно любом классе, даже в нескольких)
Цитата Сообщение от fascio27 Посмотреть сообщение
3. Могут ли в одном пакете определено несколько функций main и, каким образом производится запуск такого пакета?
Да, в java пакет может состоять из нескольких файлов и в каждом файле только один публичный класс и вот в каждом таком классе можно определить main, а то, какой main запустится будет зависеть от того, какой класс(файл) вы попросите запустить утилиту java.
Цитата Сообщение от fascio27 Посмотреть сообщение
4. Если пакет содержит несколько классов, какая информация задается при запуске такого пакета?
Смотреть предыдущий пункт
Цитата Сообщение от fascio27 Посмотреть сообщение
5. имеется ли ошибка в написании оператора
float f=2.45 и если имеется, то, как она должна быть исправлена?
Да, литерал 2.45 типа double и нужно либо сделать его float 2.45f либо использовать приведение типов (float)2.45
Цитата Сообщение от fascio27 Посмотреть сообщение
6. в чем заключается отличие в использовании оператора вида int a=23.4 в программах на языке Си и в программах на языке Java?
В том, что в Java такое нельзя использовать То же, что и в предыдущем вопросе - сужающие преобразования, Java проектировалась так, чтобы исключить сложно отлаживаемые ошибки и если вы хотите присвоить 23.4 переменной типа int и потерять дробную часть, то вы должны явно указать это оператором приведения типа
Цитата Сообщение от fascio27 Посмотреть сообщение
7. Может ли использоваться функция main без формальных параметров в Java и Си?
В си вроде бы можно её вообще без параметров объявлять, а в Java нужно явно писать String[] args, но естественно, параметры передавать Вы не обязаны.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
11.09.2016, 21:08
Цитата Сообщение от DevAlone Посмотреть сообщение
Как минимум отличие в том, что java - полностью объектно ориентированный язык.
Это не так. В Java есть примитивные типы данных и операции над ними, не являющиеся объектами и методами, соответсвенно.

Кроме того, множество языковых конструкций не являют методами каких-то объектов: сравни, например, if-then-else в Java и методы ifTrue, ifFalse в SmallTalk, создание субкласса в SmallTalk — это не более, чем вызов метода метакласса. Конечно, многое из этого обусловленно статической типизацией Java, но ООП по природе своей динамично, так что Java — это просто «чуть больший перекос в сторону ООП», чем C++ (хотя некоторые плюсовики не согласятся и их аргументы могуть быть относительно обоснованы).

Цитата Сообщение от fascio27 Посмотреть сообщение
4. Если пакет содержит несколько классов, какая информация задается при запуске такого пакета?
«Запускается» не пакет, а метод main класса, указанного как Main-Class в манифесте jar-файла или явно аргументом командной строки.

Цитата Сообщение от fascio27 Посмотреть сообщение
Я раньше программировал на си++,сейчас начал на java,нужно понять основные различия
А судя по вопросам, ничего ты не начинал (да и раньше вряд ли «программировал на с++»,), а пытаешься выполнить какое-то тестовое задание. Начало учебного года тяжело пошло?
3
 Аватар для vvm28
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
26.02.2017, 17:18
Цитата Сообщение от fascio27 Посмотреть сообщение
1. Каковы отличия в структуре программы вычисления простого арифметического выражения на языке Си и Си++ от структуры программы на языке Java.
Отличия большие. В написании простых арифметических выражений отличий не много.
Отличия в сборке. На java вы собираете в байт-код, который выполняется на виртуальной машине java в песочнице.
На с и с++ вы собираете в объектный файл потом в бинарник.

Цитата Сообщение от fascio27 Посмотреть сообщение
2. Если пакет содержит только один класс, нужно ли указывать класс, в котором находится функция main?
Вы можете писать классы как без main, так и с main. Можно даже запускать класс как класс или как applet.
Это зависит от ваших целей. Например если вы создаете библиотеку классов, то вам не нужен main во всех этих классах.

Насчет float f=2.45 - первая ошибка, это нет точки с запятой. Вторая исправляется как уже сказали выше
float f = (float)2.45; Этим вы явно приводите double к float.

Насчет формальных параметров main по с и с++ нужно смотреть спецификации.
В java такой не компилируется как точка входа:

Java
1
2
3
4
5
6
public class MainMain {
   // public static void main(String []args) - как должно было быть
     public static void main(){
    System.out.println("main");
    }
}
Но вы можете сделать финт ушами и написать так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MainMain {
    public static void main(String []arg){
    MainMain m = new MainMain();
    m.main();
    }
     public void main(){
    System.out.println("main");
    }
}
/*
run:
main
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 10 секунды)
*/
Добавлено через 7 минут
Дополнение : Но ваш метод main() уже не будет точкой входа, в этом случае. А будет обычным методом класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.02.2017, 17:18
Помогаю со студенческими работами здесь

для расширения своего кругозора
добрый день вот решил позаниматься для расширения своего кругозора созданием веб страниц Скачал программу ADOBE DreamWeaver сs 3 и решил...

Литература "для расширения кругозора"
Посоветуйте хорошие книги по архитектуре составляющих эвм (в данном случае ibm),книга ,эээээ,советов по "правильному"...

Напишите функцию,которая заменяет расширение файла на заданное новое расширение
Напишите функцию,которая заменяет расширение файла на заданное новое расширение

Напишите процедуру, которая заменяет расширение файла на заданное новое расширение
Помогите пж очень надо,не охото 2-у по информатике прошу ПОМОГИТЕ.... Напишите процедуру, которая заменяет расширение файла на...

Exception in thread "main" java.lang.IllegalArgumentException: illegal component position at java.desktop/java.awt.Cont
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru