首页 > 代码库 > 3.数据类型、运算符、表达式、运行流程
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
来自为知笔记(Wiz)
3.数据类型、运算符、表达式、运行流程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。