日照网站建建设百度一下网页入口
一,类型转换
隐式转换
- 将一个类型转换为另一个类型时,系统默认转换
- 常量优化机制
- 算术运算时类型的隐式转换(byte,short在算术运算时都会转换为int)
- char类型在进行运算时会根据其编码值进行运算
显式转换
二,操作符和运算符
% 取余运算,结果的正负取决于%左侧的数值的正负
++,-- 自增和自减
- 单独出现时,直接进行相应的自增和自减运算
- 参与运算或操作时,在前和在后分开讨论
- 在后,先进行相应的运算或操作,再进行自增或自减
- 在前,先进行自增或自减,再进行运算或操作
逻辑运算符:&& ||
- 两者遵从短路运算规则
位运算符:& |
- 不遵从短路运算规则
位运算符:^
相同为0,不同为1
交换两个变量的值
a = a ^ b; b = a ^ b; a = a ^ b;
位运算符:<< >> <<< >>>
- << >> 有符号左右位移
- << 相当于乘以2的n次幂
- >> 相当于除以2的n次幂
- <<< >>> 无符号左右位移
三目运算符:? :
- ? 前为布尔表达式
- :两侧为语句
三,参数传递
- 值传递
- 方法调用的过程中,基本类型的变量在参数传递的过程中采用值传递
- 值传递在方法中操作传递的值的时候不会影响原来的变量的值
- 引用传递
- 方法调用的过程中,引用类型的变量采用引用传递
- 引用传递在操作传递的引用时,由于该引用指向的堆空间和原先的引用类型的变量指向的堆空间是同一个,操作的过程会改变堆空间中的内容,影响原内容
四,流程控制
分支
- if … else
if (表达式) {语句 } else {语句 }
- if… else if … else
if (表达式) {语句 } else if (表达式) {语句 } ... else {语句 }
- switch… case
switch (变量) {case 值:语句...default: 语句 }
循环
- for循环
for(初始化语句;语句;语句) {语句 }
- while 和 do… while
while (表达式) {语句 }do {语句 } while(表达式);
五,数组
动态初始化
数据类型[] 数组名 = new 数组类型[数组长度];
- 用户只能指定数组长度,内存空间由系统进行分配
静态初始化
数组类型[] 数组名 = new 数组类型[]{元素1, 元素2....}; // 格式一 数组类型[] 数组名 = {元素1, 元素2....}; // 格式二
属性
- length 数组长度
数组下标
- 最大的数组下标 = length - 1
数组拷贝
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
Arrays工具类
六,可变参数
可变参数的本质是数组
可变参数只能在参数的最后
七,类
类是一类具有相同特征的事物的抽象
类是Java编程最小单元
对象是类的具体实例
// 在创建类的对象时,jvm会在堆区开辟一块内存空间,并返回该类的引用赋值给该类的引用变量 Student stu = new Student();
this
- this表示当前调用该方法的对象