java基础第三天——运算符、语句、方法重载

逻辑运算符:
& | ^ ! && ||

左右两边都是boolean类型
特点:
逻辑与& :有假则假  
逻辑或| : 有真则真
逻辑异或^ : 相同则假,不同则真
逻辑非! :真变假, 假变真

&&短路与,||短路或
& 无关左边是什么结果,右边都执行
&&当左边结果为false,最后表达式结果为false,右边不执行

| 无管左边是什么结果,右边都执行
||当左边结果为true, 最后表达式结果为true, 右边补执行
—————————————————————————————
位运算符:
& | ^ ~ << >> >>>

操作的都是二进制,以二进制补码的形式操作
特点:
位与& : 有0则0
位或| :  有1则1
位异或^ : 不同为1,相同为0
位反码~ : 0变1,1变0,符号位也改变
位左移<< : 结果变大,移出去的高位舍弃,右边补0
位右移>> : 结果变小,移出去的低位舍去,最高位为1就补1,最高位为0就补0
位无符号右移: 移出去的低位舍去,左边补0

位异或^ 运算符特点:
一个数对另一个数异或两遍,结果不变
5 ^ 3 ^ 3 = 5
—————————————————————————————
三元运算符:
格式:
(条件表达式) ? 表达式1 :表达式2;

注意: 当条件表达式结果为true,执行表达式1,然后使用表达式1,的结果作为最终的结果
      当条件表达式结果为false,执行表达式2,然后使用表达式2,的结果作为最终的结果
----------------------
键盘输入: Scanner

实现键盘输入的步骤:
1,导包, 在class的上面写
import java.util.Scanner;
2,创建对象
Scanenr sc = new Scanner(System.in);
3,获取int类型数据
int n = sc.nextInt();
—————————————————————————————
顺序结构:
按照代码书写的顺序,从上到下执行
—————————————————————————————
选择结构 if 
方式1:
格式:
if(条件表达式) {
语句体;
}
执行流程:
如果条件表达式值为true, 执行语句体
如果条件表达式值为false,不执行语句体

方式2:
格式:
if(条件表达式) {
语句体1;
} else {
语句体2;
}
执行流程:
如果条件表达式值为true, 执行语句体1
如果条件表达式值为fales,执行语句体2
方式3:
格式:
if(条件表达式1) {
语句体1;
} else if (条件表达式2) {
   语句体2;
} else if (条件表达式n...) {
语句体n...
}
...
else {
语句体n+1;
}
执行流程:
哪一个条件表达式成立,执行对应的语句体,
如果所有的条件表达式都不成立,执行最后else中的语句体

注意事项:
1,条件表达式无论是简单还是复杂,结果都是boolean类型的值
2, 如果语句体只有一条语句,大括号可以省略,
  如果是多条语句,大括号不能省略,建议什么时候都写上大括号
—————————————————————————————
选择结构 switch
格式:
switch (表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
先计算表达式的值
然后使用表达式的值与所有的case值做匹配
1,如果匹配到了对应的case值,执行对应的语句体,当遇到break,或switch语句末尾结束
2,如果所有的case值与表达式的值都不匹配,执行default中的语句体

注意事项:
1,表达式的值 byte short int char
jdk5, 支持了枚举类型
jdk7, 支持了字符串类型
2, case值必须是一个常量,不能是变量
  case值不能出现重复
3, default语句可以省略,但是不建议省略
4,default语句的位置可以放在switch语句中的任意位置
5,break语句可以省略,不建议省略,因为得到的结果不一定是我们想要的结果
6, switch语句什么时候结束
a) 遇到break;

b) 执行到switch语句结果

—————————————————————————————

循环语句For
格式:
for (初始化表达式;条件表达式; 控制条件表达式) {
语句体;
}

执行流程:
1,初始化表达式;
2,条件表达式
如果结果为true, 执行语句体
如果结果为flase, 循环结束
3, 当语句体执行后, 执行控制条件表达式
4,接下来,回到第二步, 直到条件表达式为false 循环结束
—————————————————————————————
循环语句 while
格式:
初始化表达式;
while (条件表达式) {
语句体;
控制条件表达式;
}
执行流程;
1,初始化表达式;
2,条件表达式
如果结果为true, 执行语句体
如果结果为flase, 循环结束
3, 当语句体执行后, 执行控制条件表达式
4,接下来,回到第二步, 直到条件表达式为false 循环结束
—————————————————————————————
循环语句  do{..}while();
格式:
初始化表达式;
do {
语句体;
控制条件表达式;
} while (条件表达式);

执行流程:
1,初始化表达式;
2, 执行语句体
3, 执行控制条件表达式
4, 执行条件表达式, 
如果结果为true, 继续执行语句体
如果结果为false, 循环结束
—————————————————————————————
死循环:
for ( ; ; ){...}
while (true) {..}
—————————————————————————————
循环嵌套:
for () {
for(){

}
}
-—————————————————————————————
三种循环的区别
dowhile 语句体 至少执行一次
for、while 要当条件表达式为真的时候,才能够执行;
如果条件不成立,不会执行,有可能一次都不执行

当循环的次数确定的时候,推荐使用for
当循环的次数不明确的时候,推荐使用while

推荐使用的循环为for循环,为什么?
因为,当for循环执行完毕后,在for循环的初始化表达式中定义的变量就在内存中消失了,效率高
—————————————————————————————
跳转控制语句
break; 结束当前循环 
单层循环:(默认情况下就是)
多层循环:(使用标签)

continue; 结束本次循环

return; 结束当前循环所在的方法,当前方法中后面的代码不执行了
—————————————————————————————
方法: 简单的是,就是一组完成特定功能的代码块
name{
code...
code...
}
格式:
修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名2, ...) {
方法体;
return 返回值;
}

方法使用的注意事项:
1,方法不调用,自己不执行
2,方法中不能定义方法, 但是,方法中可以调用方法
3, 方法定义的位置在类中,其他方法的外面
4, 如果方法没有明确的返回值类型,使用'空'类型, void表示
5,void只能在方法返回值类型位置使用,不能作为 普通的数据类型使用
6, 如果方法返回值类型为void类型,可以省略 return ;

有明确返回值类型的方法调用方式:
1,单独调用
2,输出调用
3,赋值调用
没有明确返回值类型的方法调用方式:
1,单独调用
—————————————————————————————
方法重载: 在同一个类中,出现了多个同名的方法,他们的参数列表不同
(参数列表的个数不同,参数列表的数据类型不同,参数列表的顺序不同)

特点:
与方法的返回值类型无关,与方法的参数名无关,只看方法名与参数列表
方法重载,是通过JVM来完成同名方法的调用的,通过参数列表来决定调用的是哪一个方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值