КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
String str; //объявление ссылкиstr = new String(); //создание объекта Однако эти два действия обычно объединяют в одно: String s = new String();/*объявление ссылки и создание объекта*/ Оператор newвызывает конструктор, поэтому в круглых скобках могут стоять аргументы, передаваемые конструктору. Операция присваивания для объектов означает, что две ссылки будут указывать на один и тот же участок памяти. Базовые типы данных Определено восемь базовых типов данных, размер каждого из которых остается неизменным независимо от платформы. Беззнаковых типов в Java не существует.
Тип 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 Переменные базовых типов, объявленные как члены класса, хранят нулевые значения, соответствующие своему типу. Если переменные объявлены как локальные переменные в методе, то перед использованием они обязательно должны быть проинициализированы.
|