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.可变参数必须出现在参数列表的最后面
Request的方法和数组的更多相关文章
- [原创]java WEB学习笔记59:Struts2学习之路---OGNL,值栈,读取对象栈中的对象的属性,读取 Context Map 里的对象的属性,调用字段和方法,数组,list,map
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- <<< request.getParameterMap()方法
request.getParameterMap()方法返回的值,是一个Map类型的,记录着所提交的请求中请求参数和请求参数值的映射关系. 当不知道前台传过来的是什么,且不知道传过来的对象时,可用这个, ...
- 让ar执行queryall和queryrow方法返回数组
让ar执行queryall和queryrow方法返回数组 <?phpnamespace common\components;use \CActiveRecord;use \Yii;use \CD ...
- javascript小实例,多种方法实现数组去重问题
废话不多说,直接拿干货! 先说说这个实例的要求:写一个方法实现数组的去重.(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考): 先 ...
- C#面向对象的方法写数组的功能
上一篇文章用Java方法写出了可以对数组执行的功能,然后在用实例化后的对象调用这些方法来实现这些功能: 这篇随笔改用C#语言实现同样的功能 方法类:Array using System; using ...
- Java基础知识强化85:System类之arraycopy()方法(数组拷贝)
1. arraycopy方法(数组拷贝) public static void arraycopy(object src,int srcPos,Object dest,int destPos, int ...
- C#:.net/方法/字符串/数组
C#:.net/方法/字符串/数组,那点事 首先还是先说下(几个概念的东西)c#下的.net平台的构造快及其功能作用和程序集: .net: .net平台是由:a:运行库+b:全面基础类库(这个是从程序 ...
- javascript多种方法实现数组去重
先说说这个实例的要求:写一个方法实现数组的去重.(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考): 先给初学者解释一下什么叫数组 ...
- JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践
JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识 ...
随机推荐
- SQL Server2012如何导出sql脚本并且还原数据库
一 备份数据库 1 选择某一个数据库,右键依次选择:任务==>生成脚本: 2 选择要编写脚本的数据库对象,注意此处可以选择特定的数据库对象,我们可以选择我们需要备份的数据表. 3 在当 ...
- day11.装饰器初识
1.开放封闭原则 原则: 开放封闭原则,对扩展是开放的,对修改是封闭的. 封版概念:当写好一个功能以后,就不可以再修改此函数,避免下面一系列的调用产生错误. 因此产生了装饰器 2.装饰器形成过程 我们 ...
- spark DataFrame的创建几种方式和存储
一. 从Spark2.0以上版本开始,Spark使用全新的SparkSession接口替代Spark1.6中的SQLContext及HiveContext接口来实现其对数据加载.转换.处理等功能.Sp ...
- Berlekamp_Massey 算法 (BM算法) 学习笔记
原文链接www.cnblogs.com/zhouzhendong/p/Berlekamp-Massey.html 前言 BM算法用于求解常系数线性递推式. 它可以在 $O(n^2)$ 的时间复杂度内解 ...
- 这篇文章主要介绍了Citrix XenServer 6.1 安装图解教程
本次为使用VirtualBox虚拟机过安装测试机过程,我们在使用Vm(无论是Vbox还是VMware等)我们的CPU都必须可支持Intel-V或AMD-V,并且在VM软件设置和BIOS设置开启虚拟化支 ...
- Doctrine2-完整创建数据库
---恢复内容开始--- 下面用Doctrine2设置配置一个数据库,具体分为以下步骤 1.设计主要字段和表 2.配置symfony2和数据库的连接 3.配置Entity,定义类 4.实现get/se ...
- Aspnet Mvc 前后端分离项目手记(三)关于restful 风格Url设计
RESTful 不是新东西,简单理解它的核心思想就是最大程度的利用http协议的一些特点,比如uri,比如请求动词,在前后端分离的项目中会有大大的好处 ,好的设计的url简单明了,胜过详细的说明文档. ...
- Python3虚拟环境--venv
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替之前的virtualenv. 该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持.每一个虚拟环境都有其自 ...
- win7电脑蓝牙 耳机
== services.msc 然后点击确定. 在服务中我们找到关于蓝牙的设置,双击进入. 将启动类型改成自动或手动,确定后就能使用蓝牙啦. == win7电脑蓝牙耳机 记得之前链接耳机的时候 需要下 ...
- php curl 跨域情趣
function curl_post($url='',$postdata='',$options=array()){ $ch=curl_init($url); curl_setopt($ch,CURL ...