第四周

第四周;

定义变量一定要初始化;

java有常量优化机制,重新复习byte-short-char----int-long-float-double;

                            1    2   2      4  8  8    16

 floatlong长虽然都是八个字节,有另一套运算机制,指数范围-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版本);//cc++不可以

Mark标记:跳出外层循环常用;outter,inner;

return用来返回方法,break停止循环;

方法

优点 提高代码复用性:定义:完成特定功能的代码块;

格式

修饰符 返回值类型 方法名(参数类型 参数名1,参数名2

{

方法体语句;

Return 返回值;

}

相当于C里的函数;

数组

Int [] arry=new int[5];

整数类型默认初始化为0

浮点型是0.0

布尔类型是false

字符类型 u0000;每一个零代表的是十六进制的零,四个零是十六个二进制位即两个字节u是转义字符哦;

c同样不给予初始化

打印数组名[I@28d93b30

一维数, Iint,后面一串是哈希口地址的十六进制表现形式,是一个地址

栈:定义在方法声明上和主方法中的局部变量;

堆:new出来的数组或对象;

主方法是栈帧压进栈底;运行完后弹栈;先进后出;

原文地址:https://www.cnblogs.com/yanwenhui/p/11257694.html