黑马程序员技术交流社区

标题: 初学者的小问题 [打印本页]

作者: 十甫寸    时间: 2013-7-26 17:54
标题: 初学者的小问题
class Students
{
       string name ;
       int age ;
       void study ()
       {
              system.out.println ("good study") ;
       }
}

为什么定义name用string    定义age用int   定义study用void,void能不能和string换地方?
作者: yangchao313    时间: 2013-7-26 18:31
String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。每个学生的名字都是不可改变的,是个字符串  
int代表的是一个类,他是整数类。也就是说你后面要跟上一个整数,如果是小数就会报错说是不兼容类型。int数值范围是很大的,
平时有int就行了其他如short,lang都很少有,因为是面向对象,就是要与客观现实所联系。lang一般只用于天文数字。年龄是数字,而且年龄一般范围不会超过200岁  
void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中,比如你写void main (),主函数完了不用写return 语句,   输出语句不需要返回值
作者: yangchao313    时间: 2013-7-26 18:31
String 对象是用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。每个学生的名字都是不可改变的,是个字符串  
int代表的是一个类,他是整数类。也就是说你后面要跟上一个整数,如果是小数就会报错说是不兼容类型。int数值范围是很大的,
平时有int就行了其他如short,lang都很少有,因为是面向对象,就是要与客观现实所联系。lang一般只用于天文数字。年龄是数字,而且年龄一般范围不会超过200岁  
void表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中,比如你写void main (),主函数完了不用写return 语句,   输出语句不需要返回值
作者: 陈贺    时间: 2013-7-26 20:19
说得简单点就是字符串前面用string修饰,整数前面用int,当然这个int有范围。而函数是看反不反回值了,如果没有就用void,如果有就看他是什么类型的了,你这只是打印了一句话没有数值返回。这种都是最基础的东西视频都有,一定要从头到尾看一遍。
作者: luckwei    时间: 2013-7-27 08:46
age是年龄就是数值 当然用int类型的,name是字符串要用string类型的,void是没有返回值的,
作者: 肥猫    时间: 2013-7-27 14:26
你要是想的话无论什么都能定义为String的.谁说AGE不能定义成字符串?由于VOID不能修饰成员变量,所以不能换,但STRING 可以换下去.
作者: 夜写意    时间: 2013-7-29 02:17
本帖最后由 夜写意 于 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
name属性是用来存放姓名的,一般都是多个字符,应该用字符串(String)数据类型,
age属性用于表示年龄,一般来说用int型就可以满足需求啦!
定义study用void可以,void是没有返回值的;也可以用String等其他数据类型来表示方法的返回值类型,只是在调用时,需要有一个变量来接收这个返回值而已(也可以不接收返回值)
void表示空类型,一般用在没有返回值的函数中,比如你写void 方法名 (),函数完了不用写return 语句,   输出语句不需要返回值。
希望可以帮到你!共同学习,共同进步!
作者: hoyouly    时间: 2013-7-29 11:22
因为年龄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等,一般不会使用默认的权限的,
希望你能看明白
作者: kangxiaoning    时间: 2013-7-29 13:28
名字name是字符串类型的要用string,年龄是整数定义成int你要想弄成string也可以,因为方法中是输出语句米有返回值所以用void,要用String也行,不过要加上return
作者: liujkh123    时间: 2013-7-29 16:44
这样解释吧
类里边有成员变量和成员方法,定义成员变量的时候,有类对象变量和8中基础类型变量(short, int, long, float, dounle, byte, boolean, char),定义方法就是类名或者基础类型名字 + 变量名;因为name成员变量是字符串形式的,所以用一个表示字符串的类String 来定义,age成员变量是整数类型的 所以用基本类型int来定义。
对于成员方法,因为可以有返回值或者没有返回值,返回值可以是任意类或者基本类型,没有返回值就用void表示。
作者: 由然自美    时间: 2013-12-10 14:51
void是定义一个没有返回值的,String是返回一个String对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2