![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 41
|
![]()
Всем привет, такая программа:
Код:
Поясните как работает эта программа почему выдаёт результат "abcd qw"? Последний раз редактировалось max29; 02.05.2017 в 16:40. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 07.02.2013
Сообщений: 267
|
![]()
Вероятно (точно), потому что параметры передаются по значению. Классика.
Μολὼν λαβέ
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 41
|
![]()
Поясните плиз.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Массив тут не причем.
Код:
Можно считать, что в переменной хранится указатель/ссылка (адрес) на строку и в функцию передается копия этого значения адреса. (а может быть даже так и есть) Вы ж не удивляетесь Код:
В некоторых языках можно передавать переменную по ссылке (ref в C#, & в С++), тогда бы было так, как вы хотели. ЗЫ имена переменных в Java обычно пишутся с маленькой буквы (camelCase). http://www.oracle.com/technetwork/ja...oc-136057.html
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 02.05.2017 в 18:09. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 07.02.2013
Сообщений: 267
|
![]()
RTFM, не?
В java все аргументы передаются по значению, так что внутри doSomething1 Вы работаете с копией строки X, которая за пределами метода не существует. Так что внутри метода X == "qw", а снаружи X == "abcd" Во втором случае передается ссылка на некоторый объект, аналогично, в doSomething2 Вы работаете с копией ссылки, разница в том, что меняется не сама ссылка, а данные, на которые она указывает. Возможно, в java это какими-нибудь другими терминами наз-ся, я не знаю. Но суть такая.
Μολὼν λαβέ
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 41
|
![]()
Благодарю всех за ответы!(Вроде-бы понятно всё)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чтение строковой переменной. | Поллукс | Общие вопросы Delphi | 34 | 17.10.2015 00:15 |
Проблема со строковой переменной | MisterDie | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 27.02.2013 21:43 |
Занесение содержимого строковой переменной в поток | DannerDOS | Общие вопросы Delphi | 5 | 06.05.2010 13:28 |
Как удалить часть строковой переменной | Oooleg | Microsoft Office Excel | 1 | 21.07.2009 16:20 |
TMemoryStream присвоить строковой переменной | inndim | Общие вопросы Delphi | 3 | 06.05.2009 11:36 |