Java编程:深入理解数组及其应用

需积分: 16 8 下载量 177 浏览量 更新于2024-07-28 收藏 1.61MB PPT 举报
"Java编程入门教程,讲解程序逻辑和数组操作" 在学习Java编程时,了解和掌握数组是非常重要的一步。数组是一种数据结构,它允许我们存储相同类型的多个数据项在一个单一的变量名之下,方便管理和操作。在本章中,我们将深入探讨数组的概念、声明、初始化以及使用方法。 首先,数组提供了对一组数据的高效访问,通过单一的变量名,我们可以存取数组中的每一个元素。数组的结构包含以下几个基本要素: 1. 标识符:这是数组的名称,用来区别不同的数组。 2. 数组元素:存储在数组中的实际数据。 3. 元素下标:用于标识数组中每个元素的位置,通常从0开始计数。 4. 元素类型:数组中所有元素共有的数据类型。 数组的声明是在内存中为一系列连续的空间分配空间,每个空间都用于存储相同类型的数据。例如,如果我们声明一个整型数组`int[] numbers`,那么我们就为整型数据分配了一串连续的内存空间。 在给定的代码示例中,展示了`while`循环和`continue`语句的使用: ```java int i=0, j=0; while(i<7){ if(j>4){ System.out.println("**"); i++; continue; } System.out.println("*"); j++; i++; } ``` 这段代码会在控制台上打印出特定的星号模式,`continue`语句用于跳过当前循环体内的剩余代码,直接进入下一次循环。 数组在解决问题时有着广泛的应用,例如在本章的任务中,我们需要统计考试成绩的平均分、找出最高分、实现数组排序以及复制数组信息。这些操作都需要对数组有深入的理解和熟练的运用。 对于计算平均分的例子,如果没有使用数组,可能需要30个单独的变量来存储每个学生的分数,这显然是不实际且易出错的。而使用数组,我们可以简洁地表示30个学生的分数,如`int[] scores`,然后通过遍历数组计算平均值: ```java int[] scores = new int[30]; // 假设已将分数填入scores数组 int sum = 0; for(int score : scores) { sum += score; } double avg = (double) sum / scores.length; ``` 此外,数组的类型必须一致,这意味着数组不能混合存储不同类型的元素。例如,数组不能同时存储字符串和整数。对于给定的选项: a) “刘星”,“夏雨”,“夏雪” - 这是一个字符串数组。 b) 8,98,“c”,23 - 这组数据无法存储在同一个数组中,因为它们的类型不一致。 c) 98.1,341.2,34.3 - 这是一个浮点数数组。 通过学习本章,目标是掌握数组的基本用法,能够运用数组解决简单的编程问题,并理解基本数据类型和引用数据类型的差异。数组是编程中基础且强大的工具,熟练掌握数组操作是成为一名合格Java程序员的关键步骤。
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" />