黑马程序员技术交流社区
标题:
day02总结
[打印本页]
作者:
徐朋威0716
时间:
2015-7-29 21:19
标题:
day02总结
1:常量(理解)
(1)在程序的运行过程中,其值是不可以发生改变的量。
(2)常量的分类:
1:字面值常量
1:整数常量
12,-23
2:实数常量
12.5,-65.43
3:字符常量
'a','A','0'
4:字符串常量
"hello"
5:布尔常量
true,false
6:空常量(后面讲)
null,是一个引用型常量
2:自定义常量(后面讲)
(3)常量可以直接被输出。
2:进制(理解)
(1)是一种进位的方式。X进制,表示逢x进1。
(2)Java中整数常量的表示
1:二进制 由0,1组成。以0b开头。JDK7以后的新特性。
2:八进制 由0-7组成。以0开头。
3:十进制 由0-9组成。默认就是十进制。
4:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。
(3)进制转换:
1:其他进制到十进制
系数:数值上每一位上的数字。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。
结果:把系数*基数的权次幂相加即可。
二进制:1011
十进制:
八进制:74
十进制:
十六进制:a3
十进制:
2:十进制到其他进制
除基取余,直到商为0,余数反转。(基:就是要转的进制是几就是几)
十进制:60
结果:
二进制
八进制
十六进制
3:快速转换
1:8421码。
2:二进制 - - 八进制(3位组合)
3:二进制 - - 十六进制(4位组合)
(4)有符号数的表现形式
计算机中的数据都是以二进制的补码形式存在的
原码:就是数据转化为二进制时最基础的表现
反码:符号位不变,其他数值位取反(仅针对于负数)
补码:反码 + 1 (也是仅针对于负数)
注意:正数的原码、反码、补码都相同
在java中其实是没有减法的,1-1实际上就是1+(-1),也就是说其实内部其实是把1的补码和-1的补码进行了相加运算。
注意:相加时数据的符号位也参与运算,运算结果如果超出数据表示长度,如:长度超出8bit,则舍去左边超出的。也就是说舍去此时的最高位
3:变量(掌握)
(1)程序的运行过程中,在指定范围内发生改变的量。或者说在程序运行过程中值有可能会发生改变的量
(2)格式:
数据类型 变量名 = 初始化值;
变形格式:
数据类型 变量名;
变量名 = 初始化值;
举例:
方式1: byte b = 10;
方式2: byte b;
b = 10;
4:数据类型(掌握)
(1)分类
基本类型:4类8种。(都是小写,如:Long不是基本数据类型)
引用类型:类,接口,数组。(了解)
(2)基本类型 类型 占用字节数
整型:
byte 1
short 2
int 4
long 8
浮点型:
float 4
double 8
字符型:
char 2
布尔型:
boolean 不明确。可以认为是1个字节。
注意:
整数默认是int类型。long类型需要加L或者l后缀。
浮点数默认是double类型。float类型需要加F或者f后缀。
(3)类型转换
1:boolean类型不参与转换。
2:隐式转换(从小到大)
byte,short,char -- int -- long -- float -- double
3:强制转换(从大到小)
格式:
(数据类型)数据;
以下的也是属于强制类型转换:
定义一个方法,返回值为int类型,注意看方法体中的return语句后面其实也是强制类型转换。此时的强制类型转换是从小到大
int x( )
{
char ch='a';
return (int)ch;
}
(4)面试题
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;//报错 原因是:b1 和 b2 在执行相加操作时,会自动提升为int类型,所以最后结果就是int类型,报错:可能损失精度,把int类型的赋值给
short类型
byte b4 = 3 + 4; //不会报错,但是要保证数值在byte类型可以表示的范围之内,相当于b4 = 7;
5:运算符(掌握)
(1)就是把常量和变量连接的符号,一般参与运算使用。
(2)分类:
算术运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
三元运算符
(3)算术运算符
+,-,*,/,%,++,--
+:正号,加法,字符串连接符。
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
%:取得余数
左边如果大于右边,结果是余数。
左边如果小于右边,结果是左边。
左边如果等于右边,结果是0。
正负号跟左边一致。
++/--:
++ 其实相当于把数据+1
单独使用:
在数据的前后,结果一致。
参与操作使用:
如果在数据的后边,数据先操作,在++/--
如果在数据的前边,数据先++/--,在操作。
(4)赋值运算符
=,+=,-=,*=,/=,%=
int a = 10;
把10赋值给int类型的变量a。
a += 20;
把左边和右边的和赋值给左边。
注意事项:
a = a + 20;
a += 20;
结果是等价的,理解不是等价的。
因为+=这种运算符,内含了强制类型转换功能。
比如:
short s = 2;
s+=3;
等价于
s = (short)(s + 3);
(5)关系运算符
==,!=,>,>=,<,<=
特点:关系运算符的结果都是boolean类型。
请千万注意:== 不要写成 =
(6)逻辑运算符
&,|,!,^,&&,||
&:有false则false
|:有true则true
!:true变false,false变true
^:相同false,不同true
&&:有false则false
||:有true则true
&&和&的区别是:如果左边有false了,右边将不再执行。
||和|的区别是:如果左边有true了,右边将不再执行。
开发中常用:
&&,||,!(s+3);
表达式:
表达式由一个或多个操作数 通过 操作符 组合而成, 最简单的表达式仅包含一个字面值常量或变量
作者:
风一样的少年
时间:
2015-7-29 23:37
总结的很详细,值得学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2