ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java流程控制

2021-05-11 09:02:57  阅读:129  来源: 互联网

标签:语句 控制 Java 流程 System println 布尔 表达式 out


Scanner对象

我们可以通过Scanner类来获取用户的输入

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否有输入的数据。

!!!凡是属于IO流的类如果不关闭会一直占用资源,所以用完最好关闭掉。

next():

  1. 一定要读取到有效字符后次啊可以结束输入;

  2. 对输入有效字符之前遇到的空白,next()方法自动将其去掉;

  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符;

  4. next()不能得到带有空格的字符串;

public class Demo03 {
   public static void main(String[] args) {

       System.out.println("请输入:");
       Scanner scanner = new Scanner(System.in);
       if (scanner.hasNext()){
           String a=scanner.next();//输入的是hello world
           System.out.println("输出:"+a);//输出的是hello
      }

       scanner.close();
  }
}

 

nextLine():

  1. 以Enter(回车)作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;

  2. 可以获得空白

    public static void main(String[] args) {

       System.out.println("请输入:");
       Scanner scanner = new Scanner(System.in);
       if (scanner.hasNextLine()){
           String a=scanner.nextLine();//输入的是hello world
           System.out.println("输出:"+a);//输出的是hello world
      }

       scanner.close();
  }
}

 

nextInt():整数型获取、nextDouble:浮点数获取。。。。。。等等。

顺序结构

Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句的执行;

它是任何一个算法都离不开的一种基本算法结构;

public class ShunXuDemo {
   public static void main(String[] args) {
       System.out.println("hello world1");
       System.out.println("hello world2");
       System.out.println("hello world3");
       System.out.println("hello world4");
       System.out.println("hello world5");
       /*
       按着顺序输出hello world1~5;
        */
  }
}

 

选择结构

if单选择结构

//语法
if(布尔表达式){
//如果布尔表达式为真则将执行的语句
}

if双选择结构

//语法
if(布尔表达式){
//如果布尔表达式为真则将执行的语句
}eles{
//如果布尔表达式为假则将执行的语句
}

if多选择结构

//语法
if(布尔表达式 1){
//如果布尔表达式1为真则将执行的语句
}eles if(布尔表达式 2){
//如果布尔表达式2为真则将执行的语句
}eles if(布尔表达式 3){
//如果布尔表达式3为真则将执行的语句
}else{
//如果以上表达式都不为真执行代码
}

switch多选择结构

switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

//语法  case穿透 如果没有break则会以此执行后方代码  switch 匹配一个具体的值
switch(expression//){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default://可选
//语句
}

反编译 java---class(字节码文件)-----反编译(IDEA)

在IDEA中找到ProjectStructure--Project---out的输出路径---找到.class文件---放到.java文件夹中--在IDEA中打开

循环结构

while循环

while是最基本的循环

//结构
while(布尔表达式){
//循环内容
}

注意:

  • !!!我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。

  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等。

do while循环

//结构
do{
    //循环代码
}while(布尔表达式)

for循环

//结构
for(初始化;布尔表达式;更新){
	//代码结构
}
//IDEA快捷使用 100.for
for (int i = 0; i < 100; i++) {
            
        }
//死循环
for(;;){
    
}

j:九九乘法表

package com.liu.struct;

public class ForDemo03 {
    public static void main(String[] args) {
        //九九乘法表
        for (int i = 1; i < 10; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+"*"+i+"="+i*j+" ");
            }
            System.out.println();
        }
    }
}

打印数字三角形

package com.liu.struct;

import java.util.Scanner;

public class ForDemo05 {
    public static void main(String[] args) {
        //打印数字三角形
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要打印的数字三角形行数:");
        int num=scanner.nextInt();//输入的数据
        System.out.println("输出结果:");
        for (int i = 1; i <=num; i++) {
            for (int j=num;j>i;j--){
                System.out.print(" ");//打印出左面空
            }
            for (int j=1;j<=i;j++){
                System.out.print(j);//打印左半部三角形
            }
            for (int k=i-1;k>=1;k--){
                System.out.print(k);//打印出右半部三角形
            }
            System.out.println();
        }
    }
}
/*
输入的数据为5
    1
   121
  12321
 1234321
123454321
*/

 

增强for

增强for用来输出遍历数组和集合

for(声明语句:表达式){
	//代码句子
}java

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域定在循环语句块,其值与此时的数组元素的值相等。

表达式:表达式是要访问的数组名,或返回值为数组的方法。

break continue

break:在任何循环的主体部分,均可以使用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的代码。

continue:语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。

 

 

 

 

 

 

 

 

 

标签:语句,控制,Java,流程,System,println,布尔,表达式,out
来源: https://www.cnblogs.com/shiwangmmp/p/14753770.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有