Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 26.10.2017
Сообщений: 10

Почему переменная изменяется после выполнения метода

15.11.2017, 21:25. Показов 7234. Ответов 115
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Main {
public static void main(String []args){
    int v = 4;
    System.out.println("v= "+v);
    qw(v);
    System.out.println("v="+v);
    int tab[] = {10};
    System.out.println("tab[0]: "+tab[0]);
    ex(tab);
    System.out.println("tab[0]: "+tab[0]);
}
static void qw(int s){
    System.out.println("s= "+s);
    s++;
    System.out.println("s= "+s);
}
static void ex(int[] wrt){
    System.out.println("wrt[0]: "+wrt[0]);
    wrt[0] += 5;
    System.out.println("wrt[0]: "+wrt[0]);
}   
 
 
}
Почему переменная tab[0] изменяеться после выполнения метода , а int v - нет. Интересует именно данный случай.
Всем добра
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.11.2017, 21:25
Ответы с готовыми решениями:

Почему глобальная переменная не изменяется из функции?
Здравствуйте! Делаю такую программу. Сначала создаю анимацию - увеличение размеров контейнера. Затем, когда он становится нужного...

Какое значение примет переменная после выполнения фрагмента алгоритма, если переменная а имела значение 'ИНФОРМАТИКА'
Имеется фрагмент алгоритма, записанный на алгоритмическом языке: m := 10 b := Извлечь(а, m) нц для k от 4 до 5 с := Извлечь(а,...

После выполнения ajax-запроса переменная теряется
Возможно я чего-либо не смыслю в тонкостях работы JS. У меня есть такая функция: const DatabaseHandler = { //... request:...

115
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
17.11.2017, 20:19
Студворк — интернет-сервис помощи студентам
Kukstyler, простой вопрос: ссылочные и примитивные типы в Java в методы передаются одинаково? Да/Нет? Не надо длинных рассуждений!
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
17.11.2017, 20:25
Цитата Сообщение от Kukstyler Посмотреть сообщение
перестань забрасывать вопросами
Не перестану, пока ты не начнёшь хоть немного читать, что тебе пишут.

Цитата Сообщение от Kukstyler Посмотреть сообщение
когда сам фактически игнорируешь мои. Конкретных ответов я попросил хрендесят постов назад. Увиливаете все. Конкретных ответов на мои вопросы - 0!
Это какие, например? Вот этот что ли:
Цитата Сообщение от Kukstyler Посмотреть сообщение
А проверять мы это будем? Или оставим просто на "нет"? Значит, ты не согласен, что при implicit-ной передаче адреса, синтаксическим "трюком" какого-либо языка, адрес переменной не передаётся по значению? А по чему тогда?
? Нет никаких «синтаксических трюков», это реализация стратегии вычисления call-by-reference.

Добавлено через 1 минуту
Цитата Сообщение от Kukstyler Посмотреть сообщение
когда я могу обратиться к одному и тому-же объекту из 2-х разных методов и по средствам 2-х разных ссылок, ЭТО КАК НАЗЫВАЕТСЯ?
Это называется разыменовывание указателя, например. Посмотри последний пример, который я привёл, может поймёшь что-нибудь.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
17.11.2017, 21:09
Kukstyler, ну может с картинками понятней будет https://blog.penjee.com/wp-con... mation.gif

В случае Java и ссылочного типа, чашка - это ССЫЛКА. Еще раз: ССЫЛКА, а не то, на что она указывает. Наполнение чашки - это изменение ССЫЛКИ. Именно ССЫЛКИ, а не данных, на которые она указывает.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
17.11.2017, 21:27
Цитата Сообщение от JIeIIIa Посмотреть сообщение
ну может с картинками понятней будет
Это не правильная картинка. Здесь справа вместо call-by-reference показан call-by-pointer (ну или call-by-sharing), где чашка играет роль указателя на кофе (точнее на некоторый объём пространства, наполнение которого можно поменять).
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
17.11.2017, 21:34
korvin_, ок, возможно, картинка не лучшая.
То что содержится в кружке — это именно значение. В начале пусто (null). В процессе уже на что-то указывает. Можно считать количество кофе = адресу в памяти.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
17.11.2017, 21:38
korvin_, JIeIIIa, Господа, отвечать не буду, пока Вы оба, не изволите ответить на заданный мной вопрос, который вы нагло игнорируете вот уже пол дня. Причём ответьте ответом, а не очередным вопросом на вопрос:

Цитата Сообщение от Kukstyler
когда я могу обратиться к одному и тому-же объекту из 2-х разных методов и по средствам 2-х разных ссылок, ЭТО КАК НАЗЫВАЕТСЯ?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
17.11.2017, 21:40
Цитата Сообщение от JIeIIIa Посмотреть сообщение
В начале пусто (null)
При передаче по ссылке никаких null быть не может.

Добавлено через 1 минуту
Цитата Сообщение от Kukstyler Посмотреть сообщение
отвечать не буду, пока Вы оба, не изволите ответить на заданный мной вопрос, который вы нагло игнорируете вот уже пол дня.
У нас работа есть, знаешь ли. И я на этот вопрос уже ответил. Продублирую, может тогда ты прочитаешь:

Цитата Сообщение от korvin_ Посмотреть сообщение
то называется разыменовывание указателя, например. Посмотри последний пример, который я привёл, может поймёшь что-нибудь.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
17.11.2017, 22:32
Цитата Сообщение от korvin_ Посмотреть сообщение
У нас работа есть, знаешь ли.
Острить всё так и не твой конёк. Ты думаешь я бездельник? Не можешь ответить на вопрос - сразу юлишь, язвишь...

Возможность обратиться к одному и тому-же объекту из 2-х разных методов/функций и по средствам 2-х разных ссылок, ЭТО Разименование?... Всё ясно с тобой. Фигня полная!!! На А отвечаешь Ю, лишь бы терминами побросаться.

Найди мне хоть одну ссылку (не фуфломицин написанный каким-то умником), где будет написано, что возможность изменить значение переменной из разных функций называется Разыменованием! Хотя не трать время, всё равно не найдёшь. Ты же работаешь.

Сейчас, по закону жанра, я должен уточнить, что такое dereferencing... Да только лень, прямо говорю. Потому как, на вопросы которые задаю я - прямых и внятных ответов не получу (уже типичная ситуация с тобой).
Разыменование = dereferencing. Почитай на досуге: https://en.wikipedia.org/wiki/Dereference_operator

Замечаю у тебя не первый раз - говоришь что-то, не совсем не по делу, но всё вокруг да около, боком, да только не точно. Перескакиваешь, таким образом, на другие темы.

Я думал будет интересная и конструктивная дискуссия. Оказалось, чувакам в облом признать, что они что-то не так понимают. Козырять ответными вопросами, не ответив на заданный вам вопрос, Вы только подтверждаете, что не знаете чёткого на него ответа, но признать этого не хотите. Либо уже знаете, но самолюбие не позволяет его дать.

Весь день пытаюсь перевести дискуссию в правильные русла. Единственный, кто дал хоть какие-то конкретные ответы (согласен я с ними ли нет - отдельный вопрос), это xoraxax.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
17.11.2017, 22:41
Kukstyler, я тут попросил Вас объяснить без привязки к языку, так получил скрин из гуглтранслейта.
Догадываться что Вы понимаете под "по средствам двух разных ссылок" — нет ни малейшего желания. Не хотите объяснять что имеете ввиду — оставайтесь при своём.
Если все вокруг не правы, то, возможно, дело не в окружающих?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
17.11.2017, 22:46
Цитата Сообщение от Kukstyler Посмотреть сообщение
Острить всё так и не твой конёк. Ты думаешь я бездельник? Не можешь ответить на вопрос - сразу юлишь, язвишь...
А ты оставь претензии в духе «который вы нагло игнорируете вот уже пол дня» и никто тебе язвить не будет.

Цитата Сообщение от Kukstyler Посмотреть сообщение
Возможность обратиться к одному и тому-же объекту из 2-х разных методов/функций и по средствам 2-х разных ссылок, ЭТО Разименование?... Всё ясно с тобой. Фигня полная!!! На А отвечаешь Ю, лишь бы терминами побросаться.
У тебя-то аргументация, я смотрю, высшего уровня, да?

Цитата Сообщение от Kukstyler Посмотреть сообщение
Потому как, на вопросы которые задаю я - прямых и внятных ответов не получу (уже типичная ситуация с тобой)
Тебе давали ответы, но ты ж не читатель.

Цитата Сообщение от Kukstyler Посмотреть сообщение
Замечаю у тебя не первый раз - говоришь что-то, не совсем не по делу
Кх-м, пока что не по делу говоришь тут только ты.

Цитата Сообщение от Kukstyler Посмотреть сообщение
Я думал будет интересная и конструктивная дискуссия.
Сложно вести дискуссию с человеком, который не читает, что ему пишут.

Цитата Сообщение от Kukstyler Посмотреть сообщение
Оказалось, чувакам в облом признать, что они что-то не так понимают.
Чуваку. Ты один пока что не понимаешь, что тебе говорят.

Цитата Сообщение от Kukstyler Посмотреть сообщение
Козырять ответными вопросами, не ответив на заданный вам вопрос
«Наводящий вопрос» — слышал о таком? Их задают, чтобы человек проявил мыслительную деятельность.

Цитата Сообщение от Kukstyler Посмотреть сообщение
Вы только подтверждаете, что не знаете чёткого на него ответа
Я тебе скинул ссылку на описание evaluation strategy и даже конкретные цитаты прикрепил, но ты их проигнорировал. Я уж не говорю про примеры кода.

Добавлено через 2 минуты
Цитата Сообщение от Kukstyler Посмотреть сообщение
Разыменование = dereferencing. Почитай на досуге: https://en.wikipedia.org/wiki/Dereference_operator
Те бе бы почитать. Не только слово, но и текст, который там написан. Ключевое слово: pointer.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
17.11.2017, 23:41
JIeIIIa, пересмотрите переписку. В нескольких постах я дал ответы в самых разнообразных формах.
A ещё, если конечно хотите, ответьте сами себе, почему в данной фразе используется слово reference и что оно означает/подразумевает.:

In Java ... if the object is modified via one reference all other references see the changes.
Цитата Сообщение от korvin_ Посмотреть сообщение
А ты оставь претензии в духе «который вы нагло игнорируете вот уже пол дня» и никто тебе язвить не будет.
А потому что тут не Гестапо, и я не на допросе. Твой экзаменационный тон тоже себе оставь, не первый раз тебе говорю. И когда я каждый раз отвечаю на вопросы, а в ответ на мои вопросы получаю другие вопросы, это по меньшей мере неуважительно к оппоненту.

Цитата Сообщение от korvin_ Посмотреть сообщение
«Наводящий вопрос» — слышал о таком? Их задают, чтобы человек проявил мыслительную деятельность.
О спасибо тебе Великий Гуру! Всю жизнь мечтал, что бы мыслительная деятельность пошла, но она никак не хотела идти... И вот, повстречавшись с Тобой, она не просто пошла, но и побежала!

За сим, тему покидаю и от неё отписываюсь. Надеюсь опускаться до "ну вот, нечего было ответить, и ушёл" и прочего похожего бреда не будешь. А так, флаг тебе в руки.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
17.11.2017, 23:50
Цитата Сообщение от Kukstyler Посмотреть сообщение
А потому что тут не Гестапо, и я не на допросе.
Это вообще к чему?

Цитата Сообщение от Kukstyler Посмотреть сообщение
Твой экзаменационный тон тоже себе оставь, не первый раз тебе говорю.
Тон моим постам ты придумываешь сам, текст, он, знаешь ли, не то что бы совсем не передаёт окраску, но делает это слабо, и бОльшая часть ответственности за корректонсть интерпретации лежит на интерпретирующем. Мы тут не литераторы же.

Цитата Сообщение от Kukstyler Посмотреть сообщение
а в ответ на мои вопросы получаю другие вопросы, это по меньшей мере неуважительно к оппоненту.
Глупость. Здесь нет никакого неуважения или ещё чего либо.

Цитата Сообщение от Kukstyler Посмотреть сообщение
О спасибо тебе Великий Гуру! Всю жизнь мечтал, что бы мыслительная деятельность пошла, но она никак не хотела идти... И вот, повстречавшись с Тобой, она не просто пошла, но и побежала!
Боюсь, что она так и не смогла пойти, раз, получив ответы на свои вопросы, ты не удосужился ответить на мои и прочитать предоставленные тебе ссылки.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
18.11.2017, 13:26
Цитата Сообщение от Kukstyler Посмотреть сообщение
почему в данной фразе используется слово reference и что оно означает/подразумевает
Прекрасно понимаю почему. И именно эта фраза объясняет почему передавая ссылочный тип по значению Вы можете видеть изменение из вне.
Kukstyler, имхо, Вы за деревьями леса не видете.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
18.11.2017, 14:13
Цитата Сообщение от korvin_ Посмотреть сообщение
Это вообще к чему?
К тому, что когда я уже несколько раз, ответил на вопросы:

Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода

А мои вопросы игнорируются:
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода
Почему переменная изменяется после выполнения метода

То это игра в одни ворота. Когда ответы получает только один оппонент, дискуссия приобретает форму допроса.
Цитата Сообщение от korvin_ Посмотреть сообщение
бОльшая часть ответственности за корректонсть интерпретации лежит на интерпретирующем.
Очень ехидная и удобная позиция. Загвоздка твоей теории в том, что у многих то как раз прекрасно выходит, донести текстом свои мысли так, что бы не было никаких сомнений, по поводу вложенного в месидж тона. И для этого не обязательно быть Достоевским.
Так что, аргумент твой прихрамывает на обе ноги. Я не первый день на этом форуме (и даже кажись на пару лет раньше тебя), и посещаю не только этот. Так что, лапшу на уши мне вешать у тебя не выйдет. Получается, либо ты не очень хорошо владеешь языком (что вряд ли), либо ты специально так делаешь. Что бы если что, "официально" и передраться не за что было. -> ехидная и удобная позиция.

Цитата Сообщение от korvin_ Посмотреть сообщение
Боюсь, что она так и не смогла пойти
Всё, что мог ты сделал, о Великий! Не кори себя

JIeIIIa, Вы просто гений ухода от ответа! Моя "претензия" по поводу игнорирования моих вопросов больше как раз так и к Вам, чем к korvin_.

Цитата Сообщение от JIeIIIa Посмотреть сообщение
И именно эта фраза объясняет почему
Гнёте тавтологию!!! Дайте же нам это объяснение! Озвучьте его!!! Просим, молим, умоляем!


П.С. уточнение: я сказал, что от темы отписываюсь, в "надежде", что не будет "Послесловий". Пока они будут, естественно, я буду интересоваться, что тут вы в мой адрес говорите.
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
18.11.2017, 14:27
Цитата Сообщение от Kukstyler Посмотреть сообщение
Просим, молим, умоляем!
О себе во множественном числе?
Цитата Сообщение от Kukstyler Посмотреть сообщение
Озвучьте его!!!
Уже говорил. Только ж Вы не хотите слышать. Последний раз:
В случае Java и ссылочного типа в метод передается ссылка, но передается она by value. Подтверждение:
Java
1
2
3
4
5
6
7
8
9
10
11
public class Foo {
  public static void bar(Object o) {
     o = new Object();
  }  
 
  public static void main(String... args) {
    Object object = null;
    bar(object);
    //чуда не произошло и object как был null так и остался. Была б передача by-ref Вы б увидели изменение!
  }
}
ПЕРЕДАЧА ССЫЛКИ И ПЕРЕДАЧА ПО ССЫЛКЕ - РАЗНЫЕ ПОНЯТИЯ. Сколько раз Вам еще повторить это?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
18.11.2017, 14:58
Цитата Сообщение от JIeIIIa Посмотреть сообщение
О себе во множественном числе?
Не переходите на другие темы!

JIeIIIa, Вы отвечаете на хрен знает что. Это не ответ на мой вопрос!

ВОПРОС: в данной фразе используется слово reference и что оно означает?

Дайте ответ в форме: Слово reference в данной фразе означает: ???
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
18.11.2017, 15:03
Хотите услышать что слово ссылка означает ссылка? Или чего Вы пытаетесь добиться?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
18.11.2017, 16:03
Цитата Сообщение от JIeIIIa Посмотреть сообщение
Хотите услышать что слово ссылка означает ссылка?
Ох трудно с Вами, очень.

ДА, именно. А теперь, ответьте, как будет "обращение к объекту по ссылке" по английски?
Ожидаемый формат ответа: "обращение к объекту по ссылке" по английски будет: ???

Добавлено через 3 минуты
Просьба написать конкретно как это будет по английски. Не задавать других вопросов, не отвечать на другие вопросы.
Мой конкретный вопрос: как будет "обращение к объекту по ссылке" по английски?
0
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
18.11.2017, 16:04
Цитата Сообщение от Kukstyler Посмотреть сообщение
по английски
А чем русский язык не устраивает?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
18.11.2017, 16:20
Цитата Сообщение от Kukstyler Посмотреть сообщение
обращение к объекту по ссылк
ну допустим by reference, дальше что? )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2017, 16:20

Почему после изменения шаблона joomla 2.5 на денвере ничего не изменяется ?
html, body, fieldset { margin: 0; padding: 0; } body { margin: 0; padding: 0; font-family: Geneva, Helvetica,...

Какое значение примет переменная S после выполнения операторов
Какое значение примет переменная S после выполнения следующих операторов: а) S:=0; I:=1; repeat S:=S+I; I:=I-1 until i<=1; б)...

Пустой список после выполнения метода
Здравствуйте! Есть два метода, после выполнения первого, список, который я объявил List<Video> videos = new List<Video>()...

Какое значение примет переменная s после выполнения следующих операторов?
s=0; for (i=5; i>1; i--) s=s+i;

Какое значение получит переменная Y после выполнения фрагмента программы
Дело в том что завтро Экзамен...потестам...я не знаю как их решать...кто поможет найти приблизительное решение? Какое значение получит...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru