与或运算符 三元运算 数据类型 switch 语句 方法重载 数组
1.与或运算符
- ( 3>4 && a++<100 ) 为节省性能 与运算符 第一个不满足 后面不在执行
- ( 4>3 || a++<100 ) 同理 或运算符 第一个满足时后面不在执行
2.三元运算
- int result = 3>4 ? 2: 3.5 错误写法 当右侧赋值时 表达式必须同时满足 左侧定义的数据类型
- Sysyem.out.println( 3>4 ? 2: 3.5 ) 直接使用时 这时是正确的
3.数据类型
字节大小 与 范围 无关object>String>double > float > long > int > char > short > byte boolean
后八种 称谓java的基本数据类型 只要不是基本数据类型就是引用型类型
1.自动类型转换(隐式) 特点: 1.自动转换 2.数据范围从小到大
3.所以 " wyc"+10+5 会变成 wyc105 而10+5+"wyc" 会变成 15wyc
- byte short char 三种 类型都可以发生数学运算,但是都先提升到int 在做加
2.强制转换(显式) 不推荐使用因为可能出现数据溢出,就是范围大的向小的转换时,小的存不了导致原数据变化
int num = (int) 12L L-->int 大到小所以会报错 所以使用强制类型转换
int num = (int) 600000L 当 右边范围超过 int时发生数据溢出
四switch 语句
- switch (num ) {case 2: break; deafault : break} 括号内 只能使用基本数据类型
- 多个case后面的数字不能重复
- 匹配哪一个case 就从哪一个位置往下执行 直到遇到break
五.方法重载
方法重载就是 方法名一样,参数列表不一样 灵活调用不同的方法
- 方法重载与 1.参数个数 2.参数类型 3.参数多类型时顺序不同 (int a , float b) (float a, int b) 有关
- 方法重载与 1.参数的名称 2.方法的返回值类型 无关
六.数组
创建数组的两种方式 (数组一旦创建 程序运行时就不不能改变长度) 与python元组类似
1. 动态初始化(指定长度) : 数组中的数据类型 [ ] 数组名称 = new 数组中的数据类型 [长度] String[] Array = new String [5]
可拆分为两个步骤 : String[ ] Array; Array= new String [5] Array存放 的是内存地址
初始化时默认有一个默认值 1.int : 0 2.float :0.0 3. char: '\u0000'
4. boolean : false 5.如果是引用类型: null 6. integer 1
2.静态初始化(指定内容) : 数组中的数据类型 [ ] 数组名称 = new 数组中的数据类型 [ ]{ 内容}
简写 数组中的数据类型 [] 数组名称 = {内容} int [] ArrayB = { 1, 2, 3} 简写的静态初始化 不能拆分
静态初始化也有默认值得过程,只不过在初始化默认值后 又马上 把我们填的值 赋值给了 数组
快捷键: 6.fori 生成for 循环 array.for 生成数组for循环 alt +enter 快速生成 局部变量或修复错误
3.多维数组创建
float f[][] = new float [6][6] float []f[] = new float[6][6] float [][]f = new float [6][6] float [][]f = new float [6][]
1.数组名称可以随意放哪 2.第一个括号表示该二维数组有多少个一维数组必须有值
3.数组可以存放任意的数据类型: 存放 对象 实质上存放的是一个内存地址
4.数组也可以当作参数和返回值 返回的实质也是内存地址
5.数组索引 arrat[1] 直接索引
七.可变参数:
1.是JDK1.5之后出现的新特性 使用前提: 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数.
2.使用格式:定义方法时使用 修饰符 返回值类型 方法名(数据类型...变量名){}
3.可变参数的原理: 可变参数底层就是一个数组,会创建不同长度的数组,来存储这些参数 传递的参数个数,可以是0个
4.可变参数的注意事项
1.一个方法的参数列表,只能有一个可变参数
2.如果方法的参数有多个,那么可变参数必须写在参数列表的末尾
public static void method(String b,double c,int d,int...a){} 必须在末尾
列如计算加法
int i = add(10,20);
public static int add(int...arr){
int sum = 0;
for (int i : arr) {
sum += i;
}
return sum;
}
public static void method(Object...obj){} 可接受所有类型参数