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();
 
         }
     }

                
            
        
浙公网安备 33010602011771号