2019.09.11小结

今天的知识点
1.List集合
List 的创建方法:List<Integer> stu = new ArrayList<>()
其中Integer是 int类型的包装类,因为List里面接收的是对象,int不是对象不能直接使用int,需要使用int的包装类。

关于包装类
1.包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是
2、包装类型是引用的传递;基本类型是值的传递
3、声明方式不同:
基本数据类型不需要new关键字;
包装类型需要new在堆内存中进行new来分配内存空间
4、存储位置不同:
基本数据类型直接将值保存在值栈中;
包装类型是把对象放在堆中,然后通过对象的引用来调用他们
5、初始值不同:
int的初始值为 0 、 boolean的初始值为false
包装类型的初始值为null
6、使用方式不同:
基本数据类型直接赋值使用就好;
包装类型是在集合如 coolectionMap时使用
在这里插入图片描述
2.Map集合
Map集合用于保存映射关系的数据,Map集合中保存了两组值,一组是 key, 一组是 value。
Map的key不能重复。
key和value之间存在单向一对一的关系, 通过key,能找到唯一的,确定的value。
Map 集合创建方法:Map<String,Integer> map = new HashMap<>();

3.增强for循环
1、 for循环的一种,简化了数组和集合的遍历,可以用来替代迭代器
2、 格式:
 a) for(元素数据类型 变量:数组或者Collection集合){使用变量即可}
 b) 实例在下面
3、 弊端
 a) 增强for的目标不能是null
 b) 解决:对增强for的目标先进行不为null的判断

//字符串数组
        String []str= {"zfliu","96"};
        
        for(String s:str) {
            System.out.println(s);
        }
        //输出结果为 :
        //zfliu 
        //96

4.美女选妃案例
确定要求
a.从浙江工贸选10个美女
b.计算10个美女的身高和 和 体重和
c. 计算10美女的平均身高和平均体重
d.判断这批美女是否合格 平均身高>150 平均体重<200

首先创建一个获取美女身高和体重的方法,把身高和体重用List集合存储在Map集合里面。设置重键盘输入美女的身高和体重。

public Map<String ,List<Integer>> getHighsWights(){
        Scanner scanner = new Scanner(System.in); 
        List<Integer> highs = new ArrayList<>();
        List<Integer> wights = new ArrayList<>();
        for (int i=1;i<4;i++){
            System.out.println("请输入第"+i+"个美女的身高:");
            int h = scanner.nextInt();
            System.out.println("请输入第"+i+"个美女的体重:");
            int w = scanner.nextInt();
            highs.add(h);
            wights.add(w);
        }
        Map<String ,List<Integer>> map = new HashMap<>();
        map.put("sg",highs);
        map.put("tz",wights);
        System.out.println(map);
        return map;
    }

创建一个美女身高和体重合的方法把获取的身高和体重集合传进去。

 public Map<String ,Integer> getSum(List<Integer> highs,List<Integer> wights){
        int sumH = 0;
        for (int h:highs){
            sumH += h;
        }
        int sumW = 0;
        for (int w:wights){
            sumW += w;
        }
        Map map = new HashMap();
        map.put("sumHighs",sumH);
        map.put("sumWigths",sumW);
        return map;
    }

创建平均身高体重的方法。

 public Map<String,Integer> getAvg(Map<String ,Integer> map){
        int sumH = map.get("sumHighs");
        int sumW= map.get("sumWigths");
        int avgH = sumH/3;
        int avgW = sumW/3;

        Map<String ,Integer> avgMap = new HashMap<>();
        avgMap.put("pjsg",avgH);
        avgMap.put("pjtz",avgW);
        return avgMap;
    }

创建美女判断标准方法。

 public String biaozhun(Map<String ,Integer> map){
        int avgH = map.get("pjsg");
        int avgW = map.get("pjtz");

        if (avgH>160 && avgW<200){
            return "是美女";
        }else {
            return "不是美女";
        }
    }

在主程序中执行代码。

public static void main(String [] args){
        Test5 test5 = new Test5();
        Map<String ,List<Integer>> sgtz = test5.getHighsWights();
        List<Integer> highs = sgtz.get("sg");
        List<Integer> wights = sgtz.get("tz");
        Map sum = test5.getSum(highs, wights);
        Map avg = test5.getAvg(sum);
        String bz = test5.biaozhun(avg);


        int sumhighs = (int) sum.get("sumHighs");
        int sumwigths = (int) sum.get("sumWigths");
        int avgH = (int) avg.get("pjsg");
        int avgW = (int) avg.get("pjtz");

        System.out.println("美女的身高和为:"+sumhighs+"\n美女的体重和为:"+sumwigths);
        System.out.println("美女的平均身高为:"+avgH+"\n美女的平均体重为:"+avgW);
        System.out.println(bz);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值