JAVA基础学习

Java基础学习



1.Java基础

1.1搭建Java程序开发环境


.在编写程序前,需要把相应的开发环境搭建好。开发环境搭建包括下载并安装java开发工具包(JavaSE Development Kit , JDK)、安装运行环境及配置环境变量。安装了JDK以后,才能对编写的Java源程序进行编译,而在安装了运行时环境后才能运行二进制的.class文件。
java工具包下载:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk下载环境配置参见:
https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

1.2 Java 开发工具eclipse

eclipse是功能强大Java集成开发工具,它可以极大地提升我们的开发效率,可以自动编译,检查错误。

1.2.1 eclipse的下载、安装、卸载

2. java基础编程案例

A. 编程实现1+2+3+…+100
“`

public static void main(String[] args){
    int sum=0;          //声明一个整型变量,并赋值0
    int i=1;        //定义循环变量并赋值为1
    for( ;i<=100;i++){         //循环语句,当i<=100时,循环继续
        sum+= i;      //即sum=sum+i,将i的值累加存入sum
        }

    System.out.println("1+2+3+4+5+......+99+100 = "+sum); //输出累加结果sum即为和(sum前的+号连接前后字符串)
    }
}

“`
运行结果:
这里写图片描述

B .编程实现1+3+5+7+9+…+101


public class Text2{
    public static void main(String[] args)
    {
        int sum=0;  //声明整型变量sum,赋值为0
        int i=0;   //声明循环变量,赋值为0
        for(;i<=101;i++){     //循环语句,当i<=101时,循环继续
        if(i%2!=0);   //如果i除以2的结果取余后不等于0,则执行下一条指令
        sum+=i;  //即sum=sum+i,将i的值累加存入sum
    }
    System.out.println("1+3+5+......+99+101 = "+sum);//输出累加结果sum即为和
    }
}

运行结果:
这里写图片描述

C. 编程实现输出10个随机整数,值在0到100之间。


public class Text3 
  {
    public static void main(String[] args){
        int i=0;
        int []array = new int[10];  //定义一个整形数组array[],数组长度为10
        for(;i<10;i++) {     //循环语句,当i<10时,循环继续
        int numb=(int)(Math.random()*100);     //随机输出100以内的一个整数存入numb
        array[i]=numb;    // 将numb中的整数放至数组中
            System.out.println(array[i]);     //输出随机数组
        }
    }
  }

运行结果:
这里写图片描述

D. 对C步的10个随机整数并行排序。
(思路:冒泡排序)


public class Text3 
  {
    public static void main(String[] args)
    {
        int i=0;
        int []array = new int[10];  //定义一个整形数组array[],数组长度为10
        for(;i<10;i++)  //循环语句,当i<10时,循环继续
        {    
            int numb=(int)(Math.random()*100);     //随机输出100以内的一个整数存入numb
            array[i]=numb;    // 将numb中的整数放至数组中
        }
          //对随机整数进行排序:外层循环j控制循环次数,每次外层循环把最大的一个数取出来放到最后边
        for(int j=0;j<10;j++) 
        {
            //内层循环k判断哪个数最大,把最大的数移动到数组末,一次循环冒泡出一个最值 
            for(int k=0;k<10-1-j;k++) 
            {
                if(array[k]>array[k+1]) 
                { 
            //通过一个中间变量exchange交换两个数组中的数,较大数存array[K+1],较小数存array[k]
                    int exchange=array[k]; 
                    array[k]=array[k+1];   
                    array[k+1]=exchange;   
                }   
            }
        }
        //经排序后,按从小到大的顺序输出数组中的十个数
        for(int n=0;n<10;n++)
        {
            System.out.println(array[n]);
        }
    }
  }



运行结果:
这里写图片描述

E.设有两字串构成的集合,字符串内容值为
A:{a,b,c,d,e,f,g,in,off,about,get}
B:{f,g,a,come,get,go}
求出:
(1)AB集合的交集。(2)只在A集中出现的字串集合。(3)AB集合的并集。
(此源程序参考百度案例)


import java.util.Arrays;
import java.util.List;
public class Text5 {
     public static void main(String[] args) {
            //创建字符串数组,并赋值
            String[] arr1 = {"a","b","c","d","e","f","g","in","off","about","get"};
            String[] arr2 = {"f","g","a","come","get","go"};

            //测试交集,调用交集方法
            String[] arr3 = intersect(arr1,arr2);
            System.out.print("AB集合的交集如下:");
            for(int i=0;i<arr3.length;i++) {//遍历输出结果字符串数组
                if(arr3[i] != null) {
                    System.out.print(arr3[i]+" ");
                }
            }
            System.out.println();

            //测试只有A中有,调用method方法
            String[] arr4 = method(arr1,arr2);
            System.out.print("只在A集中出现的字串集合如下:");
            for(int i=0;i<arr4.length;i++) {//遍历输出结果字符串数组
                if(arr4[i] != null) {
                    System.out.print(arr4[i]+" ");
                }
            }
            System.out.println();
            //测试并集,调用union方法
            String[] arr5 = union(arr1,arr2);
            System.out.print("AB集合的并集如下:");
            for(int i=0;i<arr5.length;i++) {//遍历输出结果字符串数组
                if(arr5[i] != null) {
                    System.out.print(arr5[i]+" ");
                }
            }
        }


        //(1)AB集合的交集。
        public static String[] intersect(String[] a1,String[] a2) {
            String[] a3 = new String[10];//创建字符串数组对象    
                                         //(存在缺陷,不够灵活,不知道该数组中元素个数)
            int k = 0;
            for(int i=0;i<a1.length;i++) {
                for(int j=0;j<a2.length;j++) {
                    if(a1[i].equals(a2[j])) {//判断两元素是否相同
                        a3[k] = a1[i];//相同则记录到新的数组中
                        k++;
                    }
                }
            }
            return a3;
        }

        //(2)只在A集中出现的字串集合。  
        public static String[] method(String[] a1,String[] a2) {
            String[] a3 = new String[10];//创建字符串数组对象
            int k = 0;
            for(int i=0;i<a1.length;i++) {
                List<String> list = Arrays.asList(a2);//将字符串数组a2转换成list
                if(!list.contains(a1[i])) {//调用list的contains方法,判断list中是否含有某元素
                    a3[k] = a1[i];//不含,则记录到新数组中
                    k++;
                }
            }
            return a3;
        }

        //(3)AB集合的并集。
        public static String[] union(String[] a1,String[] a2) {
            String[] a3 = new String[20];//创建字符串数组对象
            System.arraycopy(a1, 0, a3, 0, a1.length);
            int k = a1.length;
            List<String> list = Arrays.asList(a1);
            for(int i=0;i<a2.length;i++) {
                if(!list.contains(a2[i])) {
                    a3[k+1] = a2[i];
                    k++;
                }
            }
            return a3;
        }
    }

运行结果:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/yangdan1025/article/details/80016690