java
1.一元运算符:只需要一个数据就可以进行的运算符。例如 取反 ! 自增 ++ 自减--
2.二元 运算符 :需要两个数据才可以进行操作的运算符,例如: 加法 + ,赋值 =
3.三元运算符 :需要三个数据才可以进行操作的运算符
格式:
数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;
流程:
首先判断条件是否成立;
如果成立为true,那么将表达式A的值赋值给左测的变量;
如果不成立为false,那么将表达式B的值赋值给左侧的变量;
二者选其一
switch语句使用注意事项:
1.多个case后面的数值不可以重复
2.switch 后面小括号当中只能是下列数据类型
基本数据类型:byte/short/char/int
引用数据类型:string字符串,enum枚举
3.switch语句非常灵活:前后顺序可以颠倒,而且break语句可以省略
匹配哪个一个case就从哪一个位置向下执行,直到遇到break或者整体都结束
方法的三种调用格式。
1.单独调用:方法名称(参数)
2.打印调用
3.赋值调用
使用方法的时候:注意实现:
1.方法应该定义在类当中,但是不能在方法当中再定义方法,不能嵌套。
2.方法的定义的前后顺序无所谓
3.方法定义之后不会执行,如果希望执行,一定要调用:单独调用,打印调用,赋值调用
4.如果使用void定义的方法只能单独调用,不能 打印调用和赋值调用
5.对于void没有返回值得方法,不能写return后面的返回值,只能写reyurn自己
6.对于void当中的最后一行的return可以不写
7.一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写
方法的重载(OverLoad):多个方法的名称一样,但是参数列表不一样
方法重载于下列因素相关:
1.方法名一样
2.参数类型不同
3,。参数的多类型顺序不同
方法重载于下列的因素无关:
1.与参数名称不一样
2.与方法的返回类型无关
数组的特点:
1.数组是一种引用数据类型
2.数组当中的多个数据,类型必须统一
3.数组的长度在程序运行期间不可以修改
两种数组常见的初始化方式:
1.动态初始化(指定长度)
2.静态初始化(指定内容)
动态初始化数组的格式:
1.数据类型【】 数组名称 = new 数据类型【数组长度】
静态初始化基本格式:
数据类型[] 数组名称 =new 数据类型[] {元素1,元素2,......}
省略格式
数据类型[] 数组名称 ={元素1, 元素2,。。。。。}
注意事项:
1.静态初始化没有指定长度,但是会自动推算到长度
2.静态初始化标准格式可以拆分成两个步骤
3.动态初始化也可以拆分成两个步骤
4.静态初始化一旦使用省略格式,就不能拆分成两个步骤?
使用建议:
如果不确定数组当中的具体内容,用动态初始化,否则,已经确定了具体的内容,用静态初始化。
直接打印数组名称,得到的是数组对应的 内存地址哈希值 十六进制
使用动态初始化的时候,其中的元素会自动一个默认值,规则如下:
1.如果是整数类型,那么默认为0:
如果是浮点类型,那么默认为 0.0
如果是字符类型,那么默认为“\u0000"
如果是布尔类型,那么默认为 false
如果是引用类型,那么默认为 null
=================================================================================
java的内存需要分成5个部分:
1.栈(Stack):存放的都是方法的局部变量,方法的运行一定在栈当中
局部变量:方法的参数,或者是方法{}内部的变量
作用域:一旦超过作用域,立刻从栈内存中消失
2.堆(Heap):凡是new出来的东西,都在堆当中。
堆内存里面的东西都有一个地址值:16进制
堆内存里面的数据,都有默认值。规则:
如果是整数 默认为 0
如果是浮点数 默认为0.0
如果是字符 默认为“\u0000"
如果是布尔 默认为 false
如果是引用类型 默认为null
3.方法区(Method Area):存储.class相关信息,包含方法的信息。
4.本地方法栈(Native Method Stack):与操作系统相关
5.寄存器 (pc Register):与CPU相关。
当调用方法的时候,向方法的小括号进行传参,传递进去其实地址值
注意事项:
1.成员变量是直接定义在类当中的,
2.成员方法不要写staic关键字
局部变量和成员变量
1.局部变量:在方法的内部
2。成员变量:在方法的外部,直接写在类当中
作用域不一样(重点)
局部变量:只有方法当中才可以使用,出了 方法就不能在用
成员变量:整个类都可以使用
默认值不一样(重点)
局部变量:没有默认值,如果要想使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
4.内存的位置不一样
局部变量:位于栈内存
成员变量:位于堆内存
生命周期不一样
局部变量:随着方法近栈而诞生,随着方法出栈而消失
成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失
当方法的局部变量和类的成员变量的时候,根据 就近原则,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名