01-Java语法基础(五)-知识

文章目录

  • 01-Java语法基础(五)-知识
  • 一、条件分支语句 - if语句
    • 1.1 格式一:
      • 1.1.1 案例:
    • 1.2 格式二
      • 1.2.1 案例
    • 1.3 格式三:
      • 1.3.1 案例:
    • 1.4 格式四嵌套
  • 二、分支结构-switch
    • 2.1 格式:
    • 2.2 案例:
  • 二、switch 和 if语句的对比
  • 三、本节内容有问题的可以扫描下方QQ二维码寻求帮助

一、条件分支语句 - if语句

1.1 格式一:

if(条件表达式){代码块;
}表示:如果条件表达式成立(结果为true)就会执行代码块,否则就不执行。

注意:
1.条件表达式-由关系运算符或者逻辑运算符组成的,结果为true或者false的表达式
2.当且仅当if语句里面只有一行代码时大括号可以省略,但不建议这样做。

1.1.1 案例:

题目:在招聘Java工程师时,要求两年工作经验以上且年龄超过 30 岁。

int age=35;
int workAge=10;
if(age>30&&workAge>2){System.out.println("可以进入面试");
}

在上面案例中,age为35岁满足年龄超过30岁条件并且工作经验workAge为10满足工作经验两年以上的条件,因此最后运行的结果是 “可以进入面试”。

题目:如果买彩票中了500万就去买豪车

Scanner key = new Scanner(System.in);
System.out.println("今天买彩票有没有中500万?有Q1,没有Q2");
int answer = key.nextInt();//answer=2
if(answer==1){ System.out.println("我的账户有500万"); System.out.println("终于有钱了,买豪车去~");
}
System.out.println("该吃吃该喝喝该睡睡");

1.2 格式二

if(条件表达式) {代码块1;} else {代码块2;}表示:如果条件标的式成立就执行代码块1,如果不成立执行代码块2

if(判断条件){ //如果符合条件执行的代码; 执行的代码块 System.out.println("条件为真时运行我"));
}else{//如果不符合条件执行的代码块System.out.println("条件为假时运行我"));
}
//这里的代码一定会被执行
System.out.println("if运行后一定会运行我"));

1.2.1 案例

题目:输入数字,判断这个数是奇数还是偶数

System.out.println("请输入要判断的数字:");
int number = key.nextInt();
if(number%2==0){ System.out.println(number+"是偶数");
}else{System.out.println(number+"是奇数");
}

1.3 格式三:

if(条件表达式){代码块1
}else if(条件表达式2){代码块2
}... //这里很多else if
else{代码块
}
表示:从上到下依次判断条件是否成立,如果成绩就执行对应代码块内容,
如果条件表达式都不成立就执行else中的代码;

注意:当一旦有条件表达式成立并执行代码后,整个if语句就会结束,无论后面条件表达式是否成立都不会再执行

1.3.1 案例:

题目:根据中奖的金额,判断买什么样的车

 System.out.println("请输入要判断的数字:"); int number = key.nextInt(); if(number%2==0){ System.out.println(number+"是偶数"); }else{System.out.println(number+"是奇数"); }System.out.println("今天买彩票中了多少money?"); int money = key.nextInt(); if(money>=500) { System.out.println("买兰博基尼"); }else if(money>=200 && money<500) { System.out.println("买卡宴"); }else if(money>=50 && money<200) { System.out.println("买奔驰"); }else if(money>0 && money<50) { System.out.println("买奥迪"); }else { System.out.println("再接再厉"); }System.out.println("该吃该喝该睡");

1.4 格式四嵌套

对条件需要做进一步的过滤的时候
案例需求:找到年龄大于20岁,并且工资大于10000的人

public class SalaryTest{ public static void main(String args[]){ int age = 75; if (age>20) { if(salary>10000){System.out.println("如意郎君!");}else{System.out.println("薪资不满足!");}}else{System.out.println("年龄不满足!");} }
}

题目:输入年月,判断这个月有多少天

判断润年公式: year%40&&year%100!=0||year%4000

public class IFTest { public static void main(String[] args) { //定义扫描器 Scanner key = new Scanner(System.in);//提示输入年份 System.out.println("请输入年份:"); //接收输入的年份 int year = key.nextInt(); //提示输入月份 System.out.println("请输入月份:"); int month = key.nextInt(); //定义变量,接收每个月的天数 int days = 0; //如果是1,3,5,7,8,10,12 都是31天    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){   //System.out.println(year+"年"+month+"月,一共有31天"); days = 31; }else if(month==4||month==6||month==9||month==11){ //System.out.println(year+"年"+month+"月,一共有30天"); days = 30; }else if(month==2){ //判断是否是润年 if(year%4==0&&year%100!=0||year%400==0){ //System.out.println(year+"年"+month+"月,一共有29天"); days = 29; }else{//System.out.println(year+"年"+month+"月,一共有28天"); days = 28;} }else{System.out.println("请正确输入月份"); }System.out.println(year+"年"+month+"月,一共有"+days+"天"); key.close(); }
}

二、分支结构-switch

2.1 格式:

 switch(表达式expr){case const1:statement1;break;case const2:statement2;break;… …case constN:statementN;break;default:statement_dafault;break;}
  1. 表达式expr的值必须是下述几种类型之一:
    ​ int, byte, char, short,enum;java7之后可以是String,不能用boolean,long,float,double等.
  2. case子句中的值const 必须是常量值(或final的变量),case中的值不能是一个范围
  3. 所有case子句中的值应是不同的,否则会编译出错;
  4. default子句是可选的(不必要)
  5. break语句用来在执行完一个case分支后使程序跳出switch语句块;否则会继续执行下去

注意:所有的 case 都不满足需求的时候 执行default中的内容 break 帮助跳出switch 语句的, 如果执行过程中 没有遇到 break 继续向下执行直到遇到break为止

public static void main(String[] args) {String season = "summer";switch (season) {case "spring":System.out.println("春暖花开");break;case "summer":System.out.println("夏日炎炎");break;case "autumn":System.out.println("秋高气爽");break;case "winter":System.out.println("冬雪皑皑");break;default:System.out.println("季节输入有误");break;}
}

2.2 案例:

题目:根据输入的年龄,输出判断目前所处的阶段

public class SwitchTest {public static void main(String[] args) {//控制台输入对象Scanner sc=new Scanner(System.in);System.out.println("请输入您的年龄:");int age=sc.nextInt();if(age>110 || age<10 ){System.out.println("为了您的健康,禁止前往测试:");}switch (age/10){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;case 6:System.out.println("花甲: 天干有十,地支十二,十天干和十二地支按照顺序搭配成六十个单位");break;case 7:System.out.println("古稀: 杜甫《曲江二首》:酒债寻常行处有,人生七十古来稀");break;case 10:System.out.println("期颐:《礼记·曲礼上》:百年曰期颐。");break;default:System.out.println("耄耋之年:年八十曰耊。字亦作耋。——东汉·许慎《说文》");}//衣服的大小码System.out.println("请输入您的衣服大小:大码,中码,小码---");String num=sc.next();switch (num){case "大码":System.out.println("你选择的是大码");break;case "中码":System.out.println("你选择的是中码");break;case "小码":System.out.println("你选择的是小码");break;default:System.out.println("您选择码数不存在!");}}
}

题目:输入某年某月某日,判断这一天是这一年的第几天?

public class SwitchTest1 { public static void main(String[] args) { Scanner key = new Scanner(System.in); System.out.println("请输入年份:"); int year = key.nextInt(); System.out.println("请输入月份:"); int month = key.nextInt(); System.out.println("请输入日期:"); int day = key.nextInt(); int sum = 0; switch (month - 1) { case 0: sum = 0;break; case 1://31 sum = 31;break; case 2://28sum = 59;break; case 3://31 sum = 90;break; case 4: sum = 120;break; case 5://31 sum = 151;break; case 6: sum = 181;break; case 7://31 sum = 212;break; case 8://31 sum = 243;break; case 9: sum = 273;break; case 10://31 sum = 304;break; case 11://30 sum = 334;break; }if ((month > 2) && isLeap(year)) { System.out.printf("这天是这年的第%d天", sum+day+1);//%f 小数 o八进制 x十六进制 }else { System.out.printf("这天是这年的第%d天", sum+day);} }//润年:29:四年一闰,百年不闰,四百年再闰 // 平年:28 private static boolean isLeap(int year) { if ((year % 100 != 0 && (year % 4 == 0) || year % 400 == 0)) { return true; }return false; }
}

二、switch 和 if语句的对比

  1. 如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几 种类型。虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
  2. 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。 也就是说,使用switch-case的,都可以改写为if-else。反之不成立。

三、本节内容有问题的可以扫描下方QQ二维码寻求帮助

01-Java语法基础(五)-知识相关推荐

  1. java入门基础重要知识必考考点

    java入门基础重要知识 一. Java概述 二. Java语言基础 1. 标识符的命名规则: 2. 关键字 3. 基本数据类型(基本.引用) 4. 基本数据类型转换 5. 定义变量的语法: 6. 运 ...

  2. 给Java初学者福利——Java语法基础

    Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注: 1.Java ...

  3. 【JAVA SE】第二章 Java语法基础、数据类型、基本类型的字面值、基本类型的类型转换和运算规则

    第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符命名风格 文章目录 第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符 ...

  4. Java实验01 Java编程基础(猜数字游戏、随机点名器)

    实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...

  5. JAVA教程-JAVA语言基础框架知识学习点-JAVA精通必看

    JAVA教程中文版在线代码示例 1. JAVA语言基础 1. 1. 导言( 17 ) 1. 9. 变量( 6 ) 1. 2. Java关键词( 1 ) 1. 10. 变量范围( 2 ) 1. 3. J ...

  6. Java语法基础-1

    1. 关键字 1.1 关键字概述 被Java语言赋予特定含义的单词 1.2 关键字特点 组成关键字的字母全部小写 1.3 关键字注意事项 goto和const作为保留字存在,目前并不使用 类似Note ...

  7. java语法基础 - 第五部分

    文章目录 类型信息Class Class方法: 泛型的Class引用:Class Class得到的反射 - 暴露一切 Array -- 可用于生成数组.查值.修改数组值.数组长度 注册工厂模式 -- ...

  8. Java语法基础-2

    1. 语句 1.1 流程控制语句 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我 ...

  9. JAVA语法基础作业——动手动脑以及课后实验性问题(一)

    一.枚举类型 public class EnumTest {  public static void main(String[] args) {    Size s=Size.SMALL;    Si ...

  10. java语法基础(总结)

    1,keyword:事实上就是某种语言赋予了特殊含义的单词. 保留字:事实上就是还没有赋予特殊含义,可是准备日后要使用过的单词. 2,标示符:事实上就是在程序中自己定义的名词.比方类名,变量名,函数名 ...

最新文章

  1. 宏使用 Tricks
  2. mysql城市联动表怎么建_MVC4.0搭建的省市县三联动,包含数据库
  3. uml 继承_UML 完全解析和总结
  4. java方法调用机制_Java方法调用机制 - osc_bkdv2it5的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. python自带ide和pycharm哪个好_排名前三的Python IDE你选择哪个?我选PyCharm
  6. html异形轮播,异形滚动
  7. c语言读取nc文件格式,nc文件资料地读取与处理.doc
  8. 【linux系统编程】理解冯•诺依曼体系结构
  9. sublimeText3安装、激活、环境配置与代码补全神器Kite安装配置
  10. Linux学习之源码2:start_kernel流程
  11. 网页版bpc电波对时_电波表对时软件下载-BPC(中国码)电波表对时模拟软件 20170308 官方版 - 河东下载站...
  12. 南华大学计算机学院足球队,南华大学大学生足球联赛电气首战
  13. 软件测试学习之悟空CRM项目测试用例编写
  14. 交换机怎么和计算机连接网络打印机,怎么通过地址栏的方式连接网络打印机的方法?...
  15. 浅谈网络营销基本理论
  16. cocos2d-html5教程之重要概念
  17. java正则任意字符_正则表达式匹配任意字符(包括换行符)的写法
  18. 空间日志html,30条空间日志个性签名
  19. Win10便签设置日历的一周第一天为周日的方法
  20. Z-Blog 添加收藏本站

热门文章

  1. Python|单链表基本操作
  2. 箭头函数的适应场景?
  3. django使用xadmin
  4. Android ActivityStack笔记
  5. 基于微信小程序实现警务活动管理系统设计演示【附项目源码+论文说明】分享
  6. MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数
  7. 关于GPT3的一些思考
  8. NDK开发环境配置(一)
  9. 职业能力测试之图形推理(一)
  10. My PC Internet--物理层