2016710101382016-2017-2《java程序设计》学习心得

     2022-03-24     582

关键词:

 

                                     经过对java的不断学习和深入,我们已经有了一些java的基础。继而

                 这周学习了对异常的处理。程序中的异常,一般成为列外情况,可以理解

            为是非正常情况,其他编程语言里面也有这样的情况,Java里面同样存在

            这样一个体系结构,我们需要分清楚的是异常和错误不是一个概念。

               throw关键字总是出现在函数体内部,用来抛出一个异常,程序会在

           throw语句后立即终止执行,也就是说位于throw语句之后的语句块不会执行

          一旦它抛出了一个异常过后,JVM会在包含它的try块所对应的catch里面根据

          抛出的异常类型匹配操作,如果能匹配就直接被捕捉,一旦不能匹配就继续

          往执行体的外层抛出该异常。

             throws关键字总是出现在函数头部,用来表明该函数有可能会抛出某种异常。

          关键字的搭配:try+catch / try+catch+finally /try+finally

               在这三种结构里面需要注意以下几个问题:

                [1]try、catch、finally三个语句块均不能单独使用,三者可以组成try+catch

                                       try+catch+finallytry+finally三种结构,catch语句可以有一个或多个

             ,而且 都处于平级,finally语句最多一个。

                                  [2]try、catch、finally三个代码块中变量的作用域为代码块内部,即变量作用于为局
                                       部变量作用域,分别独立而不能相互访问。如果要在三个块中都可以访问,则需要
                                       将变量定义到这些块的外面,即在{}之外声明。
                                      [3]多个catch块时候,只会匹配其中一个异常类并执行catch块代码,而不会再执行别
                                      的catch块,并且匹配catch语句的顺序是由上到下,在声明过程中子类需要放在前边
                                      捕捉。

 

2016710101382016-2017-2《java程序设计》学习心得

               这周我们将以前的程序进行了分析讲解,并学习了第九章集合的内容。              接下来我们将要对以前所学过的知识进行巩固复习,也是一个调整加深        ... 查看详情

2016710101382016-2017-2《java程序设计》学习心得

               我们以前编写的程序都是通过键盘接受输入,在控制台屏幕上显示              结果。但这周的学习内容是介绍如何编写使用图形用户界面的java程           ... 查看详情

2016710101382016-2017-2《java程序设计》学习心得

          这周的主要内容是泛型,之前我们已简单的学习了一些关于泛型数组的知识。泛型主        要指在定义类、接口和方法时,通过类型参数指示要处理的类对象。一个泛型类就是具有      ... 查看详情

2016710101382016-2017-2《java程序设计》学习心得

  在学完继承后,由于java不支持多继承,即一个类只能继承一个超类。为了克服继承的缺点,这周我们进一步学习了接口,一个类可以实现一个或多个接口。但是接口不是类而是对类的一组需求描述,由常量和一组抽象... 查看详情

2016710101382016-2017-2《java程序设计》第第二章学习心得

     JAVA在没接触这本书之前,所有的认识大概都停留在c语言的层面,对我们的意义只不过是另一种编程。但看到书的厚度,突然觉得如临大敌,迎面而来的是更多专业术语,另外一个不同的编程环境。嗯……... 查看详情

关于j=j++在循环中执行的问题

...1. 对于j++,java会使用中间缓存机制,先把j记到缓存2. "++"运算符,优先级要高于"=" 基于以上两点,j=j++执行过程可以拆解为:1. java使用中间变量,暂存j的值:inttmp=j;2."="右边的j做自增:j=j+1,此时j变为13.自增完成后... 查看详情

解题:heoi2016求和(代码片段)

...-1)^kC_j^k(j-k)^i$那么就是推啊$=sumlimits_i=0^nsumlimits_j=0^iS(i,j)*2^j*j!$然后问题来了,因为后面还有$2^j$和$j!$,我们发现这里展开斯特林数也没用,所以我们要把它们甩出去因为$j>i$时$S(i,j)==0$,所以让后面求和到$n$,然后前提$2^j$和$j... 查看详情

排序复习

  直接插入排序:O(N2)voidInsertSort(int*a,intsize) for(inti=0;i<size-1;i++) for(intj=i+1;j>0;j--) if(a[j]<a[j-1]) inttmp=a[j-1]; a[j-1]=a[j]; a[j]=tmp;   冒泡排序:O(N2)voidBubbleSort(int*a,intsize) for(inti=0;i<size;i++) for(intj=1;j<size-... 查看详情

2082b-找单词(母函数)

#include<stdio.h>intmain()intn,i,j,k;inta[27][51],b[51],temp[51];ints;scanf("%d",&n);for(;n;n--)for(j=0;j<=50;j++)b[j]=temp[j]=0;for(i=1;i<=26;i++)scanf("%d",&a[i][0]);for(j=1;j<=50;j++)a[i][j]=0;for(j=1;j<=a[i][0]&&j*i<=50;j++)a[i][j*i]=1;for(i=1;i<=26;i++)fo... 查看详情

编程总结3(代码片段)

...lseprintf("-");elseif(a[j]==‘T‘)x=x-3;if(b[j]==0||c[j]==1)b[j+1]=1;b[j+2]=1;printf("D");x=x+10;elseprintf("-");x=x+3;elseif(a[j]==‘C‘)x=x-3;if(b[j]==0||c[j]==1)/*c[j]=1c[j+1]=1;c[j+2]=1;printf("!");elseprintf("-");x=x+3;printf("%d",x);return0; 查看详情

为啥 j 在 (++i || ++j) 中不递增

】为啥j在(++i||++j)中不递增【英文标题】:Whyisn\'tjincrementedin(++i||++j)为什么j在(++i||++j)中不递增【发布时间】:2018-09-0609:12:14【问题描述】:我不明白这段代码的输出:longi=5,j=10;if(++i||++j)printf("%ld%ld\\n",i,j);elseprintf("Prog1\\n");输出... 查看详情

数字三角形问题(代码片段)

数字三角形递归intsolve(inti,intj)returna[i][j]+(i==n?0:max(solve(i+1,j),slove(i+1,j+1)));时间效率低重复计算pass递推inti,j;for(j=1;j<=n;j++)d[n][j]=a[n][j];for(i=n-1;i>=1;i--)for(j=1;j<=i;j++)d[i][j]=a[i][j]+max(d[i+1][j],d[i+1][j+1]);记忆化搜索intsolve(inti,intj)if(d[... 查看详情

普里姆算法

...tc[7][7],intn)//普里姆算法intlowcost[7],closest[7];inti,j,k,min;for(i=2;i<=n;i++)//赋值从顶点1开始lowcost[i]=c[1][i];closest[i]=1;for(i=2;i<=n;j++)//从U之外求离U中某一点最近的顶点k=i;min=lowcost[i];for(j=2;j<=n;j++)if(min>lowcost[j])min=lowcost[j];k=j;cout<&l... 查看详情

求初二数学勾股定理1到50的勾股数。

...以的再给我举一个例题哈。下面是50以内的整数勾股数i=3j=4k=5i=5j=12k=13i=6j=8k=10i=7j=24k=25i=8j=15k=17i=9j=12k=15i=9j=40k=41i=10j=24k=26i=11j=60k=61i=12j=16k=20i=12j=35k=37i=13j=84k=85i=14j=48k=50i=15j=20k=25i=15j=36k=39i=16j=30k=34i=16j=63k=65i=18j=24k=30i=18j=80k=82i=20j=21k=2... 查看详情

go冒泡排序

.../算出a的长度 //n:=len(a)//0123//冒泡排序 /*fori:=0;i<5-1;i++forj:=0;j<5-1-i;j++ ifa[j]>a[j+1] a[j],a[j+1]=a[j+1],a[j] fmt.Printf("培训后:") fori:=0;i<5;i++ fmt.Printf("%d",a[i]) fmt.Println()*/ //升序/*n:=len(a) fori:=0;i<n-1;i++ forj:=0;j<n-1-i;j++ ifa[j]... 查看详情

kmp之计算next数组(代码片段)

...的前缀与后缀的“相交”长度KMP算法步骤:1.先算next数组2.若失配(此时模式串下标为j),利用Next数组求出失配后滑动的新位置  a.Next[j]geq0,则模式串右移j-Next[j]位  b.Next[j]=-1,则模式串右移j+1位  初始i=0,j=-1,Next[... 查看详情

冒泡排序

1voidmaopaoAscSort(intarr[],intlength)2{3for(inti=0;i<length-1;i++)4{5for(intj=0;j<length-i-1;j++)6{7if(arr[j]>arr[j+1])8{9arr[j]=arr[j]^arr[j+1];10arr[j+1]=arr[j]^arr[j+1];11arr[j]=arr[j]^ar 查看详情

p1411树(dp)(代码片段)

P1411树(dp)令dp(i,j)dp(i,j)dp(i,j)表示结点iii所在连通块大小为jjj的答案。对于结点uuu的儿子结点vvv,有转移方程:dp(u,j)=max(dp(u,j),dp(u,k)×dp(v,j−k)k×(j−k)×j)dp(u,j)=max(dp(u,j),\\dfracdp(u,k)\\timesdp(v,j-k)k\\times(j-k)\\timesj)dp(u,j)=... 查看详情