天天看点

Java学习笔记3-程序控制输入&输出

输入&输出

输入

从控制台获取输入,需要导入

Java

中的

java.util.Scanner

类,通过读取对应类型来获取不同类型输入;

package note3;

/**
 * Created with IntelliJ IDEA.
 * Version : 1.0
 * Author : cunyu
 * Email : [email protected]
 * Website : https://cunyu1943.github.io
 * Date : 2019/12/18 17:30
 * Project : JavaLeaning
 * Package : note3
 * Class : InputAndOutput
 * Desc : Java笔记3
 */

import java.util.Scanner;

public class InputAndOutput {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        //        输入整行并获取字符串
        System.out.println("Input the name");
        String strName = input.nextLine();

        //        输入整行并获取整数
        System.out.println("Input the id");
        int intId = input.nextInt();

        System.out.println("Name is : " + strName);
        System.out.println("Id is : " + intId);
    }
}           

复制

输出

  • 普通输出

    通过

    System.out.print

    即可不换行输出,而

    System.out.println

    则是输出并换行;
  • 格式化输出

    通过占位符,将数组类型“格式化”为指定字符串,常用占位符如下表,注意

    %

    表示占位符,要输出

    %

    则需要使用两个连续

    %%

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

if判断

  • 基本语法
if (condition)
{
	// do something if condition is true...
	...
}           

复制

if(condition)
{
	// do something if condition is true...
	...
} else
{
	// do something if condition is false...
}           

复制

  • 引用类型和引用类型的变量内容相等判断

    public class Main() { public static void main(String[] args) { String s1 = "hello"; String s2 = "hello"; if(s1 == s2) { System.out.println("s1 == s2"); } // s1若为null,会报错 NullPointerException if(s1.equals(s2)) { System.out.println("sq equals s2"); } } }

    • ==

      :用于判断引用类型是否相等,用于判断两个对象是否指向同一对象;
    • equals()

      :用于判断引用类型的变量内容是否相等;

switch多重选择

switch (option) {
case 1:
    ...
    break;
case 2:
    ...
    break;
case 3:
    ...
    break;
default:
    break;
}           

复制

其中,

option

的数据类型可以必须是 整形、字符串或枚举型 类型,PS:千万不要忘了

break

default

;

while & do while循环

  • while

    :即让计算机根据条件做循环计算,在满足条件时继续循环,条件不满足时退出循环。在每次循环前,先判断条件是否成立,成立则执行循环体内语句,否则直接跳出循环;

    while(condition) { // 循环语句 } // 继续执行后续代码

  • do...while

    :先执行循环,再判断条件,条件满足则继续循环,不满足时退出循环,至少会循环一次;

    do{ // 执行循环语句 } while(condition);

for循环

  • 利用计数器实现循环,先初始化计数器,然后在每次循环前检测循环条件,经每次循环后更新计数器;

    for(初始条件;循环检测条件;循环后更新计数器) { // 循环执行语句 }

  • for

    循环可以缺少初始化语句、循环条件和每次循环更新语句;

    // 不设结束条件 for(int i = 0; ; i++){ ... }

    // 不设结束条件和更新语句 for(int i = 0; ;){ ... }

    // 三者均不设置 for( ; ; ){ ... }

  • for each

    循环:用于遍历所有“可迭代”的数据类型,其循环的变量非计数器,而是对应数组中的每个元素,但同时它无法指定遍历顺序,也无法获取数组索引;

    // for 和 for each循环数组 int[] array = {1,3,5,7,9}; // for for(int i = 0; i < array.length; i++){ System.out.println(array[i] + "\t"); } // for each for(int n: array){ System.out.println(n + "\t"); }

    **PS:**计数器变量定义在

    for

    循环内部,循环体内部不修改计数器;

break和continue

  • break

    循环过程中用于跳出当前循环,常搭配

    if

    使用,总是跳出其所在的那一层循环;

    public class Main{ public static void main(String[] args){ int sum = 0; for(int i = 0; ; i++){ sum += i; if(i == 100){ break; } } System.out.println(sum); } }

  • continue

    提前结束本次循环,直接进行下一次循环,常搭配

    if

    使用,满足条件时提取结束当次循环;

    public class Main{ public static void main(String[] args){ int sum = 0; for(int i = 0; i <= 100; i++){ sum += i; // 计算1 + 2 + 3 + ... + 100的和,但是其中要减去 10 if(i == 10){ continue; } } System.out.println(sum); } }

总结

本文章总结了流程控制中的输入输出、

if

switch

、单重和多重循环以及跳出及终止循环的相关知识;