MyTetra Share
Делитесь знаниями!
Преобразование типов
Время создания: 08.09.2017 10:36
Текстовые метки: knowledge
Раздел: Java - Tutorial - Convertation
Запись: xintrea/mytetra_db_mcold/master/base/15048561690yaa62uti7/text.html на raw.githubusercontent.com

УРОК 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.

 
MyTetra Share v.0.59
Яндекс индекс цитирования