<a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>
1、 标识符:给类、变量、方法取名字。
(1) 以字母、下划线、$开头,不能以数字开头
(2) 不能使用关键字
2、 变量:内容可改变的量。(申请内存来储存值)
(1) 类变量:定义在类中、方法之外,随类加载而加载系统会自动初始化值
数字:0 或0.0
引用变量:null
boolean:false
char:’\0000’
1)成员变量
又称实例变量,从属于对象
如String s=new String();
2)静态变量
用static修饰
(2) 局部变量:定义在方法或语句块中,使用前必须手动初始化
注意:Java分五个内存
1栈 2堆 3方法区 4本地方法区 5寄存器
栈:储存局部变量
数据运算完成,所在的区域结束,该数据就会被释放;
堆:储存数组和对象,即实体
(1) 有内存地址值
(2) 内存的变量有初始化值
(3) 垃圾回收机制
3、 常量:不能改变的量。用final标志、常量名用大写字母
final double PI=3.1415927;
4、数据类型
(1) 基本数据类型
1) 数值
a、 整型
byte 8位
short 16
int 32
long 64
b、 浮点
float 32
double 64
2) 字符
char 16
3) 布尔
Boolean 8
注意:类型强转会损失精度
如 float f=2.57; inta=(int)f;
(2) 引用数据类型
1) 类 class
2) 接口 interface
3) 数组
5、 数据运算
数据以二进制存在,以补码运算
数的编码方式:
原码:
第一位是符号位;0代表正,1代表负
反码:
正数与原码一致
负数是原码留符号位,其余取反
补码:
正数与原码一致
负数是反码加1
例:-3
原码:1000 0011
反码:1111 1100
补码:1111 1101
负数原码:
负数补码减1,取反
负数补码取反,加1
注意:三目运算符
x?y:z ;
6、 控制语句
(1) 顺序结构
(2) 选择结构
a) switch (变量)
{
case 值:… ; break ;
default: … ;
}
变量是 byte short int char 枚举。
b) if语句
(3) 循环结构
a) While() 先判断后执行
b) for
c) do while() 先执行后判断
注意:break:跳出当前语句,结束
continue:只作用循环,跳出本次循环,继续下次循环
7、 函数
是提高代码复用性的一种体现,将其定义成单独的功能
格式
修饰符 返回值类型 函数名(参数类型 参数形式)
{
执行语句;
return 返回值;
}
重载:在同一个类中出现两个及以上的同名函数。参数列表不同,和返回值类型没关系。
注意:权限修饰符
private 本类访问
default本类、包访问
protect本类、包和其子类访问
public全部访问
8、 数组
储存一种类型数据的容器。对数据进行标号,从零开始。
(1) 元素类型[] 变量名=new 元素类型[元素个数];
(2) 元素类型[] 变量名=new 元素类型[] {ele1,ele2,ele3…};
元素类型[] 变量名={ele1,ele2,ele3…};
数组元素有序之二分法查找key:
public static int halfSearch ( int[] arr ,int key)
{
int min=0;
int max=arr.length-1;
int mid=(min+max)/2;
while(arr[mid]!=key)
{
if(arr[mid]>key)
{
max=mid-1;
}else if(arr[mid<key)
{
min=mid+1;
}
if(min>max)
{
return -1
}
mid=(min+max)/2;
}
return mid;
}