Java编程:理解数组的使用和错误示例

需积分: 16 7 下载量 169 浏览量 更新于2024-07-13 收藏 1.61MB PPT 举报
"常见错误--使用java理解程序逻辑第七章" 在Java编程中,数组是一种非常重要的数据结构,它允许我们存储多个同类型的值在一个单一的变量中。在这个章节,我们将深入探讨数组的相关知识点,包括定义、初始化、访问以及数组在实际问题中的应用。 首先,让我们来看一个常见的错误示例: ```java public static void main(String[ ] args){ int[ ] score = new int[5]; score = {60, 80, 90, 70, 85}; int[ ] score2; score2 = {60, 80, 90, 70, 85}; } ``` 在这段代码中,尝试将数组初始化和赋值分开在两条语句中进行,这是不被Java语言所允许的。正确的做法是在声明数组的同时进行初始化,如下所示: ```java int[] score = {60, 80, 90, 70, 85}; int[] score2 = {60, 80, 90, 70, 85}; ``` **循环语句while、do-while、for的区别:** - **while** 循环先检查条件,如果条件满足才执行循环体,不满足则终止循环。 - **do-while** 循环不管条件是否满足都会至少执行一次循环体,然后检查条件决定是否继续执行。 - **for** 循环通常用于已知循环次数的情况,它可以更简洁地设置初始值、条件和更新操作。 在给定的代码片段中,使用了一个while循环,其中包含一个if语句和continue语句。`continue` 语句用于跳过当前循环体中剩余的代码,直接进入下一轮循环。 **数组的基本概念:** - **数组是一个变量,存储相同数据类型的一组数据。** - 数组由三部分组成:标识符(数组名)、元素(存储的数据)和元素下标(用于访问元素的索引,从0开始)。 - **数组长度是固定的,一旦创建后不能改变,防止越界访问。** - 数组可以用来简化代码,例如计算一组数值的平均分、查找最大值或最小值等。 在例子中,数组用于存储学生的考试分数,这展示了数组在处理多个数据时的便利性。对于计算30个学生的平均分,如果没有数组,我们需要30个单独的变量,这显然过于繁琐。数组使得我们可以用一个变量(数组)来表示所有的分数,从而简化了计算过程。 **数组的应用:** 1. **存储和访问数据**:数组可以方便地存储一系列数据,并通过下标快速访问任意位置的元素。 2. **算法实现**:在排序、查找、统计等算法中,数组是基础数据结构。 3. **节省内存**:相比多个独立变量,数组使用连续的内存空间,提高了内存效率。 **数组类型和元素的确定:** - 在Java中,数组的类型是基于数组中存储的数据类型。例如,整型数组的类型是`int[]`,字符串数组的类型是`String[]`。 - 数组中的所有元素都必须是同一类型,因此选项a) 和 b) 不符合数组的要求,因为它们包含了不同类型的数据。而选项c) `98.1,341.2,34.3` 可以存储在一个`double[]`数组中。 通过这个章节的学习,我们应该掌握了数组的基本概念、定义方法、访问方式以及其在实际问题中的应用。在后续的编程实践中,数组将扮演着不可或缺的角色。
2017-10-25 上传
下面是整合的的步骤 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" />