Java基础学习手记(二)
2021/11/22 17:10:07
本文主要是介绍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]
二、集合
在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; }
这篇关于Java基础学习手记(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南