CJB Java程序员 Day4
顺序语句
代码从上向下依次执行
循环语句(Next Day)
分支语句
有多个选项,但只能选择一条执行
分支语句
作用
判断
分支语句分类***
if
switch
1,if**
语法:
1,基本的if语句
语法
if(条件表达式){
当表达式值为true是,执行的代码
}
例:
去wb上网,年龄大于18,显示欢迎来自艾欧尼亚的最强王者;
思路:
1,定义一个变量记录年龄
int age = xx;
2,判断年龄是否大于等于18,年龄大于18,则欢迎
if (age >= 18){
System.out.println("欢迎来自艾欧尼亚的最强王者");
}
2,if else语句
语法:
if (变量表达式){
当表达式值为true时,执行的代码
}else{
当表达式值为false时,执行的代码
}
例:冠希哥在LA遇到了Ganster,需要你vx转账帮助他回香港
步骤:
1,定义转账额度
2.导包
3,创建一个Scanner
4,告诉对象冠希哥需要他的帮助
5,等待对象转账
6,加入判断转账额度是否够冠希哥回香港
7,冠希哥向对象表态
源码:
import java.util.Scanner;class Demo01{ public static void main(String[] args){ System.out.println("我是陈冠希啊,我现在遇到了一群很坏很坏的人,需要你vx转账300块,帮我回香港啊"); Scanner sca =new Scanner(System.in); System.out.println("要给冠希哥转多少:"); int money = sca.nextInt(); if(money >= 300){ System.out.println("我向你Solute啊"); }else{ System.out.println("原来是小瘪三"); } }}
3,else if语句*
语法:
if(条件表达式1){
当条件表达式1为true时,执行此处代码
}else if(条件表达式2){
当条件表达式2为true时,执行此处代码
}
...
}else{
当以上条件都不满足时,执行此处代码
}
*:else if可以有多个也可以没有
else可有可无
例:
经典网吧场景,当客人年龄过于离谱时
年龄小于10大于0,回家吃奶吧
年龄小于18大于10,旁边有个黑网吧
年龄大于18小于80,欢迎上网
大于80小于120,老爷子回家抱孙子吧
大于120,给博物馆打电话
小于0,给家里做道士的表哥打电话
源码:
import java.util.Scanner;
class Demo2{
public static void main(String[] args);{
Scanner sca = new Scanner(System.in);
int age = sca.nextInt();
if(age < 0){
System.out.println("给表哥打电话");
}else if(0 < age && age <= 10){
System.out.println("回家吃奶吧");
}else if(10 < age && age < 18){
System.out.println("旁边有个黑网吧");
}else if(18 <= age && age < 80){
System.out.println("欢迎上网");
}else if(80 <= age && age <= 120){
System.out.println("老爷子回家抱孙子吧");
}else if(age > 120){
System.out.println("给博物馆打电话");
}
}
}
练习:
键盘录入成绩
显示成绩区间
小于0或大于100:成绩输入有误
0~59:D
60~74:C
75~84:B
85~100:A
4,if的嵌套
在if的大括号中使用if
例:
去超市购物,满200打八折,会员再打八折,不满200不打折,会员打八折
步骤:
1.定义一个变量记录消费金额
double money01 = 230;
2,记录一个变量记录是否为会员
String isVIP = "是";
3,判断消费金额是否大于等于200
if(money01 >= 200){
3.1:大于等于200
3.1.1:计算折后金额
double money02 = money01 * 0.8;
3.1.2,判断是否为会员
if(isVIP.equals("是")){
3.1.2.1:是会员 使用3.1.1计算的金额,在打8折
double money03 = money02 * 0.8;
输出最终金额
System.out.println("本次消费金额为:"+money01+",本次实付金 额:"+money03+",本次优惠金额:"+(money01-money03));
}else{
3.1.2.2:不是会员
输出3.1.1计算的金额
System.out.println("本次消费金额为:"+money01+",本次实付金 额:"+money02+",本次优惠金额:"+(money01-money02));
}
}else{
3.2:小于200
3.2.2:判断是否为会员
if(isVIP.equals("是")){
3.2.2.1:是会员
使用1的金额,在打8折
double money02 = money01 * 0.8;
输出最终金额
System.out.println("本次消费金额为:"+money01+",本次实付金 额:"+money02+",本次优惠金额:"+(money01-money02));
}else{ 3.2.2.2:不是会员
输出1的金额
System.out.println("本次消费金额为:"+money01+",本次实付金 额:"+money01+",本次优惠金额:"+(money01-money01));
}
}
总结语法:
if(条件表达式1){
当条件表达式1为true时,执行此处代码
}else if(条件表达式2){
当条件表达式2为true时,执行此处代码
}else if(条件表达式3){
当条件表达式3为true时,执行此处代码
}
...
else if(条件表达式n){
当条件表达式n为true时,执行此处代码
}else{
当以上条件都不满足,执行此处代码
}
注意: else if可以有多个,也可以一个没有
else可有可无
在if语句的大括号中可以使用if语句
有if才会有else if或else
switch*
语法:
switch(变量){
case 常量1:
当变量值等于常量1时,执行此处代码
break;
case 常量2:
当变量值等于常量2时,执行此处代码
break;
...
case 常量n:
当变量值等于常量n时,执行此处代码
break;
default:
当变量值不等于以上常量时执行此处代码
break;
}
*:1,break不写也不会报错,但是会出现贯穿,直到遇到break停止
2,case中也能使用if语句
3,case可有多个,至少有一个
4,default可有可无
if与switch的区别
if可以判断区间,也可以判断值是否相同
if代码结构稍混乱
switch只能判断值是否相同
switch的语法稍微简单一些
switch的执行效率稍微高于if
switch的变量只能是基本数据类型或String,而且String是在jdk1.5及以后才支持
局部变量
概念:在方法中声明的变量,就是局部变量
注意:同一个作用域下,局部变量不能重名
开发工具
作用:提高书写代码的效率
Java的开发工具
Eclipse(1阶段用)