Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


String str; //объявление ссылки




str = new String(); //создание объекта

Однако эти два действия обычно объединяют в одно:

String s = new String();/*объявление ссылки и создание объекта*/

Оператор newвызывает конструктор, поэтому в круглых скобках могут стоять аргументы, передаваемые конструктору. Операция присваивания для объектов означает, что две ссылки будут указывать на один и тот же участок памяти.

Базовые типы данных

Определено восемь базовых типов данных, размер каждого из которых остается неизменным независимо от платформы. Беззнаковых типов в Java не существует.

Тип Размер (бит) По умолчанию Значения (диапазон или максимум)
boolean false true , false
byte -128..127
char '\u0000' 0..65535
short -32768..32767
int -2147483648..2147483647
long 922372036854775807L
float 0.0f 3.40282347E+38
double 0.0 1.797693134486231570E+308

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

В Java используются целочисленные литералы:1024, 015– восьмеричное значение,0х51– шестнадцатеричное значение. Целочисленные литералы создают значение типаint. если необходимо определить длинный литерал типаlong, в конце указывается символL( например:OxffffL). Литералы с плавающей точкой записываются в виде 1.918 или в экспоненциальной форме 0.112E-05 и относятся к типуdouble Если необходимо определить литерал типаfloat, то в конце следует добавить символF. Символьные литералы определяются в апострофах (‘a’, ‘\n’, ‘\141’, ‘\u005a’ ). Строки заключаются в двойные апострофы и представляют собой объекты. Литералами считаются булевские значенияtrue и false, а также null – значение по умолчанию для объектов. В арифметических выражениях автоматически выпоняются расширяющие преобразования типа byte à short à int à long à float à double. Java автоматически расширяет тип каждого byte или short операнда до int. Для сужающих преобразований необходимо производить явное преобразование вида (тип) значение. Например:byte b=(byte)35;

Для преобразования базовых типов друг к другу применяется операция (type), где в качестве (type)используется один из совместимых базовых типов. При приведении типов данных меньшей длины к типам большей длины никаких операций производить не требуется. Следует обратить внимание на то, что операция присваивания результатов арифметических операций для базовых типов char, byte, shortвызывает ошибку компиляции, так как при вычислениях производится преобразование к типу int, а Java не позволяет присваивать переменной значение более длинного типа, если только это не константы. Исключение составляют операторы инкремента, декремента и операторы +=, -=, *=, /= (см. описание ниже в этой главе в разделе «Операторы»). Инициализация статических переменных классов и инициализация при объявлении переменных базовых типов в методах разрешается.

В именах переменных не могут использоваться символы арифметических и логических операторов, а также символ ‘#’. Применение символов ‘$’ и ‘_’ допустимо, в том числе и в первой позиции имени.

// пример # 7 : типы данных и операции над ними : TypeByte.java

public class TypeByte {

private static int j;

public static void main(String[] args) {

int i = 3;

byte b = 1,

b1 = 1 + 2;

//b = b1 + 1; //ошибка приведения типов

b = (byte)(b1 + 1);//0

show(b);

//b = -b; //ошибка приведения типов

b = (byte)-b;//1

show(b);

//b = +b1; //ошибка приведения типов

b = (byte)+b1; //2

show(b);

b1 *= 2; //3

show(b1);

b1++; //4

show(b1);

//b = i; //ошибка приведения типов

b = (byte)i; //5

show(b);

b += i++; //работает!!! //6

show(b);

float f = 1.1f;

b /= f; //работает!!! //7

show(b);

}

static void show(byte b){

System.out.print(j + " res=" + b+ " ");

j++;

}

}

В результате будет выведено:

0 res=4 1 res=-4 2 res=3 3 res=6 4 res=7 5 res=3 6 res=6 7 res=5

Переменные базовых типов, объявленные как члены класса, хранят нулевые значения, соответствующие своему типу. Если переменные объявлены как локальные переменные в методе, то перед использованием они обязательно должны быть проинициализированы.


Поделиться:

Дата добавления: 2015-04-04; просмотров: 147; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты