练习三
按制定格式遍历集合字符串:
集合也可以作为方法的参数,
当一个集合作为方法的参数的时候,传递进来的我所接收到的这个参数就是一个地址值,根据地址值我就 .size 拿长度,.get拿元素
题目要求:
定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。
格式参照{元素@元素@元素}。
System.out.println(list); [10, 20, 30]
printArrayList(list); {10@20@30}
*/
import java.util.ArrayList;
public class Demo03ArrayListPrint {
public static void main(String[]args){
ArrayList<String> list = new ArrayList<String>();
list.add("张三丰");
list.add("宋远桥");
list.add("张无忌");
list.add("张翠山");
System.out.println(list);//[张三丰, 宋远桥, 张无忌, 张翠山]
printArrayList(list);
}
/*
定义方法的三要素:
返回值类型: 只是进行打印而已,没有运算,没有结果,所以用void
方法名称: printArrayList
参数列表:ArrayList
*/
public static void printArrayList(ArrayList<String> list){
//{10@20@30}
System.out.print("{");
for(int i = 0; i < list.size(); i++){
String name = list.get(i);
if(i == list.size() - 1){
System.out.println(name + "}");
}else{
System.out.print(name + "@");//
}
}
}
}
第四题
题目 ;
用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。
要求使用自定义的方法来实现筛选。
分析:
1,需要创建一个大集合,用来存储int数字,
2,随机数字就用Random nextInt
3,循环20次,把随机数字放入大集合,for循环,add方法
4,定义一个方法,用来进行筛选。
筛选:根据大集合,筛选符合要求的元素,得到小集合。
三要素:
返回值类型:ArrayList小集合(里面元素个数不确定,因为偶数我才要)
方法名称:getSmallist
参数列表:ArrayList大集合(装着20个随机数字)
5,判断(if)偶数:num % 2 == 0;
6,如果是偶数就放到小集合当中,否则不放。
import java.util.ArrayList;
import java.util.Random;
public class Demo04ArrayListReturn {
public static void main(String[]args){
ArrayList<Integer> bigList = new ArrayList<Integer>();
Random r = new Random();
for(int i = 0; i < 20; i++){
int num = r.nextInt(100) + 1;//题目没有要求,有没有范围,为了更.好 //的我加上了 范围就是1~ 100
bigList.add(num);
}
//大集合的20个数bigList,拿个小集合接收一下,
ArrayList<Integer> smallList = getSmallList(bigList);
//为了方便查看,输出一下链接smallList.size()
System.out.println("偶数总共有多少个:" + smallList.size());
//遍历一下看看是否都是偶数
//for 一下smallList.size()
for(int i = 0; i < smallList.size(); i++){
System.out.println(smallList.get(i));
}
}
//自定义一个方法,三要素,返回值类型ArrayList<Integer>,
//名称叫getSamllList
//我是根据大集合筛选的,那么必须写上(ArrayList<Integer> bigList)
//这个方法,接收大集合参数,返回小集合结果
public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList){
//创建一个小集合,用来装偶数结果
//是偶数就放在smallList里面,那么就检查bigList.size()
//在判断是偶数吗?
//是偶数就拿 给num
ArrayList<Integer> smallList = new ArrayList<Integer>();
for(int i = 0; i < bigList.size(); i++){
int num = bigList.get(i);
if(num % 2 == 0){
smallList.add(num);
}
}
return smallList;
}
}
java.lang.String类代表字符串的类
- API文档说,Java程序当中所有的字符串字面值(如“abc”)都作为此类的实例实现。
- 其实就是说程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是)
- String字符串的特点:
- 1,字符串的内容永不可变。【重点】
- 2,正是因为字符串不可以改变,所以字符串是可以共享使用的。
- 3,字符串效果上是相当于是char[]字符数组,但是底层原理是byte[]字节数组。
字符串常量池: 程序当中直接写上的双引号字符串,就在字符串常量池当中
对于基本类型来说, == 是进行数值的比较
但是对于引用类型来说, == 是进行【地址值的比较】。
*/
public class Demo02StringPool {
public static void main(String[] args){
String str1 = "abc";
String str2 = "abc";
char[] charArray = {'a', 'b', 'c'};
String str3 = new String(charArray);
System.out.println(str1 == str2);//true
System.out.println(str1 == str3);//false
System.out.println(str2 == str3);//false
}
}