A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 十甫寸 中级黑马   /  2013-7-26 17:54  /  3131 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Students
{
       string name ;
       int age ;
       void study ()
       {
              system.out.println ("good study") ;
       }
}

为什么定义name用string    定义age用int   定义study用void,void能不能和string换地方?

评分

参与人数 1黑马币 +3 收起 理由
神之梦 + 3 真心有点初学者

查看全部评分

11 个回复

倒序浏览
String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。每个学生的名字都是不可改变的,是个字符串  
int代表的是一个类,他是整数类。也就是说你后面要跟上一个整数,如果是小数就会报错说是不兼容类型。int数值范围是很大的,
平时有int就行了其他如short,lang都很少有,因为是面向对象,就是要与客观现实所联系。lang一般只用于天文数字。年龄是数字,而且年龄一般范围不会超过200岁  
void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中,比如你写void main (),主函数完了不用写return 语句,   输出语句不需要返回值

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
String 对象是用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。每个学生的名字都是不可改变的,是个字符串  
int代表的是一个类,他是整数类。也就是说你后面要跟上一个整数,如果是小数就会报错说是不兼容类型。int数值范围是很大的,
平时有int就行了其他如short,lang都很少有,因为是面向对象,就是要与客观现实所联系。lang一般只用于天文数字。年龄是数字,而且年龄一般范围不会超过200岁  
void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中,比如你写void main (),主函数完了不用写return 语句,   输出语句不需要返回值
回复 使用道具 举报
说得简单点就是字符串前面用string修饰,整数前面用int,当然这个int有范围。而函数是看反不反回值了,如果没有就用void,如果有就看他是什么类型的了,你这只是打印了一句话没有数值返回。这种都是最基础的东西视频都有,一定要从头到尾看一遍。
回复 使用道具 举报
age是年龄就是数值 当然用int类型的,name是字符串要用string类型的,void是没有返回值的,
回复 使用道具 举报
你要是想的话无论什么都能定义为String的.谁说AGE不能定义成字符串?由于VOID不能修饰成员变量,所以不能换,但STRING 可以换下去.
回复 使用道具 举报
本帖最后由 夜写意 于 2013-7-29 02:21 编辑

name存放的是姓名,是字符串形式的,是String类型的,所以要用String定义。
age存放的是年龄,是数字形式的,是int类型的。所以要用int定义。就像我不能说你的姓名是20岁,你的年龄是张三一样,要对号入座。

study()是一个方法,并不是变量。void的意思不像上面两条一样定义study为void型变量,是代表study()这个方法没有返回值类型。就是你调用它,它把事情干完以后就爱干嘛干嘛去了,不关你什么事了。
比如: int study()也是可以的,但是study方法中必须有一条语句是return XXXX;而且XXXX是int类型的。就是你调用它,它把事情干完以后还要告诉你它干出了什么东西。



回复 使用道具 举报
狼牙 中级黑马 2013-7-29 09:42:42
8#
name属性是用来存放姓名的,一般都是多个字符,应该用字符串(String)数据类型,
age属性用于表示年龄,一般来说用int型就可以满足需求啦!
定义study用void可以,void是没有返回值的;也可以用String等其他数据类型来表示方法的返回值类型,只是在调用时,需要有一个变量来接收这个返回值而已(也可以不接收返回值)
void表示空类型,一般用在没有返回值的函数中,比如你写void 方法名 (),函数完了不用写return 语句,   输出语句不需要返回值。
希望可以帮到你!共同学习,共同进步!
回复 使用道具 举报
因为年龄age是整数,而name是字符串的,这个是为了正常的逻辑思维,为了你赋值的时候不那么别扭的,当然你也可以把name定义成int型的,但是你赋值的时候,name就只能是数字了,一般情况下,是不把age定义成String 类型的,因为我们知道年龄是整数,一般情况下,在我们可以肯定你定义的变量是什么类型的时候,就用什么类型,当你不能确定的时候,就可以用String类型。至于你说的定义Study前用void  那是因为在你的函数中,没有返回值,void是没有返回值的,void 和String 互换,也是可以的,只不过需要把里面的代码换一下,
  void study ()
       {
              system.out.println ("good study") ;
       }
你这样写正确,但是你要把void换成String,那么就说明这个函数是需要有返回值的,就需要用return语句
String   study ()
       {
            return "good study";
       }
这样就可以了,
还有,一般情况下,我们是需要在函数前面加上权限的。例如public,private protected等,一般不会使用默认的权限的,
希望你能看明白
回复 使用道具 举报
名字name是字符串类型的要用string,年龄是整数定义成int你要想弄成string也可以,因为方法中是输出语句米有返回值所以用void,要用String也行,不过要加上return
回复 使用道具 举报
这样解释吧
类里边有成员变量和成员方法,定义成员变量的时候,有类对象变量和8中基础类型变量(short, int, long, float, dounle, byte, boolean, char),定义方法就是类名或者基础类型名字 + 变量名;因为name成员变量是字符串形式的,所以用一个表示字符串的类String 来定义,age成员变量是整数类型的 所以用基本类型int来定义。
对于成员方法,因为可以有返回值或者没有返回值,返回值可以是任意类或者基本类型,没有返回值就用void表示。
回复 使用道具 举报
void是定义一个没有返回值的,String是返回一个String对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马