# Java 基础

Java是一门面向对象编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

# 变量-数据类型

类型 说明
int 整数型
double 双精度浮点型(双精度小数型)
char 单字符型
String 字符串
boolean 布尔类型(逻辑型)true=真,false=假

# 变量-数据类型转换

  • 自动数据类型转换

    double = int;
    
    1

    同类型可从小自动转换到大,因为double类型的空间比int类型的空间大。所以可以自动转换

  • 强制数据类型转换

    int a = (int)34.93;
    
    1

    输出结果为34 如果不能自动转换的情况,只能用强制转换,强制转换损失精度,如34.93,转换为int后是34。

# 选择结构

  • if

    逻辑判断结构

    int pd = 1;
    if(pd == 1){
        pd为1时执行
    }else if(pd == 2){
        pd为2时执行
    }else{
        pd不是1,不是2,是其他的情况下执行。
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
  • switch

    他是一个多次判断结构。

    比如用户输入一个数字,用switch判断用户输入的数字并执行对应的代码。

    Scanner input = new Scanner(System.in);
    int a = input.nextInt();
    switch(a){
        case 1:
            用户输入的数字1,则进入这里。
            break;
        case 2:
        用户输入的数字2,则进入这里。
            break;
        default:
            用户输入的不是1,也不是2,默认走这里。
            break;
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    如果不加break;如果用户输入1,则后面case不进行判断,都走一遍里面的代码。

# 循环结构

  • While

    符合条件进入循环,每次循环检查条件,如果条件为真则继续循环,否则不循环。

    int a = 0;
    while(a < 100){
        a++;
    }
    //首先定义a整数型变量为0,0小于100,条件成立,进入循环,a+1
    //第二次判断依旧,直到a的值到达100了,while判断100 < 100 条件不成立,则不进行循环了。
    
    1
    2
    3
    4
    5
    6
  • do-while

    //while循环结构中的一种拓展方法
    do{
        //第一次进入时,不需要满足while条件,也会运行这里的代码
        //如果循环条件满足了,则执行循环体后,再执行do里面的代码,然后重新判断whi//le条件是否满足。!
    }while(/*循环条件*/){
        //循环体;
    }
    
    1
    2
    3
    4
    5
    6
    7
  • for

    //记录循环次数,并且有条件控制。简称计次循环。
    for(int i = 0; i < 100; i++){
        System.out.println("好好学习");
    }
    
    1
    2
    3
    4

# 运行流程:

首先申明一个i的整数型变量的值等于0,然后去判断i 是否 小于100,条件成立执行输出好好学习。 然后进行i++,继续循环,直到i < 100这个条件不成立时,退出循环。

# break和continue在循环中的作用

  • break是直接跳出循环
  • continue是跳出本次循环,不执行continue后面的代码,执行下一次循环

# 数组

申明一个数组 申明数组有很多写法。

int[] scores = new int[1];
int scores[] = new int[1];
int scores[];
scores[] = new int[1];
1
2
3
4

上面的执行效果都是一样的。 只是书写方式不一样。一般情况下用前面的比较多。

int scores[] = {12};
1

这种是申明数组和赋值同时进行,即申明一个数组长度为2,然后把第一个位置的值是1,第二个位置的值是2。

# 二维数组

一般情况下数组分为一维数组和二维数组。

String text[][] = new String[3][2];
1

# Arrays类的常用方法

调用下面方法需要导入Arrays包

import java.util.Arrays;
1
返回类型 方法 说明
boolean equals(数组1,数组2) 比较两个数组是否相等
void sort(数组) 对数组的元素进行升序排列
String toString(数组) 将一个数组转换成一个字符串
void fill(数组,sum) 数组中的所有元素赋值为sum
与复制的数组数据类型一致 copyOf(数组,长度) 把数组复制成一个自定义长度的新数组
int binarySearch(数组,sum) 查询元素值为sum在数组中的下标

# 数组自写增删功能

  • 增加长度并添加内容
  • 删除某一条元素
public String[] addArray(String[] arrayJoin,String text){
    String[] temp = Array.copyOf(arrayJoin,arrayJoin.length+1);
    temp[temp.length-1] = text;
    return temp;
}

public String[] delArray(String[] arrayJoin,int num){
    arrayJoin[num] = null;
    for (int i=0;i < arrayJoin.length; i++){
        if (i > num){
            arrayJoin[i-1] = arrayJoin[i];
        }
    }
    return Arrays.copyOf(arrayJoin, arrayJoin.length-1);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
最近更新: 2019/10/17 上午4:20:42