[每日学习笔记][2012.07.10]使用Java理解程序逻辑(七)

一. Java 中的数组

    在Java中,数组就是一个变量,用于将相同数据类型的数据存储在存储单元中,数组中的每个元素都属于同一数据类型。

二. 如何使用数组

    1. 声明数组

// 语法
数据类型[] 数组名;

// 或者
数据类型 数组名[];

 

例如:

int[] scores;                   //存储学生的成绩,类型为整型  
double height[];                //存储学生的身高,类型为浮点型
String[] names;                 //存储学生的姓名,类型为字符串型


 

   2. 分配空间

    分配内存空间就是告诉计算机在内存中为它分配了几个连续的空间来存储数据。

// 语法
数据名 = new 数据类型[数组长度];

例如:

scores = new int[30];           //长度为 30 的整型数组
height = new double[30];        //长度为 30 的浮点型数组
names = new String[30];         //长度为 30 的字符串型数组


在声明数组时就分配内存空间

// 语法
数据类型[] 数组名 = new 数据类型[数组长度];

例如:

int scores[] = new int[30];

 

3. 赋值
    分配内存空间后就可以向数组里放数据了,数组中的每一个元素都是通过下标来访问的,数组下标从0开始

// 语法
数组名[下标值];


例如:

scores[0] = 89;
scores[1] = 60;
scores[2] = 70;
......

 

 声明数组时,同时分配空间和赋值

// 语法
数据类型[] 数组名 = {值1, 值2, 值3,......, 值n};

例如:

int[] scores = {60, 70, 98, 90, 76};
// 等价于
int[] scores = new int[]{60, 70, 98, 90, 76};

 

4. 获取数组长度

数组名.length

 

三. 常见错误

1. 数组名从0开始

2. 数组访问越界,数组下标从 0 至 数组长度-1

四. 数组排序

// 语法
Array.sort(数组名);

将数组按照升序排序

 

五. 深入理解数据类型

1. 基本数据类型

    对基本数据类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值。赋值操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。

2. 引用数据类型

    对引用数据类型,赋值是把原对象的引用传递给另一个引用。对数组而言,当一个数组引用赋值给另一个数组引用后,这两个引用指向同一个数组,也就是指向同一块内存空间。

    如果定义的数组时基本数据类型的数组,即 int 型、double型、char型、boolean型,在Java中定义数组之后,若没有指定初始值,则依据数据类型的不同,会给数组元素赋予一个默认值,如下表所示。

 

数组元素初始值
数据类型初始值
int0
double0.0
char"\u0000"
booleanfalse

 

 

六. 总结

1. 数组是可以在内存中连续存储多个元素的结构,数组中的所有元素必须属于相同的数据类型。

2.数组中的元素通过数组的下标进行访问,数组的下标从 0 开始。

3. 一维数组可用一个循环动态初始化,或者用一个循环动态输出数组中的元素信息。

4. 利用 Arrays 类提供的 sort() 方法可以方便地对数组中的元素进行排序。

5. int、double 、char 、boolean类型都是基本数据类型

6. String 和 数组 是引用数据类型

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是整合的的步骤 spring整合hibernate 加入jar包 加入spring和aop所需必须包 加入hibernate的必须包 spring整合hibernate的必须包 org.springframework.jdbc-3.1.3.RELEASE.jar org.springframework.orm-3.1.3.RELEASE.jar org.springframework.transaction-3.1.3.RELEASE.jar 加入配置文件 加入spring的配置文件 加入hibernate的配置文件 加入配置代码 加入对SessionFactory的配置 加入数据源(DataSource)的配置 <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value=""/> </bean> 加入SessionFactory的配置 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!-- 配置session factory使用的数据源 --> <property name="dataSource" ref="dataSource" /> <!-- 配置使用hibernate的配置文件 --> <!--<property name="configLocation" value="classpath*:hibernate.cfg.xml" /> --> <!-- 无需写hibernate的配置文件,而是将hibernate的配置直接加入到spring配置文件中 配置hibernate的映射文件地址 --> <property name="mappingResources"> <list> <value>com/direct/domain/Employee.hbm.xml</value> <value>com/direct/domain/Log.hbm.xml</value> </list> </property> <!-- 配置hibernate的其他属性 --> <property name="hibernateProperties"> <map> <entry key="dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <entry key="show_sql" value="true" /> <entry key="format_sql" value="true" /> <entry key="current_session_context_class" value="thread" /> </map> </property> </bean> 加入事务管理切面类的配置 <!-- 创建事务管理器(spring针对hibernate实现的事务管理的切面类) --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 事务的通知类型 --> <tx:advice id="transactionAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="*" read-only="true" /> <!-- 或者 <tx:method name="*list*" read-only="true"/> <tx:method name="*get*" read-only="true"/> <tx:method name="*" propagation="REQUIRED"/> --> </tx:attributes> </tx:advice> 将切面类应用到切入点上 <!-- 将事务管理规则的切面应用到对应的切入点 --> <aop:config> <aop:pointcut expression="execution(* com.direct.service.*.*(..))" id="transactionPointCut"/> <aop:advisor advice-ref="transactionAdvice" pointcut-ref="transactionPointCut"/> </aop:config> spring和struts2的整合 加入整合包 加入struts的必须包 struts整合spring的包 struts2-spring-plugin-2.3.15.3.jar spring整合struts的包 org.springframework.web-3.1.3.RELEASE.jar org.springframework.web.servlet-3.1.3.RELEASE.jar org.springframework.web.struts-3.1.3.RELEASE.jar 加入struts的配置文件struts.xml 在web.xml中配置struts <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 在web.xml配置spring <!-- 配置spring的配置文件的位置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext-*.xml</param-value> </context-param> <!-- 配置spring随web容器启动时就创建 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 在struts.xml中配置对象创建工具为spring <constant name="struts.objectFactory" value="spring" />
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值