您的位置:首页 > 编程语言 > Java开发

java 从零开始,学习笔记之基础入门<数据类型的转换>(五)

2013-10-30 12:40 1046 查看
数据类型的转换
各种整型数据类型的转换:

    通常,我们需要在不同的数据类型之间进行转换。

    简单类型除了boolean类型以外,其他的数据类型可以自动转换成其他的数据类型,只要遵循如下图所示的原则:

 



package com.ibm.third;
 
publicclass NumberType {
    //boolean类型属于逻辑运算取值只能有true/false
    publicstaticvoid main(String[] args) {
   
//     各种数据类型之间的相互转换
//     转换的分类:隐式转换和显示转换
//     数值类型取值范围:double>float>long>int>short>byte
//     隐式转换:将取值范围小的类型的值转换成取值范围大的类型的值
          int i2=24;
          doubled=i2;
         
          byte b4=100;
          shorts7=b4;
         
       //    显示转换:将取值范围大的类型的值转换成取值范围小的类型
          //  如果大转小会造成数据丢失,需要进行强制类型转换。
         
          double d5=12.5d;
          double d6=12.68d;
          double d7=-12.68;
//          强制类型的转换格式:目标类型 目标属性=(目标类型)原类型;
          int i8=(int)d5;//将double类型强制转换成整型;
          int i9=(int)d6;
          int i10=(int)d7;
          System.out.println(i8);
          System.out.println(i9);
          System.out.println(i10);
         
          Object obj;
          String str="100";//将str的值加100
          inti11 = Integer.parseInt(str);//将字符串转换成我们的int类型
          doubled11 = Double.parseDouble(str);
       //int -->Integer  byte -->Byte
          //char -->Character   boolean -->Boolean
          //short -->short   long -->Long
          //double -->Double  float-->Float
         
         //将char型的值转换成float
          char c9='9';
          float s9=c9;
          System.out.println(s9);
          //先将char-->int-->float
//          int f10=(int)c9;
//          float f11=f10;
//          System.out.println(f11);
 
          //char -->String -->int -->float
          String str1= String.valueOf(c9);
          System.out.println(str1);
          inti01 = Integer.parseInt(str1);
          float f01 =Float.parseFloat(str1);
          System.out.println(f01);
         
          //引用类型:除了基本数据类型以外的其他类型
          String ste8;
          Object obj8;
         
         
    }
 
}
 

 

 

Java引用类型

package com.ibm.third;
 
publicclass Student {
    private Stringname;
    private int age;
    private Stringclassroom;
   
    public Student(){
      
    }
   
    public Student(String _name,int _age,String
_classroom){
       name = _name;
       age = _age;
       classroom = _classroom;
    }
   
    publicvoid setName(String _name){
       name = _name;
    }
    public String getName(){
       returnname;
    }
    publicvoid setAge(int
_age){
       age = _age;
    }
    publicint getAge(){
       returnage;
    }
    publicvoid setClassroom(String _classroom){
       classroom = _classroom;
    }
    public String getClassroom(){
       returnclassroom;
    }
 
}
 

 

全局变量和局部变量

v   局部变量在使用之前,必须先初始化。

v  全局变量如果没有初始化就拿来使用,系统将会自动给它一个默认的初值。

 

package com.ibm.third;
 
publicclass ChangAttr {
    //成员变量
    //定义在类里面,方法的外面的变量
    //定义一个成员变量在类中所有的方法中都可以使用(静态方法除外)
    //静态方法里不能直接使用非静态的公有属性
    //定义一个成员变量不用对变量进行初始化,如果不给值默认的就是变量类型的初始值
   
    //定义全局变量
    inti=200;
    String
name;
    publicstaticvoid main(String[] args) {
      
       //定义局部变量
       String name1=null;
       System.out.println(name1);
//     System.out.println(name);
             
    }
    publicvoid show(){
       System.out.println(name);
    }
    //局部变量
    //定义在方法里面的变量 变量所处的位置就是在方法体里面
    //局部变量在被调用之前必须进行初始化
    //局部变量只能在当前的方法中使用,任意其它方法不能使用
 
}
 

 

 

值传递

package com.ibm.third;
 
publicclass ResultTrans {
    //值传递
    publicstaticvoid main(String[] args) {
       String str =
"java_lu";
       System.out.println("----------"+str);
       ResultTrans rt =
new
ResultTrans();
       rt.show(str);
       System.out.println("=========="+str);
       str=rt.show2(str);
       System.out.println("++++++++++++++++"+str);
    }
    publicvoid show(String str){
       str="ibm";
       System.out.println(str);
    }
   
    public String show2(String str){
       str="ibm";
       System.out.println(str);
       return str;
    }
 
}

 

 

对象传递

package com.ibm.third;
 
publicclass ShowObject {
    publicstaticvoid main(String[] args) {
       Student st = null;//声明一个Student类对象的引用
       Student st5 = null;
       //System.out.println(st);
       //st只是一个引用变量,没有具体的创建Student类的对象,所以st为null
       //如果从null的对象中取对象的属性值会报空值指针异常
       //System.out.println(st.getName());
      
       //创建对象
       st = new Student();
       System.out.println(st);
       System.out.println(st.getName());
       Student st2=st;
       Student st3 = new Student();
       st5=st3;
       System.out.println(st2);
       System.out.println(st3);
       System.out.println(st5);
    }
 
}

 

对象和值传递的例子

package com.ibm.third;
 
publicclass Test {
    publicstaticvoid main(String[] args) {
       Student st =  new Student();
        st.setName("张三");
        st.setAge(18);
        st.setClassroom("javalu");
        System.out.println(st);
       Test tt = new Test();
        tt.show(st);
        System.out.println(st.getName());
       
    }
   
    publicvoid show(Student st){
       //传递到show中的是st是在main中创建的st对象,所以是对象传递
       //新创建的一个对象,虽然对象名和st一样,但是不是同一个对象
       st= new Student("李斯",20,"大秦王朝");
       System.out.println(st.getName());
    }
 
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐