位运算符
&按位与:每一位的数字都为,结果为1
|按位或:每一位的数字有一个为1,结果为1
^按位异或:每一位的数字相同,结果为0,否则为1
<<左移:2<<3 2*2的3次方
a<<b a*2的b次方
>>右移:2>>3 2/2的3次方
a>>b a/2的b次方
流程控制:
用户输入4位卡号,每位数字之和大于20,中奖,小于20则不中奖。
程序需要根据不同的条件去进行不同的流程处理,
在程序中我们称之为流程控制。
如何实现?
使用if关键字
语法:
if(判断条件){
}else{
}
张三的考试成绩大于90分,老师奖励他休息一天,
否则老师罚他周末来补课。
成绩>=80:良好
成绩>=60:中等
成绩<60:差
if-esle是Java中最基本的流程控制语句
if后面必须跟(条件)
else后面不能有(),可以直接跟{}
也可以再跟一个if()
else{}可以继续嵌套if语句
if嵌套:
学校举办运动会,百米赛跑成绩13秒以内有资格进入决赛,根据性别分别进入男子组和女子组。
String类型的值比较是否相等
不能用 ==
应该用equals方法进行判断
switch case
语法:
switch(要判断的变量){
case 特定值1:
case 特定值2:
...
}
switch-case和if-else的区别是
switch-case只能处理等值判断,不能处理大于/小于判断
if-else任何判断都可以处理
如果变量满足某个case语句,
则会执行该语句的逻辑代码,同时
该case之后的所有case不再做判断,
统一认为全部满足,逻辑代码都会执行。
如何解决:
在每一个case的逻辑代码结束之后,添加break;
switch支持的数据类型:
int,short,byte,char
枚举类型,String类型jdk1.7之后的版本支持
循环:重复做同一件事情
在控制台打印100遍Hello World
for
foreach:增强型for循环
while
do-while
for:
语法:
for(定义循环变量;循环条件;迭代;){
循环体;
}
循环四要素:
1.初始化循环变量;
2.循环条件;
3.迭代:更新循环变量;
4.循环体;
首先执行初始化循环变量,只执行一次。
判断循环条件是否成立,如果成立,执行循环体,
如果不成立,进行下一次循环,多次执行。
更新循环变量,多次执行。
循环体,多次执行
流程控制:
if-else
if(用户名密码都正确){
登录成功,跳转到首页
}else{
登录失败,重新来到登录页面
}
if语句可以嵌套if语句
else语句中可以嵌套if语句,
else语句不能单独存在,必须跟着if之后
else语句后可直接跟if
if(){
}else{
if(){
}
}
if(){
}else if(){
}
switch case
switch只能做等值判断,支持的数据类型
int,short,byte,char,String,枚举类型
循环:
for
while
do-while
循环四要素:
1.初始化循环变量,只执行一次,第一次循环时执行。
2.循环条件,执行多次。
3.循环体,执行多次。
4.迭代,更新循环变量,执行多次。
for:
for(初始化循环变量;循环条件;更新循环变量){
循环体;
}
while:
初始化循环变量;
while(循环条件){
循环体;
更新循环变量;
}
do-while:
初始化循环变量;
do{
循环体;
更新循环变量;
}while(循环条件);
while和do-while的区别
while循环先判断,再执行。
do-while先执行,再判断。
while有可能一次都不执行。
do-while至少会执行一次。
老师每天都检查张三的学习情况,是否合格,
如果不合格,继续学习,合格就可以休息。
学习任务:上午学习理论知识,下午上机写代码。
while:老师先给出结果,张三再学习
do-while:
张三先学习,老师再给结果
for循环和while(do-while)的区别:
for适用于次数确定的循环
while,do-while适用于次数不确定的循环
1.循环输入张三考试的五门成绩,分别打印输出,并且计算平均分。
2.任意输入一个整数:6
打印如下的加法表:
0 + 6 = 6
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6
6 + 0 = 6
for while do-while都是一重循环,双重循环。
*****
*****
*****
*****
*****
i 空格 *
* 0 4 1
*** 1 3 3
***** 2 2 5
******* 3 1 7
********* 4 0 9
*
***
*****
*******
*********
*******
*****
***
*
输出9*9乘法口诀表
1*1 = 1
2*1 = 2 2*2 = 4
3*1 = 3 3*2 = 6 3*3 = 9
...
跳出循环 break;
循环输入张三考试的五门成绩,分别打印输出,并且计算平均分,如果操作不当,输入了负数,停止录入并提示错误。
当程序执行break时,直接停止当前循环,break之后的代码
不再执行,同时跳出整个循环体,不再执行后续的循环。
1.当次循环,break语句后面的代码。
2.之后的所有循环。
计算1-10之间的整数之和,如果得到的累加值大于20,则停止循环,返回当前累加值。
跳出循环
break:跳出整个循环。
continue:跳出本次循环,进入下一次循环。