栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java编程基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java编程基础

java编程基础2

8、程序流程结构 8.1顺序结构

从上到下循序执行

8.2if选择结构 8.2.1结构语法

if(条件boolean){} / if(条件boolean){} else{}

###类型

  1. if(条件1){} ……if(条件n){}

  2. if(条件1){} else if(条件2){} …… else if(条件n){}else{}

  3. if(条件1){

      	if(条件2){
           	
      					……
           	
      						……
           	
      						if(条件n){
           	
      						}else{
           	
      						}
           	
      	}else{
           	
      	}
    

}else{

  	if(条件3){
     	
  					……
     	
  						……
     	
  	}else{
     	
  				if(条件n){
     	
  				}else{
     	
  				}
     	
  	}
     	
  }
8.2.2 执行规则
  1. if语句顺序执行
  2. 当有if成立则不往下执行else
  
import java.util.Random;  // 引用随机数
import java.util.Scanner; //输入导包
public class Tes5{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in); //定义输入器
        Random random = new Random(); //定义数据
        
        
        		
		int m0 = (int)(Math.random()*10);
		System.out.print("BOOS:21点游戏n");

		int m = (int)(Math.random()*10);
		System.out.print("BOOS:我的第一个数是:");
		System.out.print("*");
		System.out.print("n");

		int ma = (int)(Math.random()*10);
        		System.out.print("BOOS:你的第一个数是:");
		System.out.print(ma);
		System.out.print("n");
	
		int m2 = (int)(Math.random()*10);
		System.out.print("BOOS:我的第二个数是:");
		System.out.print("*");
		System.out.print("n");

		int mb = (int)(Math.random()*10);
        		System.out.print("BOOS:你的第二个数是:");
		System.out.print(mb);
		System.out.print("n");
		
		System.out.print("BOOS:公用数是:"+m0 +"n" );
        
       	
		System.out.print("BOOS:你的二个数是:"+ma + mb+"n" );	
		System.out.print("BOOS:你还需要数字吗?需要请输1n");
		int num =sc.nextInt();
		if( num == 1 ){ 
			int mc = (int)(Math.random()*10);
        			System.out.print("BOOS:你的第三个数是:");
			System.out.print(mc);
			System.out.print("n");
		
			int m3 = (int)(Math.random()*10);
			System.out.print("BOOS:我的第三个数是:");
			System.out.print(m3);
			System.out.print("n");
		
			int u = ma + mb +mc+m0;
			int v = m + m2 +m3+m0;
	
			if( 22 > u  ){	 //简单if()else{}结构
				if ( u>v ){	 //多重if结构使用
					System.out.print("你赢了n");
				}else
                if ( u
					System.out.print("Game Over!!!n");
                    System.out.print("我的三个数是n" + m+m3 + m2+"n");
				}	
			}else{
				System.out.print("你飘了!!!n");
				System.out.print("我的三个数是n" + m+m3 + m2+"n");
			}
		
		}else{
			int u1 = ma + mb+m0;  //  定义数据类型并运算赋值
			int v1 = m + m2+m0;

			if( 22 > u1  ){   //嵌套if结构使用
				if ( u1>v1 ){
					System.out.print("你赢了n");
				}else{
					System.out.print("Game Over!!!n");
				}	
			}else{
				System.out.print("你飘了!!!n");
				System.out.print("我的三个数是n" +m + m2+"n");
			}

    	}
		
		
	}
}
``
8.3 switch选择结构 8.3.1结构语法

switch(表达式)}{

case常量值1:

​ break;

​ ……

​ ……

case常量值n:

​ break;

default:

​ break;

}

8.3.2特点

1、switch语句称为情况选择语句,又称为开关语句。

2、switch是分支语句的一种,用于对多种情况进行不同处理的语句。

3、JDK1.7 之前的switch语句限定对整形数据进行判断。

8.3.3switch语句的“贯穿”现象

当上一个case没break结尾时上边语句会贯穿到下面语句

例如:

System.out.print(“输入今年的一个月份”);

int m=input.nextInt();

switch(m){

​ case 1:

​ case 3:

​ case 4:

​ case 5:

​ case 5:

​ case 7:

​ case 10:

​ case 12: System.out.print(“这个月有5个周日”);

​ break;

​ case 2:

​ case 8:

​ case 9:

​ case 11: System.out.print(“这个月有4个周日”);

​ break;

}

当输入值是1、3、4、5、6、7、10、12的时候都输出“这个月有5个周日”

package Class20220606;
import java.util.Scanner;
public class Work4 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入月份:");
		int month = sc.nextInt();	
		
		switch(month){
		case 1:
		case 3:
		case 5:
		case 7:	
		case 10:
		case 8:	
		case 12:System.out.print("这个月31天");
			break;
		case 2:System.out.print("这个月共28天");
			break;
		case 4:
		case 11:
		case 6:
		case 9:System.out.print("这个月共30天");
			break;
		default:System.out.print("你是认真的吗!!!"); 
			break;
		}		
	}
}
8.4while循环结构 8.4.1结构语法

while(循环条件){

}

8.4.2特点

**执行流程:**先判断循环条件,条件如果成立,就执行循环操作;循环操作执行完成,继续判断条件;
条件如果成立,就执行循环操作;。。。直到条件不成立,循环结束。
特点:先判断,再执行
如果条件不成立,循环操作可能一次都不执行

8.5do{}while循环结构 8.5.1结构语法

Do{

}while(循环条件);

8.5.2特点

执行:先执行一遍循环操作,然后判断条件,条件成立,就继续执行操作;
循环操作执行结束,继续判断条件;。。。。。直到循环条件不成立,循环结束。
特点:先执行,后判断
循环操作至少会执行一次

public class Work3 {
	public static void main(String[] args) {
		// 定义常量
		final int NUM0 = 91; 
		final int NUM1 = 27;
		
		int n = NUM1-1;//定义循环变量,递减
		while(NUM1%n != 0 || 0 != NUM0%n ) {
			n--;
			}
		
		System.out.print(NUM0 +"和"+ NUM1+"的最大公约数是"+(n)+"n");
		// 定义变量
		int num0 = 99;
		int num1 = 81;
		int m1=0;
		//定义循环变量,递曾(不是最优,可能多出必要的循环次数)
		
			for(int m=1; m<=num1;m++)  {
				if(num1%m == 0 && num0%m == 0) {
					m1=m ;
				}
					
			}
		
		
		System.out.print(num0+"和"+num1+"的最大公约数是"+m1);
	}
}
8.6for循环 8.6.1结构语法

for(定义循环变量; 循环条件; 循环变量的更新){

循环操作

}

8.6.1特点

特点:循环次数固定

public class Work3 {
	public static void main(String[] args) {
		// 定义常量
		final int NUM0 = 91; 
		final int NUM1 = 27;
		
		int n = NUM1-1;//定义循环变量,递减
		while(NUM1%n != 0 || 0 != NUM0%n ) {
			n--;
			}
		
		System.out.print(NUM0 +"和"+ NUM1+"的最大公约数是"+(n)+"n");
		// 定义变量
		int num0 = 99;
		int num1 = 81;
		int m1=0;
		//定义循环变量,递曾(不是最优,可能多出必要的循环次数)
		
			for(int m=1; m<=num1;m++)  {
				if(num1%m == 0 && num0%m == 0) {
					m1=m ;
				}
					
			}
		
		
		System.out.print(num0+"和"+num1+"的最大公约数是"+m1);
	}
}
8.7双重循环

循环中可以嵌套循环,嵌套两层就叫双重循环。 双重循环的特点:外层循环执行一轮,内层循环执行一遍。总共执行次数n*m。

public class Star{
       public static void main(String[] args){
           for(int i=1;i<=5;i++){ //外层循环控制行,循环5次
               for(int j=1;j<=i ;j++){ //内层循环控制行
                   System.out.print("*");
               }
               System.out.println();
           }
       }
}

运行结果

*

* *

* * *

* * * *

* * * * *

8.8continue和break

continue;

可以打断不执行本轮循环,但不影响后面的程序运行

break;

跳出程序

9、数组 java数组特点

1、Java语言中的数组是一种 引用数据类型

2、数组实际上是一个存在堆的一个容器,可以同时容纳多个元素。

3、元素可以为空,数组长度不能变

3、各个元素数据类型必须类型统一

声明数组和定义长度

声明:

数据类型[] 数组名;

数据类型 数组名[];

定义长度:

数组名 = new 数据类型[长度];

数组赋值

数组名[下标] = 值;

数组名 = new 数据类型[]{值1,值2, …… ,值n};

遍历

所谓**遍历(Traversal)**是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。

遍历数组:for(int n:nums){

​ System.out.print(num+" ");

​ }

数组排序 冒泡排序

排序规则: 1、相邻两数比较,小数在前,大数在后,如果不符合就交换

​ 2、直到不需要再交换为止

public class Maopao{
    public static void main(String[] args){
        int[] nums=new int[6];               //对该数组进行排序
      	//遍历数组下标为0到最大长度减一的数
        for(int i=0;i
        		//遍历的数每次循环减少一个
            for(int j=0;j			
                if(arr[j]				//比较大小 大的在后面
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
      
     		 //遍历的数组中的数字
        for(int i=0;i
            System.out.print(nums[i]+" ");				//打印
        }
    }
}
Arrays.sort

**用法:**Arrays.sort(需排序的数组名)

int[] nums= {71,2,44,23}; Arrays.sort(nums);//升序
for (int i = 0; i < nums.length; i++) {
    System.out.println(nums[i]);
}
选择排序
 public class XuanZe{
    public static void main(String[] args){
        int[] nums={2,3,5,6,1,4};         //对该数组进行排序
      	//遍历数组下标[0,nums.length]     
        for(int i=0;i              
          	//遍历数组下标[i+1,nums.length]
            for(int j=i+1;j	        
                if(arr[i]>nums[j]){	//比较大小,
                  	//如果前者比后者大则交换两个角标对应的值					
                    int temp=nums[i];
                    nums[i]=nums[j];
                    nums[j]=temp;
                }
            }
        }
        for(int i=0;i
            System.out.print(nums[i]+" ");     //打印排序后的值
        }
    }
}

插入排序
public static void main(String[] args){		
        int[] arr=new int[8];
  			arr[1]=2;
        arr[2]=4;
        arr[3]=8;
        arr[4]=36;
        arr[5]=72;
        arr[6]=108;
  			int		len=arr.length;
        int   n=81;
          
        //1、确定插入点的位置index
        for(int i=0;i			
    				if(arr[i]>len-1){
              break;
            }
        // [len-2,index]依次往后移 
       for (int i = len-2; i >=index; i--) {
   				 arr[i+1]=arr[i];
			 }
          
       //3、nums[index]=n   
       arr[index]=n;
       for(int m:arr){
         	System.out.print(num+" ");
       }   
  }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号