本系列文章将从JAVA基础知识讲解,到框架讲解,最后到项目实战!
第一步:自学最基础的JAVA知识
在根据本系列文章学习之前,需要自学一些最基础的东西,如:学会配置开发环境,学会安装开发软件,JAVA中的关键字,运算符,基本循环等,在他人博客里这类基础知识都详细讲解。具体细节基础知识学习推荐如下图:
需自学的基础
第二步:正式依据本系列文章学习JAVA,从数组开始。
(1)什么是数组
所谓数组,是有序的元素序列,是用于储存多个相同类型数据的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。
(1)数组的定义,赋值。
方式一:静态赋值
int arr1[]={1,2,3,4,5};
for(int i=0;i<5;i++){
System.out.println(arr1[i]);
}
方式二:动态赋值
//数组的动态赋值 方法2
int[] arr2=new int[5];
arr2[0]=1;
arr2[1]=3;
arr2[2]=5;
arr2[3]=90;
arr2[4]=11;
for(int i=0;i<5;i++){
System.out.println(arr2[i]);
}
(2)数组的增强for循环
//数组的增强for循环 主要为了遍历数组和集合,并不能对数组或者集和中的元素进行操作
//增强for循环
int[] arr3={11,22,33,44,55};
for(int num:arr3){
System.out.print(num+" ");
num=10;
}
//普通for循环
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i]);
}
(3)数组的排序(经典的冒泡排序为例)
public class ArraySort {
/**
* name张先生
* 数组排序
* 2018\7\24
* @param args
*/
public static void main(String[] args) {
//数组赋值
int arr[]=new int[5];
@SuppressWarnings("resource")
Scanner enter= new Scanner(System.in);
System.out.println("请输入5个数组变量:");
for (int i = 0; i < arr.length; i++) {
int num = enter.nextInt();
arr[i]=num;
}
//无序数组输出
System.out.println("输出无序数组");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] );
}
System.out.print("\n" );
//冒泡排序算法
int temp1;
for(int i=0;i<4;i++){
temp1=arr[0];
for(int j=0;j<4-i;j++){
if(arr[j+1]<arr[j]){
temp1=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp1;
}
}
}
//冒泡排序输出
System.out.println("冒泡排序结果:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] );
}
}
}
(4)数组的顺序查找和二分查找
public class StaArray {
public static void main(String[] args) {
int[] array={1,2,3,4,5,6,7,8};
search1(array,7);
search2(array,2);
}
//顺序查找
public static void search1(int[] a,int b){
for (int i = 0; i < a.length; i++) {
if(b==a[i]){
System.out.println("顺序查找该数字的位置:"+(i+1));
}
}
}
//二分查找
public static void search2(int[] a,int b){
int mid,low,high;
low=0;
high=a.length-1;
mid = (int)(low+high)/2;
while(true){
if(b==a[mid]){
System.out.println("二分法该位置在:"+mid+1);
break;
}else
if(b<a[mid]){
high=mid-1;
}else
if(b>a[mid]){
low=mid+1;
}
}
}
}
(5)可变参数的使用
public class Varargs {
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(3,7,9));
}
public static int add(int ... a){
int sum= 0 ;
for (int i = 0; i < a.length; i++) {
sum+=a[i];
}
return sum;
}
}