Day04-Java的scanner类和循环选择结构

包机制

为了更好地管理和组织类,Java提供了包机制,用于区别类名的命名空间

命名格式

  1. 公司域名倒置,如com.bai++du.www
  2. 个人设置,如com.chen.xxx

引用

当需要使用某个包的成员时,可以通过i++mport导入该包

import com.baidu.www.*,可以通过通配符直接导入包的所有内容

Java Dos

生成一云计算最简单解释个便于阅读浏云计算的概念览的文档

如何在i++<4IDEA云计算中生成一个Javadoc文档

  1. 首先新建一javaee个文件夹,用于存放要生成的Javadoc文档。
  2. 接下来点击IntelliJ IDEA顶部的Tools菜单,选择Generate JavaDoc选项,如下图所示
  3. 然后在弹出的界面中我们点击Output directorjava培训y输入框后面的按钮,如下图java培训所示
  4. 在弹出的选择文件夹界面中选择刚才新建的文件夹
  5. 接下来在底部的Locale输入框配置语言和编码集,如下图所示,语言用zh_CN,代表中java多线程

-encoding utf-8 -charset utf-8

6.然后点击确定以后我们就等待IntelliJ IDEA给我们生成JavaDoc文档即可,等到输出栏出现如下图所示的提示代表生成完毕

7.接下i+++j怎么算来我们打开JavaDoc文件夹,找到index.html文件,点击就能看到API文档。

Java流程控制

用户交互Scanner

Java5的新特性,可以获得用云计算最简单解释户输入的i++是赋值语句吗

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.out); 
        //System.in于out对应,输入或者输出
        String s = sc.next();
        Scanner.close();
    }
}

s.next()

  1. next()无法输入带有空格的字符串
  2. next()会将空格去掉,作为结束符openstack组件有哪些或者分隔符
  3. 一定得读取到有效字java编译器符后才可以结java语言

s.nextLine()

  1. 以回车作为结束符
  2. 可以获得带有空格i++和++i在for循环里的区别的字符串

sc.java的特性hai++和++isNextInt()

  1. 不同的数据类型后缀可以判断是否还有该类型的未输入字符云计算最简单解释
  2. 可以用来进行一些简单判断
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.out); 
        int count = 0;
        double sum = 0;
        While(sc.hasNextDouble){		 //当输入的值不是数字时,循环结束
            double x = sc.nextDouble();  //获取输入的值
            sum=sum+x;					 //输入值的累加
            count++						 //计算输入的数值
        }
        System.out.println(sum);		 //输出总数
        System.out.println(sum/m);		 //输出平均数
    }
}

顺序结构

从上而下执行代码,是最简单的算法结构。它是由若干个依次执行的处理步骤组成的,它也是任何一个算法都离不开的一种算java环境变量配置法结构。

选择结构

if 结构

  1. if单选择结构
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        if(a=0){
            System.out.println("失败")
        }
        Scanner.close();
    }
}
  1. if多循环结构
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        if(a=0){
            System.out.println("失败");
        }else if(a=60){
            System.out.println("及格");
        }else{
            System.out.println("发生错误");
        }
        Scanner.close();
    }
}

switch多选择结构

通过不同分支,实现openstack核心组件不同情况的选择

没有break将会发生穿透现象,后面会直接输出

JDK7 允许switch比较字符串

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        char s = sc.nextLine()
        Switch(s){
            case 'A':
            	System.out.println("优秀");
            	break;
            case 'B':
            	System.out.println("良好");
            	break;
            case 'C':
            	System.out.println("应该努力");
            	break;
            case 'D':
            	System.out.println("学不死就往死里学");
            	break;
            default:
            	System.out.println("未知");
            	break;
        }
        Scanner.close();
    }
}

循环结构

while循环

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int sum = 0;
        while(a<100){
            sum=sum+a;
            a++;
            //sum=(1+a)*a/n;
        }
        System.out.println(sum);
        Scanner.close();
    }
}

特殊情况:死循环

图中的程序永远无法停止

  1. 等待客户端连接
  2. 定时检查
  3. 。。。
public class Main{
    public static void main(String[] args){
        while(ture){
        }
    }
}

利用死循环,来达到某些特殊用处,如钟表计时等

do-i++和++iwhile循环

while循环如果不满条件,无法进入循环,但do-whilopenstack包含两个主要模块e会至少执行一次

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int sum = 0;
  		do{
            sum=sum+a;
            a++;
        }while(a>100);
        System.out.println(sum);
        Scanner.close();
    }
}

For循环

累加

public class Main{
    public static void main(String[] args){
        int sum =0;
        for(int i = i;i<=100;i++){
            sum+=i;
        }
        System.out.println(sum)	//计算1-100的总和
    }
}

循环选择

public class Main{
    public static void main(String[] args){
        int sum =0;
        for(int i = 1;i<=1000;i++){
            if(i%5==0){
                System.out.println((i-2)+","+(i-1)+","+i
            }
        }
        System.out.println(sum)	//计算1-1000的中被5整除数的前三个数
    }
}

九九乘法表

public class Main{
    public static void main(String[] args){
        for (int i = 1; i <= 9; i++) {
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+(i*j)+" ");
            }
            System.out.println();
        }
    }
} 

增强for循环i++c语言

简化一些代码

public class Main{
    public static void main(String[] args){
        int [] a = {10,20,30,40,50};
        for(int x:a){
            System.out.println(x);
        }
        for(int x=0;x<a.length();x++){
            System.out.println(x);
        }
        //两者等价
    }
} 

break

终止循环

contijavaeenue

跳过部分循环

public class Main{
    public static void main(String[] args){
        int [] a = {10,20,30,40,50};
        for(int x:a){
            if(a[i]==10) break;
            System.out.println(x);//不会输出任何数,a[0]=10,终止循环
        }
        for(int x=0;x<a.length();x++){
            if(a[i]==10) continue;
            System.out.println(x);//输出不包含10的数组,跳过了一部分
        }
        //两者等价
    }
} 

练习

打印三角形

public class Triangle {
    public static void main(String[] args) {
        for (int i = 0; i <=5 ; i++) {
            for (int j = 5; j>=i; j--) {
                System.out.print(" ");
            }
            for (int j = 1; j <=i ; j++) {
                System.out.print("*");
            }
            for (int j = 1; j <=i ; j++) {
                //第一次循环i=1,j=1<i不成立,所以第一行不会打印✳号
                System.out.print("*");
            }
            System.out.println("*");
        }
    }
}