3.数据类型、运算符、表达式、运行流程

一、数据类型

1.基本数据类型

           对于primitive主数据类型的变量来说,变量值就是多代表的值
            数值型
                   整数类型(byte,short,int,long)
                   浮点类型(float,double)
           字符型(char)
                   使用Unicode编码,他为每种语言每个字符设定了统一并且唯一的二进制编码,跨语言文本转换。
           布尔型(boolean)
           
2.引用数据类型
           对于引用变量来说, 变量值是取得特定对象的位表示法。
          类(class)
          接口(interface)
          数组
 
字面量:整数字面量为整形(int),小数自面量为双精浮点型(double)
强制类型转换和C一样。
 
3.primitive主数据类型的包装
   每一个primitive主数据类型都有个包装用的类,当需要以对象方式类处理primitive主数据类型需要包装起来,java的antoboxing功能能够自
   主地将primitive主数据类型转换成包装过的对象。包装类型或primitive数据类型赋给声明成相应的包装或者primitive数据类型是可以的。
   封装类         数据类型
   Boolean     boolean
   Character   char
   Byte            byte
   Short          short
   Integer       int
   Long           long
   Float           float
   Double       double
4.包装的静态方法、
将string转换成int,取自String并返回给primitive主数据类型值。
int guess = Integer.parseInt("3");
Integer为java内建类(语法规定的)
parseInt是Integer的一个方法,能够将String解析,知道如何将String解析成int。
该方法只会对代表数字的String产生作用。
其他的:
double d = Double.parseDouble("400.24")
boolean b = new Boolean("true").booleanValue(); Boolean的构造函数可以取用String来创建对象。
将primitive数据转换成String
double d = 42.5
String doubleString = "" + d;
 
double d = 42.5
String doubleString = Double.toString(d);
5.数据类型位数和值域
boolean与char
boolean   (java虚拟机决定)  true和false
char          16bit                    0~65535
数值(带正负号)
integer
byte         8bits       -128~127
short        16bits      -32768~32768
int            32bits      -2147483648~2147483648
long         64bits      -很大~+很大
浮点数
float         32bits     范围规模可变
double     64bits     范围规模可变
如float f = 32.5f (注意f,不加f,有带小数点的值都会被当成double处理)
6.数字/日期的格式化。
1.数字。java已经把便利性的功能加到部分的输出/输入类与String,只要在调用静态的String.format()并传入值与格式设定就好。
eg:
String s = String .format("%,d",1000000000);
格式指定,用来指示应该用哪种形式来输出,这里的逗号是表示数字要以逗号来分开,并不是说有%和d两项参数。
结果是有逗号的数字格式:1,000,000,000
类似C的格式化输出。
2.日期
日期的格式化
完整的日期和时间:%tc
String.format("%tc",new Date());
Sun Nov 28 14:52:41 MST 2004
只有时间:%tr
String.format("%tr",new Date())
03:01:47  PM
周、月、日:%tA%tB%td
Date today = new Date();
String.format("%tA,%tB %td",today,today,today);
Sunday,November 28
同上,不用重复给参数
Date today = new Date();
String.format("%tA,%<tB %<td",today);
Sunday,November 28
或者使用java.util.GregorianCalendar来操作日期。head fist java P303
二、运算符
1.算数运算符:+,-.*,/,%,++,--
2.关系运算符:>,<,>=,<=,==,!=
3.布尔逻辑运算符:!,&,|,^,&&,||
4.位运算符:&,|,^,~,>>,<<,>>>
5.赋值运算符:=
6.扩展赋值运算符:+=,-=,*=,/=
7.字符串连接运算符:+
 

三、引用相等和对象相等:

引用相等:
使用“==”来对比primitive主数据类型或判断两个引用是否都指向同一对象(即两个引用变量是否都引用到堆上的同一个对象)。
if(foo == bar)
 
对象相等:
必须覆盖hashCode()保证对象有相同的hashcode,也要确保以另一个对象为参数的equals调用返true。
if(foo.equals(bar)  &&  (foo.hashCode()==bar.hashCode())
 
如果equals被覆盖过,则hashCode也要被覆盖。
tip:equals用法
if(result.equals("kill"))
四、表达式
表达式的值即表达式的数据类型。
 
五、运行流程分类
1.顺序
2.分支
3.循环
 
分支:
if…else…分支结构
switch分支结构
 
循环:
for
 tip:for(int cell :locationCell){}
 locationCell是一个数组。cell声明会带有数组单一元素的循环变量,且数组元素的类型必须与循环变量的类型匹配。在每次循环中,此变量的值都会带有不同的数组元素,直到跳出循环为止。“:”代表in,最后一个代表要被逐个运行的集合。总体来说就是对后面集合的元素都执行一次。这种循环方式从Java5.0之后就开始可以使用。称作是加强版的for循环
while
 
 
posted @ 2014-12-08 15:50  咖啡馆的水果拼盘  阅读(245)  评论(0编辑  收藏  举报