代码中的语句:
顺序语句:
代码从上往下依次执行;
分支语句:
在代码中多处选择,类似于生活中的判断;
循环语句:
重复执行一段代码;
分支语句:
If语句:
基本的if语句:
案列:去网吧上网
步骤:
1、定义一个变量用于记录年龄 int age = 12;
2、判断年龄是否大于等于18 if(age >= 18){}
3、如果大于等于18可以上网 输出
语法:
if(布尔表达式){
当布尔表达式为true时,执行此处代码
}
if else语句
语法:
if(布尔表达式){
当布尔表达式为true时,执行此处代码
}else{
当布尔表达式为false时,执行此处代码
}
案列:去网吧上网
步骤:
1、定义一个变量用于记录年龄 int age = 19;
2、判断年龄是否大于等于18 if(age >=18){
3.1:如果年龄大于等于18,允许上网。提示欢迎来自艾欧尼亚的最强王者
输出("年龄不满18周岁,不允许来网吧上网");
}
答案:
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
System.out.println("欢迎光临,千峰网咖!!!");
Scanner scr = new Scanner(System.in);
System.out.print("请输入你的年龄:");
int age = scr.nextInt();
if (age >= 18) {
System.out.println("艾欧尼亚最强王者上线了!");
}else {
System.out.println("未成年!禁止进入网咖!");
}
}
}
练习:
1,支付100块钱
步骤:
1,定义一个变量记录现在拥有的钱数
2,判断钱数是否大于等于100
3.1如果钱数大于等于100,提示支付成功,扣款,显示余额
3.2,如果钱数小于100,提示支付失败,显示余额,并提示余额不足
代码:
double money = 120;
if(money >= 100){
//扣款
money = money - 100;
//提示支付成功
System.out.println("支付成功");
//显示余额
System.out.println("余额为:"+money+"元");
}else{
System.out.println("支付失败");
System.out.println("余额不足");
}
答案:
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scr = new Scanner(System.in);
System.out.print("请输入你的余额:");
Double money = scr.nextDouble();
if (money >= 100) {
money = money-100;
System.out.println("支付成功,你的余额为:"+money);
}else {
System.out.println("支付失败,你的余额不足,请充值!!!");
}
}
}
2,判断用户是否登录成功
步骤:
1,定义正确的账号
2,定义正确的密码
3,定义用户输入的账号
4,定义用户输入的密码
5,判断正确的账号是否与输入的账号相同并且正确的密码是否与输入的密码相同
6.1,如果相同,登录成功
6.2,如果不相同,提示账号密码不匹配
答案:
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
String Tusername = "admin";
String Tpassword = "123456";
Scanner scr = new Scanner(System.in);
System.out.print("请输入你的账号:");
String username = scr.next();
System.out.print("请输入你的密码:");
String password = scr.next();
if(Tusername.equals(username) && Tpassword.equals(password)) {
System.out.println("登录成功");
}else {
System.out.println("账号密码不匹配,请重新登录");
}
}
}
多重if选择结构:
语法:
if(条件表达式1){
条件表达式1为true时,执行此处代码
}else if(条件表达式2){
条件表达式2为true时,执行此处代码
}else if(条件表达式3){
条件表达式3为true时,执行此处代码
}
.......
else if(条件表达式n){
条件表达式n为true时,执行此处代码
}else{
当以上条件表达式都不为true,执行此处代码
此处的else可以有也可以没有
}
案例:
判断用户成绩如果在100~85为学霸,84~70为学神,69~61为良好,60为开挂,59~0为挂科,错误区间 100+,<0
步骤:
1,定义一个变量记录用户成绩
2,判断用户成绩是否大于100或小于0
成绩有误
判断用户成绩是否小于等于100并且大于等于85
判断用户成绩是否小于85大于等于70
判断用户成绩是否小于70大于等于61
判断用户成绩是否等于60
判断用户成绩是否小于60大于等于0
答案:
import java.util.Scanner;
public class Demo02{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入成绩:");
Double chengji = s.nextDouble();
if (chengji>=100 || chengji<=0){
System.out.println("成绩有误");
}else if(100>=chengji && chengji>=85){
System.out.println("该生伪学霸");
}else if(84>=chengji && chengji>=70){
System.out.println("该生为学神");
}else if(69>=chengji && chengji>=61){
System.out.println("该生为良好");
}else if(chengji==60){
System.out.println("该生为开挂");
}else if(59>=chengji && chengji>=0){
System.out.println("该生为挂科");
}
}
}
if嵌套:在if,else if或else中继续使用分支语句
案例:
去超市消费,超市规定,满200打8折,如果是会员在打8折,如果不满200不打折,但是如果是会员还是打8 折
步骤:
0,定义一个变量记录用户是否为会员
1,定义消费金额
2,判断金额是否大于200
2.1:大于等于200
2.1.1:计算优惠后金额
2.1.2:判断用户是否为会员
2.1.2.1:是会员
计算优惠金额
输出应付金额,实付金额,优惠金额
2.1.2.2:不是会员
输出应付金额,实付金额,优惠金额,建议办理会员卡
2.2:小于200
2.2.1:判断用户是否为会员
2.2.1.1:是会员
计算优惠金额
输出应付金额,实付金额,优惠金额
2.2.1.2:不是会员
输出应付金额,实付金额,优惠金额,建议办理会员卡
代码:
boolean vip = true;
double money = 210;
if(money >= 200){
double money02 = money * 0.8;
if(vip){
money02 = money02 * 0.8;
System.out.println("本次应付:"+money+"元,本次实付:"+money02+"元,本次优 惠:"+(money-money02));
}else{
System.out.println("本次应付:"+money+"元,本次实付:"+money02+"元,本次优 惠:"+(money-money02));
}else if(money < 200 && money >= 0){
if(vip){
double money02 = money * 0.8;
System.out.println("本次应付:"+money+"元,本次实付:"+money02+"元,本次优 惠:"+(money-money02));
}else{
System.out.println("本次应付:"+money+"元,本次实付:"+money+"元,本次优惠:"+ (money-money));
}else{
System.out.println("金额有误");
}
}
}
答案:
import java.util.Scanner;public class Demo05 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in) {
System.out.println("是否为VIP:");
String vip = s .next();
System.out.println("消费金额:");
double many = s .nextDouble();
if(many>=200) {
double many2 = many * 0.8;
if(vip.equals("是")) {
many2 = many2 * 0.8;
System.out.println("本次应付多少钱:"+many+"元,"+"本次实际支付:"+many2+"元,"+"本次优惠:"+(many-many2)+"元.");
}else {
System.out.println("本次应付多少钱:"+many+"元,"+"本次实际支付:"+many2+"元,"+"本次优惠:"+(many-many2)+"元.");
}
}else
if(many < 200 && many >= 0) {
if(vip.equals("是")) {
double many2 = many * 0.8;
System.out.println("本次应付多少钱:"+many+"元,"+"本次实际支付:"+many2+"元,"+"本次优惠:"+(many-many2)+"元.");
}else {
System.out.println("本次应付多少钱:"+many+"元,"+"本次实际支付:"+many+"元,"+"本次优惠:"+(many-many)+"元.");
}
}
}
System.out.println("欢迎再次光临!");
}
}
switch语句:
语法:
switch(变量){
case 常量1:
当变量值等于常量1时,执行此处代码
break;
case 常量2:
当变量值等于常量2时,执行此处代码
break;
...
case 常量n:
当变量值等于常量n时,执行此处代码
break;
default:
当变量值不等于以上所有常量时,执行此处代码
default代码可以有,也可以没有
break;
}
案例:
小程序助你破产
分析:
元旦 跨年
春节 压岁钱
元宵 吃元宵
情人节 送花
女神节 化妆品
劳动节 旅游
儿童节 零食大礼包
七夕节 吃吃喝喝
中秋节 月饼
国庆 旅游
双十一 清空购物车
双十二 清空购物车
平安夜 送苹果
圣诞节 吃吃喝喝
技术选型:JavaSE
分支语句:switch
代码编写:
1,定义一个变量记录当前节日
2,编写switch
switch(当前节日的变量){
case "xx":
break;
}
注意:
如果case后没有break,当判断值与当前case后常量一致,会执行当前case中的代码并向下执行,直到遇 到break
答案:
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
System.out.print("你要过的节日是:");
Scanner scr=new Scanner(System.in);
String Day = scr.next();
switch(Day){
case "元旦节" :
System.out.println("陪你一起跨年!");
break;
case "春节" :
System.out.println("发压岁钱!");
break;
case "元宵节" :
System.out.println("一起吃元宵!");
break;
case "情人节" :
System.out.println("送你一束玫瑰花!");
break;
case "女神节" :
System.out.println("送你一套化妆品!");
break;
case "劳动节" :
System.out.println("一起去旅游!");
break;
case "儿童节" :
System.out.println("送你零食大礼包!");
break;
case "七夕节" :
System.out.println("一起吃吃喝喝!");
break;
case "中秋节" :
System.out.println("吃月饼!");
break;
case "国庆节" :
System.out.println("一起去旅游!");
break;
case "双十一" :
System.out.println("清空购物车!");
break;
case "双十二" :
System.out.println("清空购物车!");
break;
case "平安夜" :
System.out.println("送你一颗苹果!");
break;
case "圣诞节" :
System.out.println("一起吃吃喝喝!");
break;
default :
System.out.println("没有礼物!!!!");
break;
}
System.out.println("你过的节日是:"+Day);
}
}
if和switch的区别:
if可以判断区间,switch只能判断值相等
switch比if运行效率稍微快一些
jdk1.7以后switch支持判断字符串内容相同
键盘录入:
步骤:
1,导包
import java.utils.Scanner;
注意:此处写在类以外
2,创建对象
Scanner 变量名1 = new Scanner(System.in);
3,等待键盘录入
键盘录入数字
int 变量名 = 变量名1.nextInt();
double 变量名 = 变量名1.nextDouble();
...
键盘录入字符串
String 变量名 = 变量名1.next();