运算符
1. 算术运算符
+ - * / %
++ –
2. 关系运算符
> >= < <= == !=
3. 逻辑运算符
&& || !
4. 三目运算符
?:
5. 赋值运算符
=
+= -= *= /=
6. 位运算符
& | ^ ~ >> >>> <<
7. 其它
()
.
[]
,
语句:
1. 顺序执行语句
2. 分支选择语句
(1) if
if(条件){
//当条件为true时执行
}//括号对齐
//一定要对齐 不仅是为了美观,也是为了查找问题
if(){}//不行
if(){
}//不行
(2) if(条件){
}else{
}
(3) if(条件){
}else if(条件){
}else if(条件){
}
.....
//有可能不执行任何一个分支
(4)
if(条件){
}else if(条件){
}else if(条件){
}
.....
else{
//上面条件都不满足时执行
}//一定会执行一个分支
练习:
输入一个商品的单价,输入购买的个数,输入支付的总金额
如果总价格大于500元,则打9折
求商品总价格
以及找零
如果不够 则提示 还需要支付多少钱
(2) switch
switch(常量表达式){
case 值1:
代码1;
break;
case 值2:
代码2;
break;
...
default:
默认执行的代码
}
switch表达式的值如果与哪个case后面的值相等,则进入到哪一个分支执行,会逐行往下执行,直到遇到break结束 switch语句
如果没有任何一个case相等,则会进行default语句执行
输入一个百分制的成绩,输出该成绩的等级
[90-100] 优秀
[80,90) 良好
[70,80) 中等
[60,70) 及格
[0,60) 不及格
考试 都会没有break
输入一个月份,输入这个月份属于哪个季节
用switch计算一个有效日期是当年的第几天
3. 条件循环
while(条件){
//当条件为true时执行循环体的内容
}
计算1+2+3+4+...+ 100的值
循环来做
2+4+6+...+100的和
计算 1/1 + 1/3 + 1/5 + 1/7 + 1/9 + ... 1/99 考虑小数部分
输入一个整数num,输出这是一个几位数
输入两个整数n,m,求n和m的最大公约数
56 84
84-56 = 28
56-28 = 28
28-28 = 0 28
用减法求最大公约数
32 56
56-32=24
32-24=8
24-8=16
16-8=8
8-8=0 8
1400 2514
1400%2514 = 1400
2514%1400 = 1114
1400%1114 = 286
1114%286 = 256
286%256 = 30
256%30 = 16
30%16 = 14
16%14 = 2
14%2 = 0
2是最大公约数
格式
逻辑
思维习惯
编程
计算机的思维方式
分支选择
if(){
code;
//在{}里面的内容会缩进
}
if(){
if(){
}else if(){
}
}else{
}
switch{
}
条件循环:
while(布尔表达式:结果只能是true或者false){
}
for(初始化循环变量;循环条件;改变循环变量){
//循环体的内容
}
for(1;2;3){
4;
}
初始化循环变量只会执行一次
循环条件如果为true
执行循环体的内容
改变循环变量
重新判断循环条件
直到循环条件为false时结束循环
循环中有两个关键字
break 结束整个循环 跳到循环后面继续执行
continue 结束本次循环 跳过continue下面的语句 进入下一次循环
猜数字游戏:
1.生成随机数
import java.util.Random;
在main方法中
Random rand = new Random();
rand.nextInt(arg); //随机生成一个[0,arg)之间的整数
生成一个[1,99]之间的整数
rand.nextInt(99) + 1;
[0,98] + 1 [1,99]
题目:随机生成一个(0,100)区间的整数
让用户去猜测这个数字
假设45
请猜一个数字在(0,100)区间
输入50
您输入的数字太大了,请猜一个数字在(0,50)区间
输入30
您输入的数字太小了,请猜一个数字在(30,50)区间
如果输入的数字不在区间范围之内
提示用户输入的数值不在范围之内且不改变区间
直到猜中这个数字为止
提示用户中奖
如果用户输入0表示直接退出,不再进行游戏!
提示 很遗憾您直接放弃,欢迎下次再玩!
break switch 里面 循环语句
continue 只能用在循环语句中
无限循环:
while(true){}
for(;;){}
for(;true;){}
while和for可以完全互换
while基本会于循环次数不确定的
for一般用于循环次数确定的
while和for循环都是要先进行条件判断,如果条件为false,则循环一次也不会进行
do{
// do while循环是先进行循环,再进行条件判断 至少会执行一次循环体
}while(条件);
goto 保留关键字
练习:
1.输出九九乘法口诀表
外层循环控制行数
每一行打印n个式子
1X1=1
1X2=2 2X2=4
1X3=3 2X3=6 3X3=9
.....
2.打印下列图形
**
*
***
*
在循环嵌套中break和continue,针对其实是关键字所在的循环层次,可以借助标签break或者continue某个层次的循环
所有的代码都是用分支选择语句和条件循环语句完成的