Java基础学习手记(二)

一、数组

1. 声明数组

// 声明数组的两种方式
int array[];
int[] array2;// 建议该种写法

// 开辟空间
array = new int[3]; // 开辟3个空间(长度为3的数组)
// 注:开辟空间后,里面保存的是该类型的默认值

double[] array3 = new double[5];// 声明长度为5的double数组

// 声明并赋值的两种方式
int[] array4 = {1, 2, 3};
int[] array5 = new int[]{1, 2, 3, 4};

array2 = new int[5];
// 给第一个元素赋值
array2[0] = 5;

2. 注意事项

  • 数组的类型和长度不可修改

  • 数组中只能存放指定类型的数值

  • 数组的下标不能超过数组最大长度

3. 获取数组长度

int[] arr = {1, 2, 3};
int length = arr.length; // 数组长度,结果:3

4. 数组工具类Arrays

Arrays是java.util中的用来操作数组的工具类,通过此工具类我们可以方便的完成一些对于数组的操作,下面介绍几个可能会用到的方法

a. equals

判断两个数组不为null时,所有元素是否相等

int[] arr = {1, 2, 3};
int[] arr2 = {1, 2, 3};
boolean equals = Arrays.equals(arr, arr2); // 判断arr与arr2是否相等,结果:true
b. sort

对数组进行排序

int[] arr = {1, 3, 2};
Arrays.sort(arr); // 对arr进行排序,结果:[1, 2, 3]
c. toString

将数组拼接成字符串

int[] arr = {1, 2, 3};
System.out.println(Arrays.toString(arr)); // 将arr数组拼接成字符串,结果:[1, 2, 3]

**注:**如果直接输出数组,则会默认调用数组的toString方法,数组默认的toString方法如下,所以你可能会得到类似于[I@1be6f5c3的结果

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
d. copyOf

从原数组中复制指定长度的数据,超出部分补该数据类型的默认值

int[] arr = new int[]{1, 2, 3, 4};
int[] arr1 = Arrays.copyOf(arr, 3); // 从arr中复制3个元素,赋值给arr1
System.out.println(Arrays.toString(arr1)); // 结果:[1, 2, 3]
e. fill

将数组中所有元素赋值为指定值

int[] arr = new int[3];
Arrays.fill(arr, 5); // 将arr中所有元素赋值为5
System.out.println(Arrays.toString(arr)); // 结果:[5, 5, 5]

5. 数组复制

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int[] arr2 = new int[8];
/*
 从一个数组中复制到另一个数组指定位置、长度的数据
 arr是初始数组,
 0代表从下表为零出开始复制,
 arr2是目标数组,
 3代表复制到目标数组中的位置
 4代表将要复制的数据长度(不能超出初始数组大小)
*/
System.arraycopy(arr, 0, arr2, 3, 4);
System.out.println(Arrays.toString(arr2)); // 结果:[0, 0, 0, 1, 2, 3, 4, 0]

6. 二维数组

二维数组就是数组中的每个元素又是一个数组,也就是数组嵌套数组

// 二维数组中有3个子元素(数组),每个子元素的长度为4
int[][] arr = new int[3][4];
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        // 随机生成0-30的数字,放到数组中
        arr[i][j] = (int) (Math.random() * 30);
    }
    System.out.println(Arrays.toString(arr[i]));
}
System.out.println(Arrays.toString(arr));
/* 
结果:
[12, 10, 0, 1]
[18, 17, 8, 29]
[3, 17, 12, 25]
[[I@6b884d57, [I@38af3868, [I@77459877]
*/

二、集合

在Java中有多种集合,下面我们只对常用的两种集合(List和Map)进行讲解

1. List

List是一个有序集合,我们可以通过以下语句来创建一个List集合

List list = new ArrayList();

不过我们在创建List时往往需要指定List的泛型(即指定List中保存的数据只能是指定的类型),如下指定String泛型,那么该List中就只能保存String类型的数据

List<String> list = new ArrayList<>();

下面我们介绍比较常用的List方法

a. add

通过add我们可以向List中添加数据

// 直接添加数据是追加在List集合末尾
list.add("数据"); // 结果:[数据]
// 通过下标添加数据,将数据添加到指定位置
list.add(0, "插入数据"); // 结果:[插入数据, 数据]
b. size

获取List集合中元素的个数

list.size(); // 结果:2
c. contains

判断List集合中是否包含某个元素

list.contains("数据"); // 结果:true
d. get

通过下标获取List集合中的数据

list.get(1); // 结果:数据
e. clear

清空当前List集合

list.clear(); // 结果:[]
f. addAll

将另一个List集合全部元素添加到当前List集合

List<String> list2 = new ArrayList<>();
list2.add("数据1");
list2.add("数据2");
list2.add("数据3");
list.addAll(list2); // 结果:[数据1, 数据2, 数据3]
g. remove

移除List集合中的元素

// 通过数据移除
list.remove("数据1"); // 结果:[数据2, 数据3]
// 通过下标移除
list.remove(1); // 结果:[数据2]
h. removeAll

将另一个List集合全部相同元素从当前List集合中移除

list.removeAll(list2); // 结果:[]

2. Map

Map中的数据是通过键值对的形式保存的,我们可以通过以下方式创建Map

Map map = new HashMap();

不过往往也需要指定泛型,如下我们指定Map的键和值都必须是String类型

Map<String, String> map = new HashMap<>();

下面我们介绍比较常用的Map方法

a. put

通过put我们可以向Map中添加键值对

map.put("数据1", "数据1内容"); // 结果:{数据1=数据1内容}

**注意:**如果向Map添加键相同的内容,后者会覆盖前者内容

map.put("数据1", "数据1修改内容"); // 结果:{数据1=数据1修改内容}
b. size

用于获取Map中的键值对个数

map.size(); // 结果:1
c. get

获取Map中指定键所对应的值

map.get("数据1"); // 结果:数据1修改内容
d. clear

清空Map

map.clear(); // 结果:{}
e. putAll

将另一个Map中所有的键值对添加到当前Map

Map<String, String> map2 = new HashMap<>();
map2.put("数据1", "数据1内容");
map2.put("数据2", "数据2内容");
map.putAll(map2); // 结果:{数据1=数据1内容, 数据2=数据2内容}
f. remove

删除指定元素

map.remove("数据1"); // 结果:

一、条件判断

1. if

编程语言几乎通用的条件语句,但是在Java中,如果判断执行语句只有一条,则可以省略中括号(但是有时候为了代码的可读性往往不推荐这样的写法)

int a = 3;
// if语句判断
if (a > 4) {
    System.out.println("a小于等于4");
}
// if...else...语句判断
if (a < 5) {
    System.out.println("a小于5");
} else {
    System.out.println("a大于等于5");
}
// if...else if...else语句判断
int age = 23;
if (age >= 0 && age <= 8) {
    System.out.println("儿童");
} else if (age > 8 && age <= 12) {
    System.out.println("少年");
} else if (age > 12 && age <= 35) {
    System.out.println("青年");
} else if (age > 35 && age <= 60) {
    System.out.println("中年");
} else {
    System.out.println("老年");
}
// 省略中括号
int age = 23;
if (age >= 0 && age <= 8)
    System.out.println("儿童");
else if (age > 8 && age <= 12)
    System.out.println("少年");
else if (age > 12 && age <= 35)
    System.out.println("青年");
else if (age > 35 && age <= 60)
    System.out.println("中年");
else
    System.out.println("老年");

2. switch

在Java中,switch可以匹配byte,short,int,char,String,枚举类型,但是如果若switch中是char类型,case值是int,则匹配的就是ASCII

int a = 2;
switch (a) {
    case 1:
        // 当a == 1时从该行开始运行
        System.out.println(1);
        break; // 结束所在的代码块儿,即switch
    case 2:
        System.out.println(2);
        break;
    default:
        // 当其他项都不匹配时运行的代码,default可以省略
        System.out.println("您输入的值不合法!");
        break;
}

// 多行匹配
switch (a) {
        // 输入1或2都是输出去a班
    case 1:
    case 2:
        System.out.println("你输入的班级是" + a + ",要去a班");
        break;
        // 输入3或4都是输出去b班
    case 3:
    case 4:
        System.out.println("你输入的班级是" + a + ",要去b班");
        break;
        // 输入其他值去c班
    default:
        System.out.println("您属于其他班,去c班");
        break;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
《MATLAB GUI设计学习手记 第3版》是一本介绍MATLAB GUI设计的学习手册。本书主要分为几个部分,包括基础知识、常用控件、图形用户界面设计、数据处理及可视化等内容。 在基础知识部分,本书详细介绍了MATLAB GUI设计的背景知识和基本原理,包括MATLAB环境下GUI的概念、常用函数以及GUI设计的基本流程等。通过对基础知识的学习,读者可以对MATLAB GUI设计有一个整体的认识。 在常用控件部分,本书介绍了MATLAB中常用的控件的使用方法,如按钮、文本框、列表框等。对于每种控件,书中都给出了详细的示例代码和运行效果,读者可以通过实践学习掌握这些控件的使用技巧。 在图形用户界面设计部分,本书介绍了如何设计具有良好用户交互性的GUI界面,包括界面布局、颜色和字体设置、事件处理等。通过对这些方面的学习,读者可以设计出美观、易用的GUI界面。 在数据处理及可视化部分,本书介绍了如何使用MATLAB进行数据的读取、处理和可视化,包括数据操作、数据分析以及结果展示等。通过对这些内容的学习,读者可以将GUI和数据处理相结合,实现更加强大的功能。 总之,《MATLAB GUI设计学习手记 第3版》是一本对MATLAB GUI设计进行全面介绍的学习手册,适合对MATLAB GUI设计感兴趣的读者。读者可以通过学习本书,不仅学会了基本的GUI设计技巧,还可以将其应用于实际项目中,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会功夫的李白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值