zoukankan      html  css  js  c++  java
  • Request的方法和数组

    req.getHeader("referer")
    
    [取得发送请求页面对应的浏览器地址栏信息,可以使用这种方法实现防盗链等操作]
    
    String name=new String(request.getparameter("username").getbytes("GBK"),"utf-8");
    
    system.out.println("解决中乱码":+name);

    数组
    1.数组的概念:数组属于引用类型,数组的本质就是一个容器,存放一组相同数据类型变量的数据容器
    2.数组的格式:数据类型[ ] 数组名; java
    数据类型 数组名[ ]; C语言
    特点:1.数组的本质就是一个引用类型的变量,既然是变量就必须满足先声明在赋值再使用
    2.数组的初始化:a.声明 b.赋值 c.使用
    3.数组的内存分配
    数据类型[ ]数组名=new 数据类型 [长度];
    4.访问数组的元素
    arr[下标/索引]
    java.lang.nullpointerexception
    异常名称:空指针异常
    产生原因:对象没有new就访问了对象的成员
    解决办法:new
    java.lang.arrayindexoutofboundsexception
    异常名称:数组越界
    产生原因:访问了不在数组定义范围内的索引
    解决办法:检查索引是否超出了数组定义的范围
    3.数组的初始化:
    静态初始化:数据类型[ ]数组名=new 数据类型[ ]{元素1,元素2,元素3.....}; 用作匿名对象
    数据类型[ ]数组名={元素1,元素2,元素3.....}; 用作初始化
    动态初始化:数据类型[ ]数组名=new 数据类型[长度];
    二者区别:静态初始化在初始化的同时会给每一个元素赋值,不需要指定数组的长度,
    不需要指定数组的长度,系统会自动根据元素的个数去动态计算数组的长度。
    动态初始化在初始化的同时由系统分配默认值,但是必须指定数组的长度
    4.值传递和引用传递
    1.值传递的本质传递的是数值本身,引用传递的本质传递的是地址
    2.如果传递的是地址,那么通过地址改变了堆区空间的数值,将会影响到所有指向该堆区的引用
    5.数组的查找
    基本查找:针对所有的数组都可以
    二分法查找:针对有序的数组效率可以提高非常多
    6.数组的排序
    八大排序算法:冒泡 选择 插入 快速 希尔 堆 归并 基数
    冒泡 规律:1.相邻两个数进行比较,大的数冒泡,交换两个数的位置
    2.一共比较了arr.length-1趟
    3.每一趟比上一躺少比较一次
    选择 规律:1.每一趟初始比较的位置是上一躺位置+1
    2.前面的元素依次和后面每一个元素进行比较,小的往前放
    foreach遍历数组
    集合和数组专属遍历方式,底层还是使用普通for遍历
    格式:
    for(数据类型 变量名:数组名/集合名){
    }
    普通for和foreach的区别:
    1.简化了遍历 2.没有索引
    7.为什么需要可变参数?
    针对参数类型相同但是参数的个数不同的情况下非常方便
    可变参数:是一种形参类型
    格式:数据类型...参数名
    注意事项:1.可变参数的本质是数组
    2.可变参数的...可以放在参数类型和变量名中间的任意位置
    3.可变参数必须出现在参数列表的最后面

  • 相关阅读:
    web框架-(七)Django补充---models进阶操作及modelform操作
    web框架-(六)Django补充---form表单验证
    web框架-(五)Ajax
    时间处理总结(一).net
    linq 多条件查询 where 拼接+分页
    Angularjs总结(八)$ cookie和$rootscope
    Angularjs总结(七) 路由及请求服务等
    Nhibernate总结(一)查询返回指定字段
    asp.net mvc5 设置Area下的为启动页
    Angularjs总结(五)指令运用及常用控件的赋值操作
  • 原文地址:https://www.cnblogs.com/yhgn/p/10742657.html
Copyright © 2011-2022 走看看