| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:基本类型之间自动的转换
只看楼主 加入收藏
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
结帖率:96.55%
收藏
 问题点数:0 回复次数:10 
基本类型之间自动的转换
程序代码:
    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 
2011-04-22 22:38
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
程序代码:
#include <stdio.h>

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

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

    return 0;
}
2011-04-22 22:38
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分: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);
    }
}


不好意思 大意啦
2011-04-22 22:41
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
程序代码:
    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类当中的数据成员吧?  请指点
2011-04-22 22:44
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
        float c(2);
        int d(2);
上面这样子不可以
float []c = new float[3];
上面这样子可以
float c = new float(3);
上面这样子不可以







2011-04-22 22:55
洛云
Rank: 5Rank: 5
等 级:职业侠客
帖 子:204
专家分:356
注 册:2010-2-3
收藏
得分:0 
第一个是你静态方法访问了非静态的变量a。
错误提示已经很清楚了。

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

[ 本帖最后由 洛云 于 2011-4-23 08:57 编辑 ]
收到的鲜花

QQ群:C语言初级群:31066229
   JAVA2自学交流群(筹备中):31066388
UC群:C语言学习:10051714
2011-04-23 08:55
llooppzhang
Rank: 7Rank: 7Rank: 7
来 自:江苏
等 级:黑侠
威 望:5
帖 子:308
专家分:518
注 册:2009-10-18
收藏
得分:0 
回复 4楼 诸葛修勤
那你的例子来说:
a是实例变量,没有类的实例化(调用构造方法)是不存在内存中的。。
静态变量是存在全局变量区的。。。我不知道在java里是不是这样叫。。
还有好像有自动类型转换的。。
也就是说float c = s.a+b是可以的。。


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

收到的鲜花
  • 诸葛修勤2011-04-23 13:25 送鲜花  3朵   附言:float char double int 应该都是作为基本数 ...
2011-04-23 10:19
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册: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);
这句调用的是那种构造函数


2011-04-23 13:20
llooppzhang
Rank: 7Rank: 7Rank: 7
来 自:江苏
等 级:黑侠
威 望:5
帖 子:308
专家分:518
注 册:2009-10-18
收藏
得分:0 
回复 9楼 诸葛修勤
java里没有String基本类型(primary type),String是一个类;
还有,好像java5里面有对基本类型的自动封装和拆封(怎么叫忘了,就是int和Integer类的自动转换);

2011-04-23 16:49
快速回复:基本类型之间自动的转换
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020579 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved