Java - компілятор чи інтерпритатор?
Початковий код будь-якої програми на мові Java представляється звичайними текстовими файлами, які можуть бути створені у будь-якому текстовому редакторові або спеціалізованому засобі розробки і мають розширення .java. Ці файли подаються на вхід Java- компілятора, який транслює їх в спеціальний Java байт-код. Саме цей компактний і ефективний набір інструкцій підтримується JVM і является невід'ємною частиною платформи Java.
Результат роботи компілятора зберігається у бінарних файлах з розширенням .class. Java- додаток, що складається з таких файлів, подається на вхід віртуальній машині, яка починає їх виконувати, або інтерпретувати, оскільки сама є програмою.
Для роботи yеобхiдно скачати
http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html
Компiлюємо в папцi C:\Program Files\Java\jdk1.7.0_05\bin або встановлюємо path C:\Program Files\Java\jdk1.7.0_05\bin
javac програма.java
запускаємо без розширення
java програма
Типи даних, що використовуються в мові JAVA
В мові java є дві категорії типів даних: У Java існує всього 8 типів даних, які не є об'єктами. Вони були визначені в першої версії і ніколи не мінялись. Це п'ять цілочисельних типів: byte, short, int, long, до них також відносять символьний char. Потім два дробові типи float та double і, наконец, булевий тип boolean. Такі типи називаються простими, або примітивними(від англійського primitive), Усі інші типи - об'єктні або посилальні(англ. reference). Наприклад, при оголошенні змінної, яка повинна містити ціле число, використовуємо ключеве слово int: |
int iVar;
Проте для представлення дуже великих чисел може виявитися недостатнім той об'єм пам'яті, який резервується компілятором для змінних з типом int. Для таких змінних краще підстрахуватися і використати тип long : |
long lVar;
В таблице 1 приведены наиболее важные элементарные типы данных. Для каждого типа данных в таблице приведен также диапазон значений, которые могут принимать переменные указанного типа. |
1 | char | Окремі символи: ‘a’, ‘!’, ‘\n’ |
2 | byte | Ціле число: від -128 до 127 |
3 | short | Ціле число: від -32 768 до 32 767 |
4 | int | Ціле число: від -2 147 483 648 до 2 147 483 647 |
5 | long | Ціле число: від -9223372036854775808 до 9223372036854775807 |
6 | float | Число з плаваючою крапкою: від -3.40e+38 до +3.40e+38 |
7 | double | Дробове число з плаваючою крапкою: от -1.79e+308 до +1.79e+308 |
8 | boolean | Логічні значення : true (істина) або false (хибність) |
Иногда элементарных типов данных не достаточно, тогда вводятся
самостоятельно определенные типы данных (производные типы данных). Это
достигается с помощью определение соответствующих классов. Такие типы
данных называются классами, и мы будем сталкиваться с ними на протяжении
всей книги. Большое количество таких классов содержаться в пакетах java. В качестве примера можно привести класс String, который содержаться в пакете java.lang. Этот класс содержит большое количество методов, полезных при работе с символьными строками. Для декларирования переменной с типом String мы действуем обычным образом, как и при декларировании переменных, с элементарными типами данных. Сначала идет указание типа данных, затем – имя переменной: |
String сString;
Переменные (локальные переменные и поля класса)
Здесь мы будем рассматривать только простые переменные Java.В зависимости от того, где объявлена переменная, это может быть:
- Локальная переменная – вспомогательная временная переменная, существующая только пво время выполнения определенной функции или блока операторов - строк кода или
- Переменная класса (или поле класса– более точный термин Java) – переменная, присутствующая в любом объекте класса, время жизни которой равно времени жизни объекта.
Локальные (временные) переменные
Локальные переменные объявляются в таких разделах Java кода, как блок, оператор цикла или тело функции. они создаются и инициализируются при начале выполнения секции кода и уничтожаются после завершения его выполнения. Объявление состоит из типа переменной, имени и необязательной инициализации. Объявление представляет собой оператор (statement), поэтому его нужно заканчивать точкой с запятой. Например:
double
sum = 0; //вещественная переменная sum, изначально равна 0
int
k; //целочисленная переменная k, не проинициализирована
String msg = ok ? "OK" : "Not OK"; //текстовая переменная msg, проинициализированная выражением
Локальные переменные можно объявить и использовать в тех полях
AnyLogic, в которых задаются действия (последовательности операторов -
строк кода), таких, как Действие при запуске класса активного объекта, Действие
событий и переходов, Действие при входе и Действие при выходе состояний, свойствах Действие при входе и Действие при выходе библиотечных объектов. В приведенном на рисунке ниже примере переменные sum и p объявляются в коде действия события endOfYear и существуют только во время выполнения этого фрагмента кода.
Локальные
переменные, объявленные в коде Действия события
Переменные класса (поля)
Переменные Java (поля) класса активного объекта являются частью "памяти" или "состояния" активных объектов. Они могут быть объявлены как графически (с помощью элемента простая переменная), так и в коде.
Переменная
активного объекта, объявленная в графическом редакторе
На рисунке выше переменная income
типа int
объявлена в классе активного объекта (или эксперимента). Тип доступа - public,
поэтому она будет доступна отовсюду. Начальное значение: 10000.
Графическое объявление переменной эквивалентно строке кода класса,
которую можно написать, например, в Дополнительном коде класса на странице Дополнительные
свойств класса, см. рисунок ниже:
Аналогичная
переменная, объявленная в Дополнительном коде класса
Графическое объявление переменной позволяет Вам визуально объединять
их вместе со схожими по назначению функциями и объектами, а также
просматривать и изменять значение переменной в режиме выполнения модели
одним щелчком.Конвертация строки в числовой формат на языке Java производится так:
- byte b = Byte.parseByte("234");
- short s = Short.parseShort("234");
- int i = Integer.parseInt("234");
- long l = Long.parseLong("234");
- float f = Float.parseFloat("234.4");
- double d = Double.parseDouble("233.4e10");
- int i = Integer.parseInt("38 parrots"); // не будет работать!!!
Что касается обратного преобразования, то можно сделать вот так:
- String str = Integer.toString(100500);
- String str = 100500 + "";