Java结构

顺序结构 (了解即可)

  • Java的基本结构就是顺序结构,就是指没有特别指明,就按照从上到下,从左到右的顺序一句一句执行。

  • 顺序结构是最简单的算法结构

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


 

选择结构

if单选择结构

我们使用if语句,来判断一条程序是否可执行

语法:

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

if双选择结构

当我们要判断两个条件时,比如说只有单独的True和False我们可以使用if双选择结构

语法:

 if(布尔表达式){
     //如果布尔值为True执行这条
 }else{
     //如果布尔值为False则执行这条
 }

if多选择结构

实际情况肯定不只是有两个条件,会存在更多,存在区间多级判断

语法:

 if (布尔表达式1){
     //如果布尔表达式1的值为True执行代码
 }else if(布尔表达式 2){
     //如果布尔表达式 2的值为True执行代码
 }else if(布尔表达式 3){
     //如果布尔表达式 2的值为True执行代码
 }else{
     //如果以上布尔表达式都为False则执行代码
 }

注意:

  • if语句最多有 1 个 else 语句,并且必须安排在 else if 语句之后

  • if 语句可以有无数个else if 语句,但必须在 else 语句之前

  • 一旦其中一个 else if 语句检测为 True ,那么之后的 else 与 else语句都会跳过

 


嵌套的if结构

语法:

 if(布尔表达式 1){
     //如果表达式1 的值为True执行代码
     if(布尔表达式 2){
         //如果布尔表达式2 的值为True执行代码
    }
 }

 


Switch多选择结构

多选择结构除了if还有一个实现方式是 switch case 语句

switch case 语句用来判断一个变量与某个值是否相等,可以拥有多个值也被称为分支

 String name = "root";
 
 switch(name){
     case "root":
         System.out.println("欢迎回来root!");
         break;
     case "践行践远":
         System.out.println("你好");
         break;
     default:
         System.out.println("闲杂人等,速速离去!")
 }

语句解释:

  • break:结束之后的语句

  • default:在值没被匹配时,默认执行default后面的语句

 

Switch 语句中的变量类型范围:

  • byte、short、int和char.

  • 从 Java SE 7 开始支持字符串 String 类型了

  • 同时 case 标签必须为字符串常量或字面量.


 

循环结构

 

While 循环

while是最基本的循环,以下是他的语法:

 while(布尔表达式){
     //循环内容
 }
 
 //输出1到100之间的和
 public class WhileDemo01 {
     public static void main(String[] args) {
         int i = 0;
         int sum = 0;
 
         while (i<100){
             i++;
             sum=i+sum;
        }
         System.out.println(sum);
    }
 }

注意:

  • 只要布尔表达式为True,循环会一直执行

  • 我们要防止出现 [死循环] ,防止程序崩溃和浪费资源

  • 只有在少部分情况下执行死循环,如服务器的请求和响应监听


 

do...while 循环

while需要满足条件才能循环,dowhile则是不满足条件也能执行一次,满足条件则则正常执行循环

语法:

 do {
     //循环语句
 }while(//布尔表达式);

 

区别:

  • while先判断后循环,而dowhile是先执行后判断

  • Do...While会保证循环中的内容先执行一次


 

for 循环

for循环,可以使一些循环结构变得更加简单

for循环语句支持迭代的一种通用结构,是最有效、最灵活的循环结构

语法:

 for(初始化; 布尔表达式; 更新){
     //循环语句
 }

实验例子:

 //计算0到100之间的奇数和偶数的和
         int oddSum = 0;
         int evenSum = 0;
 
         for (int i=0; i<=100; i++){
             if (i%2!=0){
                 oddSum=i+oddSum;
            }else {
                 evenSum=i+evenSum;
            }
        }
         System.out.println("奇数和:"+oddSum);  //2500
         System.out.println("偶数和:"+evenSum);  //2550
         System.out.println("奇数和加偶数和:"+(oddSum+evenSum));
 
 
 //循环输出1-1000之间能被5整除的数字,并且每行输出三个
         for (int i = 1; i <= 1000; i++) {
             if(i%5==0){
                 System.out.print(i+"\t");
            }
             if (i%(5*3)==0){
                 System.out.println();
            }
        }
 
 
 //打印九九乘法表
         for (int a=1; a<=9; a++){
             for (int b=1; b<=a; b++){
                 System.out.print(a+"*"+b+"="+(a*b)+"\t");
            }
             System.out.println();
        }
 //print()是不换行输出
 //println()是换行输出

说明:

  • 最先执行初始化值,并声明一种类型。

  • 然后,检测布尔表达式的值,如果为True,循环体被执行。

  • 如果为False则循环终止,进入循环后,更新循环控制变量

for循环的死循环

 for(; ; ){
     //循环语句
 }

注意:在for循环中的三个值都可以为空


 

增强For循环

增强For循环通常用在数组之中,用来遍历

是Java5 要引入用于数组或集合的增强型 for 循环

语法:

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

声明语句:是一个声明类型的局部变量,用来打印遍历时多次赋值进行输出

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


 

break 与 continue

解释:

  • break:在任何循环语句的主体部分,都可以使用break强行退出循环>,不执行后面的语句

  • break可以在switch中使用防止穿透

  • continue:在循环语句中,可以终止某次循环过程,跳过后面未执行语句,进行下一次循环

 

实验例子:

 //每次输出10的倍数时跳过
         int i =0;
         while (i<100){
             i++;
             if (i%10==0) {
                 System.out.println();
                 continue;
            }
             System.out.print(i+"\t");
        }
 
 //输出到10的倍数时终止循环
         int i = 0;
         while (i<100){
             i++;
             if (i%10==0){
                 break;
            }
             System.out.println(i);
        }
    }

 

循环语句练习:

第一题:打印1到100的和

     public static void main(String[] args) {
         int i = 0;
         int sum = 0;
         while (i<100){
             i++;
             sum=sum+i;
        }
         System.out.println(sum);
    }

 

第二题:打印正五层三角形

     public static void main(String[] args) {
         for (int i = 1; i <=5; i++) {
             for (int a = 5; a>=i; a--) {
                 System.out.print(' ');
            }
             for (int b = 1; b <=i; b++) {
                 System.out.print('*');
            }
             for (int c = 1; c < i; c++) {
                 System.out.print('*');
            }
             System.out.println();
        }
    }

 

第三题:打印倒五层三角形

     public static void main(String[] args) {
         for (int i = 1; i <= 5; i++) {
             for (int a = 1; a <= i; a++) {
                 System.out.print(' ');
            }
             for (int b = 5; b >= i; b--) {
                 System.out.print('*');
            }
             for (int c = 5; c > i; c--) {
                 System.out.print('*');
            }
             System.out.println();
 
        }
    }

 

posted @ 2022-02-15 15:07  践行践远  阅读(375)  评论(0)    收藏  举报