JAVA 四 流程控制
JAVA
运算符
1. 赋值运算符
- 符号:= ; += ; -= ; *= ; /= ; %=;
- 代码练习
public class Demo2017072701 {
public static void main(String[] args){
short s=3;//重点注意short类型
//错误写法s=s+2;
s=(short)(s+2);//报错2是int类型,需要强制类型转换
s+=2;//自动强制类型转换
}
}
2.比较运算符
- == ; != ; > ; < ; >= ; <= ;
- 代码练习
//键盘输入张三成绩与李四成绩80对比
import java.util.Scanner;
public class Demo2017072702 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入张三成绩");
int sanscore=input.nextInt();
boolean b;
int liscore=80;
b=sanscore>liscore;
System.out.println("张三的成绩比李四的高吗");
System.out.println(b);
}
}
3.逻辑运算符
1.与运算符&& 条件1 && 条件2 仅仅两个条件同时为真,结果才是真
2.或运算符|| 条件1 || 条件2 只要两个条件有个一个为真结果就是真
3.! !条件 条件为真结果是假;条件为假结果为真
重点注意逻辑运算符两侧都是boolean布尔值
4.异或^ 相同为假,不同为真
若单个&或者|,则表示判断条件1后继续判断条件2,但不影响结果
- 代码练习
/*张浩java成绩大于98分,而且音乐成绩大于80分,老实奖励他;
*或者java成绩等于100分,音乐成绩大于70分,老师也可以奖励他
*/
import java.util.Scanner;
public class Demo2017072703 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入张三的java成绩");
int java=input.nextInt();
System.out.println("请输入张三的音乐成绩");
int music=input.nextInt();
boolean flag;
flag=(java>98&&music>80)||(java==100&&music>70);
System.out.println("老师奖励他吗?");
System.out.println(flag);
}
}
2.程序流程控制
if语句
第一种格式
//第一种格式
if(条件判断){
执行语句;//满足条件执行的代码
}
代码练习
//用户输入张浩的成绩,如果超过98分就奖励MP4
import java.util.Scanner;
public class Demo2017072704 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入张浩的成绩");
int score=input.nextInt();
if(score>98){
System.out.println("奖励MP4");
}
}
}
第二种格式
//第二种格式
if(条件判断){
执行语句;//满足条件执行
}
else{
执行语句;//不满足条件执行
}
代码练习
//用户输入两个数a、b。如果a能被b整除或a加b大于1000.则输出a:否则输出b
import java.util.Scanner;
public class Demo2017072705 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入a,b数值Enter结束");
int a=input.nextInt();
int b=input.nextInt();
if(a%b==0||a+b>1000){
System.out.println(a);
}else{
System.out.println(b);
}
}
}
第三种格式
多重if选择结构
if(判断){
表达式
}else if{
表达式
}else if{
表达式
}
代码练习
//判断输入成绩在什么区间
import java.util.Scanner;
public class Demo2017072707 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入成绩");
int score=input.nextInt();
if(score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("优");
}else if(score>=70){
System.out.println("良好");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}
}
//输入存款买车
import java.util.Scanner;
public class Demo2017072708 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入存款XX/万元");
int money=input.nextInt();
if(money>=500){
System.out.print("购买凯迪拉克");
}else if(money>=100){
System.out.println("购买帕萨特");
}else if(money>=50){
System.out.println("购买伊兰特");
}else if(money>=10){
System.out.println("购买奥拓");
}else{
System.out.println("购买捷安特");
}
}
}
第四种格式 嵌套if语句
if(条件1){
表达式
if(条件2){
表达式
if(条件3){
表达式
}
}
}
代码练习 equals
import java.util.Scanner;
public class Demo2017072709 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入成绩");
int score=input.nextInt();
if(score<10){
System.out.print("请输入性别:");
String sex=input.next();
if(sex.equals("男")){
//equals字符串相等表达式
System.out.println("男子组");
}else{
System.out.println("女子组");
}
}
}
}
代码练习
//购物小票 普通用户满100 9折,会员满100 8折 满200 7.5折
import java.util.Scanner;
public class Demo2017072710 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入会员or普通");
String hui=input.next();
System.out.println("请输入购物金额");
double money=input.nextDouble();
if(hui.equals("会员")){
if(money>=200){
money=0.75*money;
}else if(money>=100){
money=0.8*money;
}
}else if(money>=100){
money=0.9*money;
}
System.out.println("消费"+money);
}
}
3三元运算符
- (条件判断)?表达式1;表达式2;
- 例如两个数值a,b确定最大值赋值z
z=(a>b)?a:b;
###练习代码1.
```java
//用户输入两个数a,b求其中的最大值,把该值赋给z;输出z
import java.util.Scanner;
public class Demo2017072706 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入a,b两个值");
int a=input.nextInt();
int b=input.nextInt();
int z;
if(a>b){
z=a;
}else{
z=b;
}
System.out.println(z);
}
}
<div class="se-preview-section-delimiter"></div>
4选择结构
switch语句
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
default
}
<div class="se-preview-section-delimiter"></div>
代码练习
import java.util.Scanner;
public class Demo2017072711 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入名次 :");
int flag=input.nextInt();
switch(flag){
case 1:
System.out.print("参加麻省理工大学组织的交换生");
break;
case 2:
System.out.print("奖励惠普笔记本一台");
break;
case 3:
System.out.print("奖励港澳双人游一次");
break;
default :
System.out.print("没有奖励");
}
}
}
<div class="se-preview-section-delimiter"></div>
代码练习2
//智能电话拨打
import java.util.Scanner;
public class Demo2017072712 {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入自动拨号");
int a=input.nextInt();
switch(a){
case 1:
System.out.println("拨打爸爸的号码");
break;
case 2:
System.out.println("拨打妈妈号码");
break;
case 3:
System.out.println("拨打奶奶号码");
break;
case 4:
System.out.println("拨打爷爷号码");
break;
default:
System.out.println("ERROR");
}
}
}