当前位置: 代码迷 >> Java相关 >> 基本类型之间自动的转换
  详细解决方案

基本类型之间自动的转换

热度:228   发布时间:2011-04-22 22:38:08.0
基本类型之间自动的转换
程序代码:
    int a = 90;
    static float b = 10.98f;
    public static void main(String args[])
    {
        float c = a + b;
        System.out.println("c =" +c);
    }


java 中是不是没有类型(基本类型)之间自动的转换啊
搜索更多相关的解决方案: java  

----------------解决方案--------------------------------------------------------
程序代码:
#include <stdio.h>

int main(void)
{
    int b = 4;
    static float a = 4;

    float c = a+b;
    printf("%f\n", c);

    return 0;
}

----------------解决方案--------------------------------------------------------
回复 楼主 诸葛修勤
程序代码:
public class main {
    int a = 90;
    static float b = 10.98f;
    public static void main(String args[])
    {
        main s = new main();
        //float c = a + b;
        float c = s.a + s.b;
        System.out.println("c =" +c);
    }
}


不好意思 大意啦
----------------解决方案--------------------------------------------------------
程序代码:
    public static void main(String args[])
    {
        //main s = new main();
        float c = a + b;
        //float c = s.a + s.b;
        System.out.println("c =" +c);
    }
在这个main函数中应该是能直接使用main类当中的数据成员吧?  请指点
----------------解决方案--------------------------------------------------------
程序代码:
        float c(2);
        int d(2);
上面这样子不可以
程序代码:
float []c = new float[3];
上面这样子可以
程序代码:
float c = new float(3);
上面这样子不可以








----------------解决方案--------------------------------------------------------
第一个是你静态方法访问了非静态的变量a。
错误提示已经很清楚了。

静态方法不能直接调用非静态的方法或成员变量。

[ 本帖最后由 洛云 于 2011-4-23 08:57 编辑 ]
本帖最近评分记录

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2011-04-23 00:55:12
llooppzhang

来 自:江苏
等 级:黑侠
威 望:5
帖 子:308
专家分:518
注 册:2009-10-18
  得分:0 
回复 4楼 诸葛修勤
那你的例子来说:
a是实例变量,没有类的实例化(调用构造方法)是不存在内存中的。。
静态变量是存在全局变量区的。。。我不知道在java里是不是这样叫。。
还有好像有自动类型转换的。。
也就是说float c = s.a+b是可以的。。


本帖最近评分记录
2011-04-23 02:12:18
llooppzhang

来 自:江苏
等 级:黑侠
威 望:5
帖 子:308
专家分:518
注 册:2009-10-18
  得分:0 
回复 5楼 诸葛修勤
float 的封装类是Float类,
Float fl = new Float(float Number);
还有好像第一种写法像C++的,在java里没有用的。
必须用new constrator() 构造函数实例化一个对象。。
我有点概念不清了。。。最近我的专业功课太多了。好久没有做练习了。。。
建议看看网易公开课程的斯坦福大学编程方法学,讲内存和指针的有一点点内容相关。。。
http://v.163.com/special/sp/programming
估计其他的内容都熟悉。。。

本帖最近评分记录
  • 诸葛修勤 积分 +3 float char double int 应该都是作为基本数 ... 2011-4-23 13:25
2011-04-23 02:19:23
诸葛修勤

等 级:版主
威 望:7
帖 子:528
专家分:1826
注 册:2010-10-28
  得分:0 
创建字符串:
程序代码:
        byte []buffer = new byte[100];
        int s = 0;
      
        try
        {
            System.out.println("输入一个字符串: ");
            s = System.in.read(buffer);
            String string = new String(buffer, 0, s);
            System.out.println(string);
            System.out.println(string.toUpperCase());
            System.out.println(string.toLowerCase());
        }
        catch (IOException e)
        {
        }

String string = new String(buffer, 0, s);
这句调用的是那种构造函数



----------------解决方案--------------------------------------------------------
回复 9楼 诸葛修勤
java里没有String基本类型(primary type),String是一个类;
还有,好像java5里面有对基本类型的自动封装和拆封(怎么叫忘了,就是int和Integer类的自动转换);


----------------解决方案--------------------------------------------------------
  相关解决方案