运算符
**
自动类型的转换:表达式的最终结果会转化为参与运算的最高类型
关于自增:
I++:自增后执行
++i:先执行自增
例:System.out.println(3++);//3
System.out.println(++3);//4
关于赋值(举例说明):
a += 2 == a = a+2
一个=是赋值,两个=是比较
例:
关于比较运算:
比较运算的结果:boolean 真与假
Instanceof:用于引用数据类型的比较
判断一个对象是否属于某个类的实例
逻辑运算:当有多个比较运算参与其中,获取一个结果
&:且,两边结果同时为真,才为真
|:或,有一边结果为真,则为真
!:非,取反
具有短路效果(当一边可以确定最终结果时,另外一个判断不执行,执行效率更高)
&&:双与,与&运行结果一致
||:双或,与|运行结果一致
关于三目运算(三元运算):
X?Y:Z:当X为true时,结果为Y,反之,结果为Z
表达式的结果可以用变量接收,也可以直接打印
当使用变量接收的时候,建议Y与Z的类型一致:若是不一致,可以使用Object接收
三目运算可以嵌套使用
例:
循环&&选择:
选择结构:if(布尔值){
//功能代码1
}else{
//功能代码2
}
多选择
if(布尔值){
//功能代码1
}else if(布尔值){
//功能代码2
}else{
}
语义:当布尔值为true,执行功能代码1,反之,执行功能代码2
:编译器只看类型不看值
循环:
- 结构一:
While(1.布尔值){
2.功能代码
}
当布尔值为true时,执行2,然后再执行1,直到布尔值为false,跳出循环
- 结构二:
for(1.初始化语句;2.布尔值;3.循环后执行语句){
4.功能代码
}
顺序:1->2->4->3,直到布尔值为false,循环结束
例:
嵌套循环:
for(1.初始化语句;2.布尔值;8.循环后执行语句){
For(3.初始化语句;4.布尔值;6.循环后执行语句){
5.功能代码
}
7.功能代码
}
例:
- 控制语句:
Continue:结束当前循环
Break:结束所有循环
- 关于方法:
修饰符:权限 方法的访问方式
返回值类型:决定方法执行完成以后 给调用者返回的内容
Void:什么都不返回
任意的数据类型
方法名:方法的标识符
形参列表:满足方法的功能需要的数据类型
方法体:方法完成具体功能的逻辑代码
一个方法必须有哪些组成:
[修饰符] 返回值类型 形参列表{
功能
}
方法的调用:
1.类名.方法名(被调用的方法必须有static修饰)
2.方法名();在同一个类中,要么都被static修饰,要么都不被修饰
3.对象.方法名,调用没有被static修饰的方法
对于有返回值方法调用结果的处理:1.使用变量接收 2.直接打印 3.作为参数参与运算
Return以后,不能有功能代码
返回值类型:
1.如果不是void,方法体必须有返回值 return 常量 or 变量
2.返回的数据必须必须有返回值对应
3.return
把方法名一致,形参列表不同的情况叫做方法重载(Overload)
形参列表:
1.长度不同
2.类型不同
3.顺序不同
:和变量名没有关系
和返回值类型无关
和参数无关
关于数组:
数组:一块连续的内存空间
长度从1开始,索引从0开始计算
最大索引 = 长度-1
1.数组的定义:数据类型[] 名字 = new 数据类型[长度]
数据类型[] 名字 = {值1,值2…} 静态定义,一旦定义,长度与数据都固定了
2.如何放值:数组名[索引] = 值
3.如何取值:数组名[索引] 1.直接打印 2.使用变量接收
4.获取数组的长度:数组名.length
- 数组的遍历:
把数组里的每一个值取出来
结构一:
For(int i=0;i<数组名.length;i++){
数组名[i];
}
结构二(增强for循环):
For(数据类型 变量名:数组名){
System.out.println(变量名);
}
来源:CSDN
作者:Zebord
链接:https://blog.csdn.net/weixin_42079595/article/details/103704012