Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помощь в некоторых вопросах по написанию кода Java(массив) / 23 сообщений из 23, страница 1 из 1
14.11.2016, 20:55
    #39347114
mishanches
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
Доброе время суток, форумчане.
Недавно начал изучать язык Java, читаю и практикуюсь по книжке Шилдта. Дошел до многомерных массивов, в книжке разобран пример с такими массивами, но автор комментарием именно по нему не дает. Кто-нибудь расскажите новичку логику данного кода (можно просто сплошным текстом или комментарий к каждой строчке).

public class TwoDArray {

public static void main(String[] args) {

int twoD[] []= new int[4] [5];
int i, j, k = 0;
for(i=0; i<4; i++)
for (j=0; j<5; j++) {
twoD[i] [j] = k;
k++; }

for(i=0; i<4; i++) {
for (j=0; j<5; j++)
System.out.print(twoD[i] [j] + " ");
System.out. println();}
}

}

Ответ:

0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19

Всем откликнувшимся низкий поклон.
...
Рейтинг: 0 / 0
14.11.2016, 21:01
    #39347116
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
mishanches,

тут заполняется двухмерный массив по пять юлементов в четырех строках, а потом он же выводится.
...
Рейтинг: 0 / 0
14.11.2016, 21:02
    #39347118
Паша01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
Ну просто перебирает двумерный массив. я хз что тут комментировать
...
Рейтинг: 0 / 0
15.11.2016, 07:51
    #39347219
azsx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
Поясните, пожалуйста, как новичку в java. А зачем в twoD, D - именно в верхнем регистре? Как по мне так не догадаешься, что D надо именно так писать. Или это так принято?
...
Рейтинг: 0 / 0
15.11.2016, 09:01
    #39347245
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
...
Рейтинг: 0 / 0
15.11.2016, 09:05
    #39347248
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
azsxПоясните, пожалуйста, как новичку в java. А зачем в twoD, D - именно в верхнем регистре? Как по мне так не догадаешься, что D надо именно так писать. Или это так принято?
Обычно в именах объектов есть некоторый смысл, в данном случае имелось в виду Two Dimensional, т.е. двухмерный.
Для самого языка имена эти ничего не значат.
Насчет принято... наверно да.
Как в свое время в С++ была принята "венгерская нотация".
...
Рейтинг: 0 / 0
15.11.2016, 09:19
    #39347264
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
SQL2008azsxПоясните, пожалуйста, как новичку в java. А зачем в twoD, D - именно в верхнем регистре? Как по мне так не догадаешься, что D надо именно так писать. Или это так принято?
Обычно в именах объектов есть некоторый смысл, в данном случае имелось в виду Two Dimensional, т.е. двухмерный.
Для самого языка имена эти ничего не значат.
Насчет принято... наверно да.
Как в свое время в С++ была принята "венгерская нотация".
Кстати какая сейчас "нотация" :) в Java принята.
Ну вот я к примеру пишут так
Button myMegaSuperGigaButton = new Button();

TextField nameTextField = new TextField();
а иногда, даже в освномном всегда:
TextField nameTF = new TextField();
А если это TextArea, к примеру, то пишу TA в конце имени переменной. Если ComboBox, то CB и т.д.
Проект у меня один и работаю только я, поэтому мне понятно.
А как у других?
...
Рейтинг: 0 / 0
15.11.2016, 09:55
    #39347299
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
Nixic Кстати какая сейчас "нотация" :) в Java принята.
Ну вот я к примеру пишут так
Button myMegaSuperGigaButton = new Button();

TextField nameTextField = new TextField();
а иногда, даже в освномном всегда:
TextField nameTF = new TextField();
А если это TextArea, к примеру, то пишу TA в конце имени переменной. Если ComboBox, то CB и т.д.
Проект у меня один и работаю только я, поэтому мне понятно.
А как у других?

Это каждый решает для себя.
В крупных компаниях есть негласное, а иногда и официальное "соглашение об именовании объектов при разработке".
Что касается меня, то венгерская.
Код: java
1.
2.
3.
4.
Integer intVar;
Long    lngVar;
String  strVar;
Date    datVar;


Ну и так далее. Конечно не всегда, но на продакшн коде взял за правило.
...
Рейтинг: 0 / 0
15.11.2016, 09:57
    #39347303
13-й Пилигрим
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
azsx ,

С этого нужно было начинать - java code conventions .
Раздел 9 - Naming Conventions :
Variables Except for variables, all instance, class, and class constants are in mixed case with a lowercase first letter. Internal words start with capital letters.
Variable names should be short yet meaningful. The choice of a variable name should be mnemonic— that is, designed to indicate to the casual observer the intent of its use. One-character variable names should be avoided except for temporary “throwaway” variables. Common names for temporary variables are i, j, k, m, and n for integers; c, d, and e for characters
...
Рейтинг: 0 / 0
15.11.2016, 10:04
    #39347308
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
NixicКстати какая сейчас "нотация" :) в Java принята.
Ну вот я к примеру пишут так
Button myMegaSuperGigaButton = new Button();

TextField nameTextField = new TextField();
а иногда, даже в освномном всегда:
TextField nameTF = new TextField();
А если это TextArea, к примеру, то пишу TA в конце имени переменной. Если ComboBox, то CB и т.д.
Проект у меня один и работаю только я, поэтому мне понятно.
А как у других?
Именно для GUI, особенно если приходится саппортить Swing на NetBeans, я использую иную нотацию.
JButton btnNewServer;
JComboBox cbType;
Многие считают что полностью дублировать тип в имени переменной это лишнее. Поэтому если тип очевиден, я его никогда не пишу. Только в случаях, если это действительно необходимо, чтобы отличить переменную с аналогичным содержимым, но другого типа.
...
Рейтинг: 0 / 0
15.11.2016, 10:07
    #39347312
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
13-й Пилигрим Common names for temporary variables are i, j, k, m, and n for integers; c, d, and e for characters
Точно! Обычно короткие имена - i, j, k, m, n, q используешь для переменных цикла; с - для символов; s - для строк; b - для байтовых массивов; x,y,z - для координат геометрии; h,w,l - высота, ширина и длина; o,t или obj - для временных объектов или передаваемых ссылок на них.
...
Рейтинг: 0 / 0
15.11.2016, 10:08
    #39347315
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
e или ex - для объекта Exception.
...
Рейтинг: 0 / 0
15.11.2016, 10:46
    #39347339
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
SQL2008венгерская
+1
...
Рейтинг: 0 / 0
15.11.2016, 14:06
    #39347547
azsx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
авторTwo Dimensional
Спасибо, можно догадаться. Но переменная имеет t в нижнем регистре, а D одну (а не полным словом) и в верхнем. Соответственно на память я могу запомнить как правило, переменные пишу с нижним регистром, но если слово в переменной сокращено, то верхний регистр. Так?
Как иначе запомнить такую зависимость?
зы
иногда, я использую венгерскую нотацию, но привязываюсь к значением данных. То есть если не очевидно, то использую префиксы для рублей, долларов и километров, чтобы их случайно не сложить, вопреки всякой логике.
...
Рейтинг: 0 / 0
15.11.2016, 14:08
    #39347550
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
azsxСоответственно на память я могу запомнить как правило, переменные пишу с нижним регистром, но если слово в переменной сокращено, то верхний регистр. Так?
http://www.oracle.com/technetwork/java/codeconventions-135099.html
...
Рейтинг: 0 / 0
15.11.2016, 14:09
    #39347554
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
azsx иногда, я использую венгерскую нотацию, но привязываюсь к значением данных.
Если данные меняются, то переменная переименовывается?
Этакий интерактивный рефакторинг!
...
Рейтинг: 0 / 0
15.11.2016, 14:13
    #39347561
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
BlazkowiczazsxСоответственно на память я могу запомнить как правило, переменные пишу с нижним регистром, но если слово в переменной сокращено, то верхний регистр. Так?
http://www.oracle.com/technetwork/java/codeconventions-135099.html
В С# хорошая, на мой взгляд, практика именовать интерфейсы с I-заглавной, а делегаты заканчивая на ...Delegate.
Например

Код: c#
1.
2.
IMyCoolInterface
MyOwnLovelyDelegate
...
Рейтинг: 0 / 0
15.11.2016, 14:17
    #39347569
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
SQL2008В С# хорошая, на мой взгляд, практика именовать интерфейсы с I-заглавной
Я её до сих пор в Java использую. С шарпа перетащил.
...
Рейтинг: 0 / 0
15.11.2016, 14:45
    #39347604
azsx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
Blazkowicz спасибо. То, что я искал.
авторЕсли данные меняются, то переменная переименовывается?
Я не знаю пока ещё как будет в вашей java, но если в паскаль я храню 100.5 в переменной куренси и сперва это рубли, потом доллары, а затем (внезапно) километры - то можно даже к бабушке не ходить за советом, а сразу сказать, что в программе где-то, что-то идёт не так.
...
Рейтинг: 0 / 0
15.11.2016, 15:30
    #39347644
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
azsxBlazkowicz спасибо. То, что я искал.
авторЕсли данные меняются, то переменная переименовывается?
Я не знаю пока ещё как будет в вашей java, но если в паскаль я храню 100.5 в переменной куренси и сперва это рубли, потом доллары, а затем (внезапно) километры - то можно даже к бабушке не ходить за советом, а сразу сказать, что в программе где-то, что-то идёт не так.
а я вот храню все в одной переменной и рубли и доллары и евры. просто рядом лежит код валюты, который и определяет как воспринимать этот BigDecimal.
При желании можно еще валют добавить, кстати и курс валюты тоже там есть, так что в рублях всегда можно увидеть по чем то или иное сейчас.
Пока не прикрутил лишь подбор валюты с какой-нибудь онлайн-площадки, но это и не нужно пока.
...
Рейтинг: 0 / 0
15.11.2016, 15:32
    #39347649
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
хотя ладно, чушь я написал, у вас и так указано что куренси, да, километров там быть не должно ))
...
Рейтинг: 0 / 0
15.11.2016, 16:02
    #39347687
azsx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
автора я вот храню все в одной переменной и рубли и доллары и евры. просто рядом лежит код валюты, который и определяет как воспринимать этот BigDecimal.
Как-то сложно. То есть я префикс делаю для себя и когда пишу код, понимаю, что ру_моя_касса := ру_моя_касса - ру_оплата_интернет - ру_оплата_электроэнергия; (назову по русски). А вот ру_моя_касса := ру_моя_касса - ен_оплата_доменов; никак не будет верной от слова совсем. То есть сам так в коде не напишу! Это я называю прфикс по значению и применяю где это логично. Например отдельный переменных для километров и миллиметров заводить не стоит, надо преобразовать. А вот для дюймов и миллиметров - лучше иметь отдельные переменные, особенно если по коду они не пересекаются.
Пример выдуманный, просто нечто подобное.
---
Пример именования twoD для меня абсолютно не правильный, то есть D не информативна и вопреки логике в верхнем регистре. Однако, так как в топике такая переменная не нравится только мне, значит для всех остальных здесь всё хорошо.
...
Рейтинг: 0 / 0
15.11.2016, 22:44
    #39347953
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в некоторых вопросах по написанию кода Java(массив)
azsx---
Пример именования twoD для меня абсолютно не правильный, то есть D не информативна и вопреки логике в верхнем регистре. Однако, так как в топике такая переменная не нравится только мне, значит для всех остальных здесь всё хорошо.
Нормальный пример именования, здесь D точно должна быть большой ибо кэмелКейс. Другой вопрос, что это всего лишь D, но, как вы заметили, опытный прогер сразу вам ее расшифровал. А для данного примера вообще можно было бы использовать по одной букве для каждой переменной, ибо код короткий, дан для примера и понять его не сложно, особенно, если увидеть его вот так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        int twoD[][] = new int[4][5];
        int i, j, k = 0;
        for (i = 0; i < 4; i++) {
            for (j = 0; j < 5; j++) {
                twoD[i][j] = k;
                k++;
            }
        }
        for (i = 0; i < 4; i++) {
            for (j = 0; j < 5; j++) {
                System.out.print(twoD[i][j] + " ");
            }
            System.out.println();
        }
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помощь в некоторых вопросах по написанию кода Java(массив) / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]