УРОК J-7. ПРЕОБРАЗОВАНИЕ ТИПОВ В JAVA.
15 Декабрь 2013 Мария (admin)
Иногда возникают ситуации, когда имея величину какого-либо определенного типа, необходимо присвоить ее переменной другого типа. С переменными и их типами мы познакомились в прошлом уроке , в этом уроке мы рассмотрим наиболее популярные преобразования типов в Java:
- П реобразование строки в число
- String to byte
- String to short
- String to int
- String to long
- String to float
- String to double
- String to boolean
- Преобразование числа в строку
- int to String
- double to String
- long to String
- float to String
- Преобразования символа char
- char to String
- char to int
- Преобразования чисел
- int to long
- int to float
- long to int
- double to int
Java преобразование строки в число (STRING to NUMBER)
В следующих примерах будет использована конструкция try-catch. Это необходимо для обработки ошибки, в случае, если строка содержит иные символы кроме чисел или число, выходящее за рамки диапазона допустимых значений определенного типа.
Например, строка «somenumber» не может быть переведена в тип int или в любой другой числовой тип. В это случае, при компеляции возникнет ошибка. Чтобы этого избежать, следует обезопаситься с помощью конструкции try-catch.
String to byte
C использованием конструктора
try {
Byte b1 = new Byte("10");
System.out.println(b1);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
С использованием метода valueOf класса Byte
String str1 = "111";
try {
Byte b2 = Byte.valueOf(str1);
System.out.println(b2);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
С использованием метода parseByte класса Byte
byte b = 0;
String str2 = "100";
try {
b = Byte.parseByte(str2);
System.out.println(b);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
Перевод строки в массив байтов и обратно из массива байтов в строку
String str3 = "20150";
byte[] b3 = str3.getBytes();
System.out.println(b3);
//массив байтов переводим обратно в строку
try {
String s = new String(b3, "cp1251");
System.out.println(s);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String to short
C использованием конструктора
try {
Short s1 = new Short("68");
System.out.println(s1);
}catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода valueOf класса Short
String str1 = "59";
try {
Short s2 = Short.valueOf(str1);
System.out.println(s2);
}catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода parseShort класса Short
short s3 = 0;
String str2 = "100";
try {
s3 = Short.parseShort(str2);
System.out.println(s3);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
String to int
C использованием конструктора
try {
Integer i1 = new Integer("20349");
System.out.println(i1);
}catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода valueOf класса Integer
String str1 = "1451";
try {
Integer i2 = Integer.valueOf(str1);
System.out.println(i2);
}catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода parseInt класса Integer
int i3 = 0;
String str2 = "102944";
try {
i3 = Integer.parseInt(str2);
System.out.println(i3);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
String to long
C использованием конструктора
try {
Long l1 = new Long("11111111");
System.out.println(l1);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода valueOf класса Long
String str1 = "222222222";
try {
Long l2 = Long.valueOf(str1);
System.out.println(l2);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода parseLong класса Long
long l3 = 0;
String str2 = "333333333";
try {
l3 = Long.parseLong(str2);
System.out.println(l3);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
String to float
С использованием конструктора
try {
Float f1 = new Float("123.5");
System.out.println(f1);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода valueOf класса Float
String str1 = "3.1415";
try {
Float f2 = Float.valueOf(str1);
System.out.println(f2);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода parseFloat класса Float
float f3 = 0;
String str2 = "36.6";
try {
f3 = Float.parseFloat(str2);
System.out.println(f3);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
String to double
С использованием конструктора
try {
Double d1 = new Double("4.4e10");
System.out.println(d1);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода valueOf класса Double
String str1 = "564.6e10";
try {
Double d2 = Double.valueOf(str1);
System.out.println(d2);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
C использованием метода parseDouble класса Double
double d3 = 0;
String str2 = "13.7e10";
try {
d3 = Double.parseDouble(str2);
System.out.println(d3);
} catch (NumberFormatException e) {
System.err.println("Неверный формат строки!");
}
String to boolean
Преобразование строки в логический тип 2мя способами. Обратите внимание, что строка не соответствующая true, будет преобразована в логическое значение false.
String s1 = "True";
String s2 = "yes";
boolean bool1, bool2, boolean1, boolean2;
//с использованием метода parseBoolean
bool1 = Boolean.parseBoolean(s1);
bool2 = Boolean.parseBoolean(s2);
System.out.println( bool1 );
System.out.println( bool2 );
//c использованием метода valueOf
boolean1 = Boolean.valueOf(s1);
boolean2 = Boolean.valueOf(s2);
System.out.println( boolean1 );
System.out.println( boolean2 );
Java преобразование числа в строку (NUMBER to STRING)
int to String
int i = 35;
String str = Integer.toString(i);
System.out.println(str);
double to String
double i = 32.4e10;
String str = Double.toString(i);
System.out.println(str);
long to String
long i = 3422222;
String str = Long.toString(i);
System.out.println(str);
float to String
float i = 3.46f;
String str = Float.toString(i);
System.out.println(str);
Преобразования символа char
char to String
char ch = 'S';
// c использованием класса Character
String charToString = Character.toString(ch);
System.out.println(charToString);
// с использованием операции добавления класса String
String str = "" + ch;
System.out.println(str);
//с использованием массива
String fromChar = new String(new char[] { ch });
System.out.println(fromChar);
// с использованием метода valueOf класса String
String valueOfchar = String.valueOf(ch);
System.out.println(valueOfchar);
char to int
char ch = '9';
// c использованием метода getNumericValue
// класса Character
int i1 = Character.getNumericValue(ch);
System.out.println(i1);
// c использованием метода digit класса Character
int i2 = Character.digit(ch,10);
System.out.println(i2);
Преобразования чисел
int to long
int i = 2015;
long l = (long) (i);
System.out.println(l);
int to float
int i = 2015;
float f = (float) (i);
System.out.println(f);
long to int
long l = 214748364;
int i = (int) l;
System.out.println(i);
double to int
double d = 3.14;
int i = (int) d;
System.out.println(i);
обратите внимание на то, что после преобразования double в int отбрасывается дробная часть и остается только целое число. Так, в нашем примере, на консоль будет выведено число 3.