Вниз  Java-программирование (1-ые посты)
- 11.12.2015 / 14:14
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, лучше сделать так, как удобнее. С int jump от 0 до 3 ты не сможешь установить значения прыжка по-диагонали. Вот варианты:

  1. // 1. Переменные boolean
  2. boolean jumpLeft, jumpRight, jumpUp;
  3. jumpLeft = true;
  4. jumpUp = true;
  5. if (jumpLeft) { .. }
  6.  
  7. // 2. Boolean массив
  8. public static int JUMP_LEFT = 0, JUMP_RIGHT = 1...
  9. boolean[] jump = new boolean[3];
  10. jump[JUMP_LEFT] = true;
  11. jump[JUMP_UP] = true;
  12. if (jump[JUMP_LEFT]) { .. }
  13.  
  14. // 3. Побитовые операции в int. Экономный, но не всегда удобный
  15. public static int JUMP_LEFT = 0x01, JUMP_RIGHT = 0x02, JUMP_UP = 0x04;
  16. int jump = JUMP_LEFT | JUMP_UP;
  17. if (jump & JUMP_LEFT != 0) { .. }

Не стоит волноваться из-за таких мелочей, как лишние 32 или даже 64 бита. Тем более в твоём примере.
__________________
 let live

Изменено aNNiMON (11.12 / 14:16) (всего 2 раза)
- 11.12.2015 / 14:25
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
Цитата aNNiMON:
С int jump от 0 до 3 ты не сможешь установить значения прыжка по-диагонали
Как это «не сможет»?
  1. 0b0000000 : byte
  2. 0b0000001 : up
  3. 0b0000010 : right
  4. 0b0000100 : left
  5. 0b0000101 : up-l
  6. 0b0000011 : up-r

Сам же в третьем пункте такое и написал :пони:
__________________
 don't tread on me

Изменено aRiGaTo (11.12 / 14:26) (всего 1 раз)
- 11.12.2015 / 14:44
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
aRiGaTo, Цитата Alexandr:
int jump; // интегер, хранящий значения от 0 до 3
Цитата aNNiMON:
С int jump от 0 до 3 ты не сможешь установить значения прыжка по-диагонали.
В твоём примере не от 0 до 3 :пони:
__________________
 let live

Изменено aNNiMON (11.12 / 14:54) (всего 1 раз)
- 11.12.2015 / 15:05
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Кому там работа со строками была нужна? https://github.com/DarkPartiza...ils/StringUtils.java
- 11.12.2015 / 15:07
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Korvin, на твой пост (#436997) отвечу, а как же выравнивание?

Я раньше для таких вещей byte использовал
- 12.12.2015 / 03:09
Oak
  Пользователь

Oak 
Сейчас: Offline
Цитата Korvin:
Не обязательнл int занимает в памяти 32 бита . JVM во вреямя выполнения выделяет нужное кол-во памяти исходя из значения переменной .
Пруф? Никогда о таком не слышал. А я много слышал
__________________
 Эль Презеденте
- 12.12.2015 / 07:33
NaruTrey
  Пользователь

NaruTrey 
Сейчас: Offline
Цитата Oak:
Пруф? Никогда о таком не слышал. А я много слышал
Я в очередь ожиданий пруфов.
__________________
 Чёрные усы кричает этот свисть
- 12.12.2015 / 09:03
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
Достаточно спеки машины посмотреть и всё станет ясно.
- 12.12.2015 / 10:54
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Oak, у меня есть предположение, о чём он.

Вот ты пишешь к примеру:
  1. int a = 0;
  2. int b = 40;
  3. int c = 8888;
  4. int d = 15456489;

И получаешь:
  1. iconst_0
  2. bipush 40
  3. sipush 8888
  4. ldc #xx// int 15456489

Но это не в памяти, а в байткоде, так что не уверен.
__________________
 let live
- 12.12.2015 / 11:32
DominaN
  Пользователь

DominaN 
Сейчас: Offline
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)