Java中的语句分类
顺序语句
代码从上向下依次执行
分支语句
有多个选择,但是只能选择一条进行执行
循环语句
分支语句(重点,重点,重点)
作用
判断
分支语句的分类
if
switch
if(重点)
1,基本的if语句
语法:
if(条件表达式){
当条件表达式值为true时,执行的代码
}
案例:
去网吧上网,年龄大于等于18岁,显示欢迎来自艾欧尼亚的最强王者
思路:
1,定义一个变量记录年龄
int age = 21;
2,判断年龄是否大有等于18
if(age >= 18){
2.1:大于等于18,欢迎来自艾欧尼亚的最强王者
System.out.println("欢迎来自艾欧尼亚的最强王者");
}
2,if else语句
语法:
if(条件表达式){
当条件表达式值为true时,执行的代码
}else{
当条件表达式值为false时,执行的代码
}
案例:
去网吧上网,年龄大于等于18岁,显示欢迎来自艾欧尼亚的最强王者
如果年龄小于18岁,显示悄悄告诉你旁边有个黑网吧
思路:
1,定义一个变量记录年龄
int age = 21;
2,判断年龄是否大有等于18
if(age >= 18){
2.1:大于等于18,欢迎来自艾欧尼亚的最强王者
System.out.println("欢迎来自艾欧尼亚的最强王者");
}else{
2.2:小于18
System.out.println("悄悄告诉你旁边有个黑网吧");
}
3,else if语句
语法:
if(条件表达式1){
当条件表达式1为true时,执行此处代码
}else if(条件表达式2){
当条件表达式2为true时,执行此处代码
}else if(条件表达式3){
当条件表达式3为true时,执行此处代码
}
...
else if(条件表达式n){
当条件表达式n为true时,执行此处代码
}else{
当以上条件都不满足,执行此处代码
}
注意:
else if可以有多个,也可以没有
else可有可无
案例:
案例:
去网吧上网,年龄大于等于18岁并且小于等于80,显示欢迎来自艾欧尼亚的最强王者
如果年龄小于18岁大于等于0,显示悄悄告诉你旁边有个黑网吧
大于80小于120:老爷子回家逗孩子吧
大于120:给博物馆打电话
小于0:准备报警
代码:
int age = 230;
if(age < 0){
System.out.println("报警");
}else if(0 <= 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("给博物馆打电话");
}else{
System.out.println("年龄等于120");
}
4,if的嵌套
在if大括号中可以使用if
案例:
去超市购物,满200打8折,会员在打8折,不满200,是会员打8折,不满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;
}
if与switch的区别
if可以判断区间,也可以判断值是否相同
if代码结构稍微有一点混乱
switch只能判断值是否相同
switch的语法稍微简单一些
switch的执行效率稍微高于if
switch的变量只能是基本数据类型或String,而且String是在jdk1.5及以后才支持
局部变量
概念:在方法中声明的变量,就是局部变量
注意:
1,同一个作用域下,局部变量不能重名
开发工具
作用:提高书写代码的效率
Java的开发工具
Eclipse(1阶段用)
IDEA(2,3,4阶段用)
案例
1,if嵌套的案例
import java.util.Scanner;
public class ifDeQianTao {
public static void final_price() {
Scanner in = new Scanner(System.in);
ifDeQianTao idt = new ifDeQianTao();
System.out.println("输入实付金额");
int price01 = in.nextInt();
int pricestart = price01;
if(price01>=200) {
price01 *= 0.8;
if (idt.isVIP()) {
price01 *= 0.8;
System.out.println("应付"+pricestart+",实付"+price01);
}else {
System.out.println("应付"+pricestart+",实付"+price01);
}
}else if (idt.isVIP()) {
price01 *=0.8;
System.out.println("应付"+pricestart+",实付"+price01);
}else {
System.out.println("应付"+pricestart+",实付"+price01);
}
}
public boolean isVIP() {
Scanner in = new Scanner(System.in);
System.out.println("是否为会员");
String vip = in.next();
if(vip.equals("是")){
return true;
}else {
return false;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
final_price();
}
}
2,小程序助你破产项目
思路:
1)欢迎来到小程序助你破产
2)提示用户可选择的节日有
元旦
春节
元宵
…
3)提示用户输入对应的节日编号
4)根本编号打印输出应该送的礼物,如果没有对应的节日,输出暂无录入该节日
import java.util.Scanner;
public class smallPoChan {
public void PoChan(){
Scanner in = new Scanner(System.in);
System.out.println("欢迎来到小程序助你破产");
System.out.println("可选择\n1.元旦\n2.春节\n3.元宵\n4.儿童节\n5.七夕");
System.out.println("请输入\n-------------------");
int key = in.nextInt();
switch (key) {
case 1:
System.out.println("元旦快乐");
break;
case 2:
System.out.println("春节快乐");
break;
case 3:
System.out.println("元宵快乐");
break;
case 4:
System.out.println("儿童节快乐");
break;
case 5:
System.out.println("七夕快乐");
break;
default:
System.out.println("未找到此节目");
break;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
smallPoChan spc = new smallPoChan();
spc.PoChan();
}
}
3,快递员没有送货量,评级
0~50:开除
50~150:扣款
150~1000:正常薪资
1000~1500:奖励500
1500+:奖励1000
import java.util.Scanner;
/**
* 快递员没有送货量,评级
0~50:开除
50~150:扣款
150~1000:正常薪资
1000~1500:奖励500
1500+:奖励1000
* @author fritz1u
*
*/
public class kuaiDi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int num = in.nextInt();
if ( num>=0 && num<50 ) {
System.out.println("开除");
}else if (num <150) {
System.out.println("扣款");
}else if (num<1000) {
System.out.println("正常薪资");
}else if (num<1500) {
System.out.println("奖励500");
}else if (num>1500) {
System.out.println("奖励1000");
}
}
}
6,判断季节的案例
import java.util.Scanner;
public class lianxi04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("输入");
int num = in.nextInt();
if (num == 2|num == 3|num == 4) {
System.out.println("春");
}else if (num == 5|num == 6|num == 7|num == 8|num == 9) {
System.out.println("夏");
}else if (num == 10) {
System.out.println("秋");
}else if (num == 11|num == 12|num == 1) {
System.out.println("冬");
}else {
System.out.println("error");
}
}
}