输入输出

输出

java输出语句是将代码中需要体现的内容展示在控制台,java对输出提供了三种打印方式: 输出并换行(println)、输出不换行(print)、格式化输出(printf)

格式化输出,可以对输出数据类型进行格式化,不同占位符对应不同的格式化类型:

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

代码示例

public static void main(String[] args) {  
    System.out.println("输出并换行");  
    System.out.print("输出不换行");  
    System.out.println();  
    System.out.printf("格式华输出%s", "printf");  
}

输入

代码示例

public static void main(String[] args) {  
    /*  
    * 输入  
    * */   
    Scanner scanner = new Scanner(System.in);  
    System.out.println("请输入:");  
    String line = scanner.nextLine();  
    System.out.println("输入:"+line);  
}

if条件判断

用于处理代码逻辑中,满足都写条件才执行部分代码的语法。

Java 语法执行顺序是自上而下顺序执行的,根据不同业务逻辑会存在 满足某个条件时,执行部分逻辑,否则执行其他逻辑 的需求。

基础语法

if(条件){
	//逻辑语句
else {
	//不满足条件执行语句
}

如果有多个条件执行不同逻辑,则需要使用 else if 区分:

if(条件1){
	//条件1逻辑语句
else if(条件2){
	//条件2逻辑语句
else {
	//不满足条件1和2的执行语句
}

注意:

  1. if 语句、 else if 语句、else 语句的结构体是互补关系,不会同时执行;
  2. 使用 if...else if...else 语法时,需要注意逻辑循序,条件范围小的放再前面,范围大的放在后面;
  3. 使用if 条件判断时,如果逻辑语句只有1条,可以不添加 {},如果有多条需要添加,建议都添加{}

switch多重选择

根据不同条件执行不同业务逻辑的业务,除了使用if条件判断还可以使用switch多重选择的方法,可以简化多个if…else if…的语法。

基础语法

switch(条件){
	case 结果1: 逻辑1;break;
	case 结果2: 逻辑2;break;
	case 结果3: 逻辑3;break;
	default:
		默认逻辑;bredk;

代码实例

菜单页面进行选择时,根据选择不同内容执行不同业务逻辑:

int l = 1;  
switch (l){  
    case 1:  
        System.out.println("1");  
        break;    
    case 2:  
        System.out.println("2");  
        break;    
    default:  
        System.out.println("default");  
        break;
}

注意:

  1. switch语句中,当条件等于case的结果值时,执行该 case 的代码块,如果遇到break则跳出语句;
  2. case 语句具有穿透性,当满足 case 条件后如果没有遇到 break 则继续执行下一个 case 的代码块,直到遇到 break 关键字或代码执行结束
  3. 当所有 case 都不满足时,有deafult分支时默认执行deafult的代码块,否则 switch 语句不继续执行。

多重循环

如果存在需要多次执行的代码块,可以使用 while 循环和 do...while 循环两种方式;

while循环

基础语法

while(条件){
	//代码逻辑

使用

当需要实现1+2+3+4+5+…+100=? 的逻辑时,可以使用while语句实现。

/*  
* while循环  
* */  
int wNum = 0;  
int sum = 0;  
while (wNum <= 100){  
    sum = wNum + sum;  
    wNum++;  
}  
System.out.println("sum:"+sum);

do…while循环

基础语法

do {
	//执行代码块
}while(条件)

使用

do...while语句的使用与 while 语句的区别为,首先执行一次代码块然后再判断条件。while语句若不满足条件可能一次也不执行,而 do...while 语句至少回执行一次。

/*  
* do while循环  
* */  
int dNum = 0;  
int dSum = 0;  
do {  
    dSum = dNum + dSum;  
    dNum++;  
}while (dNum <= 100);

for循环

for循环执行前,会先执行初始化语句int i=1,它定义了计数器变量i并赋初始值为1,然后,循环前先检查循环条件i<=100,循环后自动执行i++,因此,和while循环相比,for循环把更新计数器的代码统一放到了一起。在for循环的循环体内部,不需要去更新变量i

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

增强for循环

// for each
public class Main {
    public static void main(String[] args) {
        int[] ns = { 1, 4, 9, 16, 25 };
        for (int n : ns) {
            System.out.println(n);
        }
    }
}

注意:

  1. for循环中不能修改计数器i或对循环数组、集合进行修改,否则回导致for循环内程序计数器数值错乱;
  2. for 循环中可以使用 breake 跳出循环;
  3. continue语句跳出本次循环进入下一次循环,多层循环语句中 contine语句优先跳过本次循环所在的循环体即最进的for循环。