if,switch学习
我们知道第一个程序java的入门程序是Hello World所以我们写过:System.out.println("Hello World");
这个是java的输出语句,这个时候我们该怎么想呢,输出语句有了,输入语句是什么呢?计算机的输入肯定离不开键盘 我们可以通过 Scanner 类来获取用户的输入。
Scanner类的使用:
使用方法 1.导入scanner的包 2.实例化scanner类,3.调用相关方法。如下:
注:其中实例化 和 导包 是必不可少的,调用的方法是调用scanner类里面的方法,方法很多可以根据需求来调用,下面举个例子:
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int nextInt = scanner.nextInt(); System.out.println("我输入的是一个整数类型:"+nextInt); String next = scanner.next(); System.out.println("我输入的是一个字符串类型:"+next); double nextDouble = scanner.nextDouble(); System.out.println("我输入的是一个浮点类型:"+nextDouble); boolean nextBoo = scanner.nextBoolean(); System.out.println("我输入的是一个布尔类型:"+nextBoo); }
if条件分支语句:
计算机中的if语句,就和语文课本中的如果一样 :如果 条件成立 则怎么样 ;如果 条件不成立 则怎么样
格式:
public static void main(String[] args) { /* * 如果条件语句成立为true 则执行语句体1 如果不成立为flase,则执行语句体2 */ if (2>4/*条件语句*/) { //语句体1 } else { //语句体2 } }
由于分支语句比较简单且好使用,所以下面直接用两个题型来展示一下if分支与句的作用:
public static void main(String[] args) { /* if分支语句判断奇数偶素 */ Scanner sc = new Scanner(System.in); System.out.println("请输入你的数字"); int num = sc.nextInt(); if(num%2==0) { System.out.println(num+"是偶数"); }else { System.out.println(num+"是奇数"); } }
第一道题:判断奇偶数,使用scanner类来输入数,且使用if来进行运算判断是否能被2整除,如果 为true 则 输出 是偶素,为flase则输出 是奇数。
下面的第二道题
public static void main(String[] args) { /* * 判断成绩是否合格 如果 成绩为90~100 则成绩为A 为80~90则成绩为B; * 为70~80则成绩为C; 为60~70则成绩为D;小于60则成绩不合格; * 用if语句来判断该学生成绩等级 */ Scanner sc = new Scanner(System.in); int chengji = sc.nextInt(); if (chengji > 90 && chengji <= 100) { System.out.println("你的成绩为A"); }else if (chengji > 80 && chengji <= 90) { System.out.println("你的成绩为B"); }else if (chengji > 70 && chengji <= 80) { System.out.println("你的成绩为C"); }else if (chengji > 60 && chengji <= 70) { System.out.println("你的成绩为D"); }else if (chengji > 0 && chengji <= 60) { System.out.println("你的成绩不合格"); }else { System.out.println("输入数据错误,请重新输入"); } }
除去if这个分支语句外,java还有一个switch分支语句。
Switch分支语句:
代码结构:
public static void main(String[] args) { /* * switch语句是把小括号中的key值 与case中的值想比较。如果key值等于case的value值 * 则执行相对应的case内的代码。如果没有一个值是相同的就执行default中的代码 * break的作用是当执行到break时,就直接跳出switch语句, * case可以有n个,但是case 后的value值是独一无二的的不能重复出现 */ switch (key) { case value: break; case value: break; default: break; } }
同样作为分支语句也用两个案例来运行一下子:
/* * 需求:模拟电信公司客户通讯选择。 (1)给出用户可以选择的功能选项:0:人工服务;1、投诉服务;2、业务处理服务;3、其他服务。 * (2)用户根据提示输入不同选项,然后打印输出不同服务信息; (3)要求使用两种方式实现。 */ // 方法一 System.out.println("======================电信功能======================"); System.out.println("请选择以下功能 0:人工服务 ; 2业务处理服务;3其他服务"); @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); int i = scanner.nextInt(); if (i == 0) { System.out.println("你好,欢迎进入人工服务页面,我是你的人工助手小艾"); } else if (i == 2) { System.out.println("你好,欢迎进入业务处理服务"); } else if (i == 3) { System.out.println("你好,其他服务请按零"); } else { System.out.println("输入有误,请重新输入"); main(args); } // 方法二 System.out.println("======================电信功能======================"); System.out.println("请选择以下功能 0:人工服务 ; 2业务处理服务;3其他服务"); @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); int a = scanner.nextInt(); switch (a) { case 1: System.out.println("你好,欢迎进入人工服务页面,我是你的人工助手小艾"); break; case 2: System.out.println("你好,欢迎进入业务处理服务"); break; case 3: System.out.println("你好,其他服务请按零"); break; default: System.out.println("输入有误,请重新输入"); main(args); break; } }
public static void main(String[] args) { /* * 使用switch来判断当前月份为什么季节 * */ Scanner sc = new Scanner(System.in); System.out.println("请输入阿拉伯数值1~7"); int week = sc.nextInt(); switch (week) { case 1: case 12: case 2: System.out.println("你现在处在的月份是冬季"); break; case 3: case 4: case 5: System.out.println("你现在处在的月份是春季"); break; case 6: case 7: case 8: System.out.println("你现在处在的月份是秋季"); break; case 9: case 10: case 11: System.out.println("你现在处在的月份是冬季"); break; default: System.out.println("输入有误,请重新输入"); main(args); break; } }
下面的这个例子利用了switch的特性来缩减了代码量。
if和switch的区别:if后的小括号中只能的表达式,不是true就flase 而switch括号里的不能为布尔型,可以为一个值,或者一个变量,或者一个字符串等。if注重于判断的结果,而switch注重于key与value是否相等。 https://www.cnblogs.com/2979100039-qq-con/p/13060494.html
同样附上几个简答题如下:
编程题:
个人学习,内容简略