一、基础数据类型
1、四类八种(从小往大)
-
整型:byte (1个字节8位)short int long(长整型)
-
浮点型:float(单精度) double(双精度)
-
布尔值:boolean
-
字符型:char
2、取值范围:(负的多一个正的少一个)
-
整型:byte -27→27-1 10000000(-128) 其余的以此类推
-
浮点型:符号位+阶码(指数)+尾数
-
字符型:char一个字符两个字节(unicode)
3、变量
> 变量的类型 变量名 = 具体值;(定义+赋值两部分)
例如: String str ="Hello";
在内存中开辟一块空间用于存储数据
4、标识符命名规则(名字)
-
可以用_和$,但是不建议使用
-
可以用数字和字母,但是数字不能开头
-
不能用关键字命名,如super this class
-
所有的名字必须驼峰式命名,变量、方法首字母小写,类名首字母大写。静态常量全部大写,多个单词之间用_分隔。
-
尽量少用拼音,如果使用整体都是拼音,不可以拼音+单词
二、运算符
1、逻辑运算符
-
与: & 全部为真才为真,有一个为假就是假
-
或 : | 全部为假才是假,有一个为真就是真
-
非 :! 非真即是假,非假即是真
-
异或 :^ 相同为假,不同为真
-
双与 : && 前边为假既是假,后边的不会进行计算(常用)
-
双或 : || 前边为真既是真,后边的不会进行计算(常用)
2、算数运算符
加减乘除 取余(%)
3、赋值运算符
-
= :把后边的值赋给前边
-
++ :自加一 ++i和i++的区别
-
— — :自减一
-
+=: i+=6; // i=i+6;
-
-= : i-=6; // i = i- 6;
4、位移运算符
//>> :有符号左移
byte i=5;
i=i<<3;//执行完i=10,大致相当于*2 ,除非溢出的首位为0
- <<:有符号左移
- >>>:无符号右移
5、三目运算符
条件 ? 结果1 : 结果2
三、流程控制结构
-
if 语句
-
switch
-
while
-
for
四、数组
1、初始化
类型[] 名字 = new 类型[长度];
类型[] 名字 = {1,2,3};
类型[] 名字 ; 名字 = new 类型[]{1,2,3,4}
2、特性
- 一旦创建就不能改变,类型不能改,长度不能改
- length:数组的长度
- 下标从0开始,最后一个下标为length-1
- 名字[下标]=0;
- 在使用时注意数组下标越界异常
3、几个例子
遍历、取最大最小值,求和、交换
//元素交换
int temp =arr[i];
arr[i]=arr[j];
arr[j]=temp;
五、方法
权限修饰符 (static静态) (泛型)返回值类型 方法名 (参数){ }
1、权限修饰符
修饰符 | 当前类 | 同一包内 | 子孙类(同一包) | 子孙类(不同包) | 其他包 |
---|---|---|---|---|---|
public | Y | Y | Y | Y | Y |
protected | Y | Y | Y | Y | N |
friendly default | Y | Y | Y | N | N |
private | Y | N | N | N | N |
2、返回值类型
3、static不是必须的
-
静态方法和属性是属于类对象的,使用时不需要new对象,直接:
类名 . 方法名()
,类名.属性
-
实例方法(不带static) 先要new对象
4、方法名,驼峰式首字母小写
5、参数
参数可以有多个,方法定义的地方叫形参,方法调用时传入的参数叫实参
6、可变参数
- 只能出现一次
- 必须放在最后
//可变参数的方法
public void f(int... nums){}
7、方法的重载
-
方法名一样
-
参数列表不一样