Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты по java (нет 16 и 23) .doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
111.62 Кб
Скачать
  1. Jdk и виртуальная машина java

Технология Java — это более чем язык программирования, это платформа. Платформа — это аппаратное и (или) программное окружение, в котором работают приложения. Язык Java необычен тем, что программа одновременно и компилируется и интерпретируется.

Сначала исходный текст программы компилируется в промежуточный код — (байт-код), который является платформонезависимым и выполняется интерпретатором платформы Java. Компиляция выполняется один раз, при создании программы, а интерпретация — каждый раз при ее выполнении. На первой стадии использование компилятора позволяет выполнить проверку корректности и оптимизацию кода, на второй стадии использование интерпретатора позволяет провести анализ безопасности и трансляцию операций, специфических для конкретного окружения (различных аппаратных платформ и операционных систем).

Байт-код является аналогом машинных кодов реальных процессоров для стек-ориентированной виртуальной машины Java. Вообще говоря, Java-машина является виртуальной в том смысле, что она не существует в виде реальных микросхем и других устройств, а представляет собой программный эмулятор, выполняющийся на какой-либо традиционной аппаратной платформе. Как и любая вычислительная машина, она имеет набор инструкций и использует различные области памяти. Формат команд Java-машины довольно прост (обычно команды не имеют операндов и занимают один байт), по этой причине программы, подготовленные для выполнения на Java-машине, часто называют байт-кодами.

В настоящее время пакеты разработчика Java (Java Development Kit, JDK), включающие в себя компилятор, виртуальную машину, прочий инструментарий и исчерпывающую документацию, реализованы для всех основных платформ, включая Windows, Linux, Solaris, MacOS. А клиентские виртуальные машины встраиваются даже в электронные органайзеры и мобильные телефоны.

Как уже было сказано выше, платформа — это аппаратное и программное окружение, в котором выполняются приложения. Большинство платформ — MacOS, Windows, Solaris и т.д. — являются совокупностью и программного, и аппаратного обеспечения. В отличие от них, платформа Java является чисто программной и состоит из двух частей:

  • виртуальной машины Java;

  • интерфейса прикладного программирования Java (Java API).

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

  1. Примитивные типы

Булевский (логический) тип

boolean – допускает хранение значений true или false

Целочисленные типы

char – 16-битовый символ Unicode

byte – 8-битовое целое число со знаком

short – 16-битовое целое число со знаком

int – 32-битовое целое число со знаком

long – 64-битовое целое число со знаком

Целые типы различаются по размеру отведенной для них памяти. Целочисленные константы могут задаваться в программе одним из трех способов: в виде десятичных, шестнадцатеричных и восьмеричных значений. По умолчанию все числа интерпретируются как десятичные и относятся к типу int

Вещественные типы

float – 32-битовое число с плавающей точкой (IEEE 754-1985)

double – 64-битовое число с плавающей точкой (IEEE 754-1985)

Переменные с плавающей точкой могут хранить не только численные значения, но и любой из особо определенных флагов (состоянии): отрицательная беско­нечность, отрицательный нуль, положительная бесконечность, положительный нуль и «отсутствие числа» (not-a-number, NaN).

Все константы с плавающей точкой подразумеваются принадлежащими к типу double. Чтобы задать число типа float, необходимо добавить в его конец символ "f" или символ "F".

  1. Циклы

Циклы нужны для выполнения одних и тех же действий несколько раз. В Java можно использовать три вида циклов:for, while, do-while.

Цикл for выполняет инициализацию перед первой итерацией. Затем он выполняет сравнение, а в конце каждой итерации выполняется, некоторого рода, “шагание”. Форма цикла for следующая:

for(инициализация; логическое выражение; шаг)

инструкция

public class ListCharacters {

public static void main(String[] args) {

for( char c = 0; c < 128; c++)

System.out.println(

"value: " + (int)c +

" character: " + c);

}}

Форма цикла while следующая:

while(Логическое выражение)

инструкция

Логическое выражение вычисляется один раз в начале цикла, а затем каждый раз перед каждой будущей итерацией для инструкции.

public class WhileTest {

public static void main(String[] args) {

double r = 0;

while(r < 0.99d) {

r = Math.random();

System.out.println(r);

}}}

do-while

do

инструкция

while(Логическое выражение);

Главное отличие между while и do-while в том, что инструкция в цикле do-while всегда выполняется не менее одного раза, даже если вычисленное выражение ложное с самого начала. В цикле while, если условие ложное в первый раз, инструкция никогда не выполнится. На практике do-while используется реже, чем while.