栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

4.流程控制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

4.流程控制

1、输入/输出 输出

我们总是使用System.out.println()来向屏幕输出一些内容。
println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print()。

格式化输出

格式化输出使用System.out.printf(),通过使用占位符%?,printf()可以把后面的参数格式化成指定格式。

占位符说明
%d格式化输出整数
%x格式化输出十六进制整数
%f格式化输出浮点数
%e格式化输出科学计数法表示的浮点数
%s格式化字符串

注意:由于%表示占位符,因此,连续两个%%表示一个%字符本身。

输入
  • 首先,我们通过import语句导入java.util.Scanner,import是导入某个类的语句,必须放到Java源代码的开头,后面我们在Java的package中会详细讲解如何使用import。
  • 然后,创建Scanner对象并传入System.in。System.out代表标准输出流,而System.in代表标准输入流。直接使用System.in读取用户输入虽然是可以的,但需要更复杂的代码,而通过Scanner就可以简化后续的代码。
  • 有了Scanner对象后,要读取用户输入的字符串,使用scanner.nextLine(),要读取用户输入的整数,使用scanner.nextInt()。Scanner会自动转换数据类型,因此不必手动转换。
练习

2、if判断语句

if语句的基本语法是:

if (条件) {
    // 语句块-条件满足时执行
}

if语句还可以编写一个else { ... },当条件判断为false时,将执行else的语句块。
还可以用多个if ... else if ...串联。

if (条件1) {
    // 语句块 - 条件1满足时执行
} else if (条件2){
	//语句块 - 条件2满足时执行
} else {
	//语句块 - 条件不满足时执行
}
  • 根据if的计算结果(true还是false),JVM决定是否执行if语句块(即花括号{}包含的所有语句)。
  • 当if语句块只有一行语句时,可以省略花括号{}.
  • 在串联使用多个if时,要特别注意判断顺序。原因是if语句从上到下执行时,先判断条件1成功后,后续else不再执行,因此,条件2没有机会执行了。
判断浮点数相等
  • 浮点数在计算机中常常无法精确表示,并且计算可能出现误差,因此,判断浮点数相等用==判断不靠谱,正确的方法是利用差值小于某个临界值来判断。
判断引用类型相等
  • 判断值类型的变量是否相等,可以使用==运算符。
  • ==表示“引用是否相等”,或者说,是否指向同一个对象。
  • 要判断引用类型的变量内容是否相等,必须使用equals()方法。

    注意:执行语句s1.equals(s2)时,如果变量s1为null,会报’NullPointerException‘。
    要避免NullPointerException错误,可以利用短路运算符&&。
public class Main {
    public static void main(String[] args) {
        String s1 = null;
        if (s1 != null && s1.equals("hello")) {
            System.out.println("hello");
        }
    }
}
请用if ... else编写一个程序,用于计算体质指数BMI,并打印结果。
BMI = 体重(kg)除以身高(m)的平方
BMI结果:
过轻:低于18.5
正常:18.5-25
过重:25-28
肥胖:28-32
非常肥胖:高于32

3、switch多重选择

switch语句根据switch (表达式)计算的结果,跳转到匹配的case结果,然后继续执行后续语句,直到遇到break结束执行。

  • 如果值没有匹配到任何case,那么,switch语句不会执行任何语句。这时,可以给switch语句加一个default,当没有匹配到任何case时,执行default。
switch(结果) {
case result1 :
	语句1;
	break;
case result2 :
	语句2;
	break;
case result3 :
case result4:
	语句3;
	break;
default:
	语句4;
	break;
}
  • 使用switch时,注意case语句并没有花括号{},而且,case语句具有“穿透性”,漏写break将导致意想不到的结果。如果匹配到case 2开始,后续语句将全部执行,直到遇到break语句。因此,任何时候都不要忘记写break。
  • 如果有几个case语句执行的是同一组语句块,可以如case3、case4这么写。
  • switch语句还可以匹配字符串。字符串匹配时,是比较“内容相等”。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/463188.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号