2014年10月15日 23:00 提笔,开始我的程序猿修炼生涯------------------------
本人 女!普通高校计算机专业小硕一枚,研究方向:普适计算,智能空间(基于语义的用户活动识别)。目前研三,将于2015年6月毕业,求职ing。。。。。。offer,offer快到我碗里来!
从2014年7月1日我开始了我的Java软件工程师培训课程,到现在3个多月了,接近4个月。学到的很多,领悟了很多,不足的仍然很多,借这个博客,想分享一下我的学习经历,等到老了也能看到自己过去的学习生涯(就这点追求了,哈哈!)
首先,谈一下我为什么会想到开通这个博客吧。 一次很偶然的刷微博,在Linux中国上看到一篇文章《大学生美女程序员校招进阿里的励志故事》,并且关注了@程序员敏敏,真心很佩服她,拿到那么多offer,在这里为她点个赞!同时又想到自己的苦逼生活,高不成低不就的,找工作频频受阻,为什么自己不能更努力更勤奋一点呢!为了督促自己,于是决定从今天起也开始写属于我自己的技术博客,这是一个学习的过程,也是一个进步的过程,虽然我是菜鸟中的菜鸟,虽然可能会有错误,虽然来自周遭的阻力很大,虽然能力有限,但是我有一颗积极向上的心,相信自己,只要坚持,一定会实现属于自己的梦想!
Ok,接下来总结一下我今天的学习内容,以及分享一下这几天的笔试内容吧
(第一天写博客,希望各位看官谅解)
——————————————
1、Spring + MyBatis
今天主要是 MyBatis的关联映射问题,关联映射分为:关联映射、集合映射和鉴别器
1)关联映射(多查一):是当查询时需要获取两个或两个以上的关联表的数据时,通过关联映射可以由一个对象获取相关联对象的数据;
2种方式:(1)嵌套查询:在配置文件中写两个<select></select>通过执行另外一个SQL映射语句来返回关联数据结果(查询两次)
(2)嵌套结果:执行一个表关联查询SQL,然后将查询结果映射成关联对象(查询一次)
2)集合映射(一查多):当查询某个表时,如果关联表有多条相关记录,可以用集合映射;
使用方式同上
3)鉴别器:不常用,类似于Jav语言中的switch分支语句结构。
详细项目分析,改天上传代码
2、重点:今天的Java软件工程师课程结业考试的编程题:
(1)冒泡排序和插入排序:
(2)题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如6=1+2+3. 编程实现找出1000以内的所有完数
(3)使用定时器要求输出1~10的数字,1秒后开始每秒输出两次:
答题如下:
(1)冒泡排序和插入排序,凡是学过编程的,应该都会,我在这就不详细说了,就给出完整的代码
冒泡排序:
public Class Bubble{
public static voidmain(String args[]){
int arr[] ={32,45,3,12,67}
for(int i =0;i<arr.length; i++){
for(int j=0;j<arr.length-1-i; j++){
if(arr[j]<arr[j+1]){
//交换
int t= arr[j];
arr[j] =arr[j+1];
arr[j+1] = t;
}
}
}
for(int i =0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
插入排序:基本思想:在要排序的一组数中,假设前面的n-1[n>=2]个数已经是排好顺序的,现在要将第n个数字插入到前面有序的数字中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。算法复杂度为O(n),
public Class Sort{
public int[]insert_sort(int[] arr){
int[] intArr = arr;
int i, j, key;
while(i>=0&& intArr[i]>key){
intArr[j] =intArr[i];
i--;
}
intArr[i+1] =key;
}
return intArr;
public static void main(String args[]){
Sort sort = newSort();
int[] arr = newint[]{22,48,10,12,68}
int[] arr2 =sort.insert_sort(arr);
System.out.println(arr2);
}
}
(2)“完数”
public static void main(String[] args) {
int a, b, sum;
sum = 0;
for (a = 1; a <= 1000;a++) {
for (b = 1; b < a;b++) {
if (a % b == 0) {
// 此处用sum去累加了 如 sum =1 ,b =2, 则sum = 1 + 2;
sum = sum + b;
}
}
if (sum == a) {
System.out.println(sum);
}
// 如果这里不重置清零,则上方sum= sum + b; 这行语句会将上一次值累加上去,就不是我们想要的值了
sum = 0;
}
}
(3)定时器:
public class TimerPro {
public static voidmain(String[] args) {
run();
}
private static void run() {
Timer timer = new Timer();
NewTimerTask timerTask = newNewTimerTask();
//程序运行后立刻执行任务,每隔100ms执行一次
timer.schedule(timerTask, 0,100);
}
}
public class NewTimerTask extends TimerTask {
@Override
public void run() {
createRandNum();
createMathRandom();
}
//随机生成1-10之间的数
private void createMathRandom(){
intj=(int)(Math.round(Math.random()*10+1));
System.out.println("随机生成的数字为:"+j);
}
//用Random类的方式来随机生成1-10之间的随机数
private void createRandNum(){
Random random=newRandom(System.currentTimeMillis());
intvalue=random.nextInt();
value=Math.abs(value);
value=value%10+1;
System.out.println("生成数字为:"+value);
}
}
第一天,简单,纯粹的,技术性含量较低的内容,但是万事开头难,希望以后会越来越好!