黑马程序员技术交流社区

标题: 关于java的数据类型 [打印本页]

作者: 无奈的年华ˊ    时间: 2014-1-23 09:29
标题: 关于java的数据类型
在java前面学到变量的数据类型有:
2.1 基本数据类型
  <1>数值型:整数类型(byte、short、int、long),浮点类型(float、double)    注:整数默认int、小数默认double。
  <2>字符型(char)
  <3>布尔型(boolean)
2.2 引用数据类型
  <1>类(class)
  <2>接口(interface)
  <3>数组([])

然后在面向对象的课程中,定义一个变量。比如学生的姓名,为什么老师是 string name = “张三”;这样定义。  “张三”不是一个字符串么?  为什么不是  char name = “张三”?  像年龄的话可以这样  int age = 22;    那么这个string是代表什么数据类型?


作者: 姜胜凯    时间: 2014-1-23 09:41
char 代表单个字符。用' '表示。你可以传入一个字符。如a、b、张等符合ASCII编码表的字符都可定义。而张三 明显是俩个字符。所以用字符串定义String 是代表字符串的类~~你视频看到后面就理解了~~
作者: kkopopo    时间: 2014-1-23 09:41
Java 包括两种数据类型:
原始数据类型(primitive data type):byte,short, char, int, long,float,double,boolean. 一共8种
对象(Object):8中除外的都是对象,包括数组。

显然char属于基本数据类型(即原始数据类型),string属于对象你把String看成char的数组形式吧! java 中char 是占2个字节,16位(一个字节8位)。 一个汉字正好占2个字节。一个是字符串是字符char的数组形式!
作者: 廉伟杰    时间: 2014-1-23 11:19
String代表引用数据类型,是一个类,String s = “张三“,看了API你就会看到这句话
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如:
     String str = "abc";
等效于:
     char data[] = {'a', 'b', 'c'};
String str = new String(data);

作者: 无奈的年华ˊ    时间: 2014-1-23 17:39
廉伟杰 发表于 2014-1-23 11:19
String代表引用数据类型,是一个类,String s = “张三“,看了API你就会看到这句话
字符串是常量;它们的 ...

多谢!貌似看懂了点。
作者: 俞帅明    时间: 2014-1-23 23:41
string是一个字符串类,以后都要用到的。char只能存储单个字符,或者用char[]数组来存储字符串,但是这样麻烦。string底层还是用的char




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