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

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

11.09.2016, 16:40. Показов 1349. Ответов 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,764
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,497
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru