第四周
第四周;
定义变量一定要初始化;
java有常量优化机制,重新复习byte-short-char----int-long-float-double;
1 2 2 4 8 8 16
float比long长虽然都是八个字节,有另一套运算机制,指数范围-126---127;范围更大;
对整型常量默认是int;
浮点型默认是double;
Long x=8888888888888L要加上L因为整型默认存储类型是int此处的8888......超出其范围会报错;c适用但是不报错;
同理float b=12.3F;
char类型可以储存单个中文字符;
Byte,short,char在进行运算时会切换到更高位进行计算,注意精度损失的问题(这点与c语言类似;但是java编译器会报错;
Byte b=1;b=b+1会报错。
++,+=底层会进行强制转化
逻辑异或^两边相同false,不同true;
双与具有短路效果,左边是false右边不执行;
双或同样具有短路效果,左边为true右边不执行;
交换两个整数
需要定义第三方变量temp;
不需要定义第三方变量
1: (弊端,如果整数相加超出Int范围损失精度;
X=x+y;
Y=x-y;
X=x-y;
2:用异或方法;
X=x^y;
Y=x^y;
X=x^y;(方便!!!好记
运算符<<左移,乘以2的几次方
>>右移是除以2的几次幂
Switch基本接受类型有byte,short,char,int只要能自动提升为Int就可以;
string字符串也可以(jdk1.7版本);//c和c++不可以
Mark标记:跳出外层循环常用;outter,inner;
return用来返回方法,break停止循环;
方法
优点 提高代码复用性:定义:完成特定功能的代码块;
格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数名2)
{
方法体语句;
Return 返回值;
}
相当于C里的函数;
数组
Int [] arry=new int[5];
整数类型默认初始化为0
浮点型是0.0
布尔类型是false
字符类型 \u0000;每一个零代表的是十六进制的零,四个零是十六个二进制位即两个字节\u是转义字符哦;
c同样不给予初始化
打印数组名[I@28d93b30
【一维数, I是int,后面一串是哈希口地址的十六进制表现形式,是一个地址
栈:定义在方法声明上和主方法中的局部变量;
堆:new出来的数组或对象;
主方法是栈帧压进栈底;运行完后弹栈;先进后出;