学习心得

(第一次使用csdn的编辑器,很多功能不熟悉,慢慢学,慢慢用把)

为什么决定走上java的道路

这次疫情应该是导致我决定重新学java的主要原因。作为一名大三的学生,平时也没有特别的爱好,也就偶尔打打游戏,弹弹吉他,追追剧,刷刷b站而已。当然了也没有什么特长,硬要说特长的话,也就游戏打的比别人好点。今年下半年就大四了,一想着平平无奇的自己又不是什么好学校出来的学生,也没什么技术,出到社会后那可能就真的怕饭都吃不饱。想着找一份本专业的工作,最好是工资高点的,因为这样未来才有盼头。可惜我看b站上面的很多面试的视频和很多dalao的程序就觉得自己出去可能像个废人,下定决心把java学懂,至少能达到中级工程师的水平。

学习感受

说真的,如果是我自己一人学习的话,没有绝对的兴趣真的学不下去,更不可能谈得上去熟练掌握,所以我决定找个靠谱的地方学习。目前看来找到的可以说的上是靠谱。每天学习就把所有的时间占满了,虽然野有生活方面的琐事困扰了我一段时间,但至少能挺过来的都不是太大的问题。很多事情现在不经历,日后工作了也难免会遇到。

目前收获

学到现在我觉得最大的改变就是知识体系的变化,我能够明确感觉到我在看程序和写程序的思路变了很多:之前是乱几把写,能编出来就行。现在的我至少会想着如何优化程序,以面向对象的思路去编写一个程序,把重复的代码放到一个方法中,调用方法就行。
然后就是了解了一点底层的原理,包括jvm虚拟机的运行,类创建的先后顺序,堆栈大致是如何创建的,并且和程序的关联。对象的创建过程,垃圾回收机制,调用方法和方法中的对象在jvm中的大致过程,
虽然确实对于底层这只是一点点,但是能摸到门槛就是好的。
慢慢的开始学着去看源码,慢慢的看文档了解java中真的是像海一般的方法和类,虽然也是才开始了解,先模门槛把,请叫我门槛战神。说真的系统的学习知识真的是很有必要的,在大学根本没学到过这种东西,教的东西太零零散散,而且自己也不会总结。
个人感觉,在学校学了点框架的知识后,重新重头开始学有种很神奇的感觉,emm,就感觉为什么之前老师这样讲,好像明白了。包括面向对象的思维过程,,什么是单例模式,以及什么是构造方法,什么是继承,什么是封装,什么是多态,什么是实现,什么是抽象,什么是接口,为什么要面对抽象编程,为什么要面向接口编程。就感觉很奇妙

具体内容

(线上):学习了java基础,最终能用java写一个小系统(不详细写了)
(线下)

java中提供的各种类和方法(已学):
String
Format
Exception
Scanner
Math
Timer
File
Date
Calendar
小程序

小型管理系统(代码太多不列出)

定时关机小程序(图形界面)
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;/*** @author Solar* @date 2020/6/30 0030 - 13:35*//*定时关机小程序*/
public class Power {{UI u = new UI();}private Runtime r = Runtime.getRuntime();/*** 启动关机计划*/public void start(int time){try {r.exec("shutdown -s -t "+ time);} catch (IOException e) {e.printStackTrace();}}/*** 取消关机计划*/public void abort(){try {r.exec("shutdown -a");} catch (IOException e) {e.printStackTrace();}}class UI extends JFrame implements ActionListener{//关机按键private JButton btnStart;//取消按键private JButton btnCancel;//接收文本框private JTextField inputTime;private JLabel tips;private int overtime;public UI(){//设置标题setTitle("定时开关小程序");//设置位置和大小setBounds(400,400,400,400);//设置当前界面显示的相对位置,设置null时,界面会在屏幕中水平垂直居中setLocationRelativeTo(null);//设置禁止窗口大小修改setResizable(false);//设置当前窗口窗体总算在最顶层setAlwaysOnTop(true);//设置窗口关闭时结束进程setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//初始化组件init();//设置可见setVisible(true);}private void init(){/*    //设置布局(流式布局)setLayout(new FlowLayout());*/setLayout(null);tips = new JLabel("请设置关机的时间");tips.setBounds(20,20,240,30);inputTime = new JTextField();inputTime.setBounds(20,60,340,30);btnStart = new JButton("启动任务");btnStart.setBounds(50,100,120,40);btnCancel = new JButton("取消任务");btnCancel.setBounds(220,100,120,40);add(tips);add(inputTime);add(btnStart);add(btnCancel);/*  //为启动按钮绑定事件btnStart.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("Start按钮点击");}});btnCancel.addActionListener((e)->{System.out.println("Cancel按钮点击");});*/btnStart.setActionCommand("start");btnCancel.setActionCommand("cancel");//为启动按钮绑定事件(this关键字,多态)btnStart.addActionListener(this);//为取消按钮绑定事件btnCancel.addActionListener(this);}@Overridepublic void actionPerformed(ActionEvent e) {Timer timer = new Timer();String s = e.getActionCommand();if(s.equals("start")){String time = inputTime.getText();try {int t = Integer.parseInt(time);overtime=t;timer.schedule(new TimerTask() {@Overridepublic void run() {tips.setText("电脑将在"+ overtime-- +"秒后关机");}},0,1000);} catch (NumberFormatException ex) {tips.setText("请输入正常的关机时间(秒)");}}if(s.equals("cancel")){abort();timer.cancel();tips.setText("计划取消");}}}
}
删除文件:
public class DeleteFile {public void deleteAllFile(File dir){File[] files = dir.listFiles();if(files !=null) {for (int i = 0; i < files.length; i++) {if (files[i].isDirectory()) {deleteAllFile(files[i]);}files[i].delete();}}}public static void main(String[] args) {File file = new File("F:\\2345Downloads");new DeleteFile().deleteAllFile(file);}
}
模拟红包:
public class RedPacket1 {public void moneyPacket(double giveMoney,int sumPeople){//设置格式刷DecimalFormat fmt = new DecimalFormat("#.##");//拿到传的钱double money = giveMoney;//设置比例数组int[] p = new int[sumPeople];//设置红包数组BigDecimal[] peopleMoney = new BigDecimal[sumPeople];//设置分母int sumP = 0;//分母赋值for (int i = 0; i < p.length; i++) {p[i] = (int) (Math.random()*100+1);sumP += p[i];}//设置保底机制for (int i = 0; i < peopleMoney.length; i++) {String pm = "0.01";peopleMoney[i]=new BigDecimal(pm);}//保底后的金额money = money - 0.01*sumPeople;//设置每个人除保底外的分的金额BigDecimal[] b = new BigDecimal[sumPeople];for (int i = 0; i < b.length; i++) {String proportion = fmt.format((p[i]/(double)sumP)*money);b[i] = new BigDecimal(proportion);}for (int i = 0; i < sumPeople; i++) {peopleMoney[i].add(b[i]);}System.out.println(Arrays.toString(peopleMoney));}public static void main(String[] args) {RedPacket r = new RedPacket();r.moneyPacket(0.14,10);}
}
使用日期类做日历
public class MyCalendar {private int year;private int mouth;public MyCalendar(int year, int mouth) {this.year = year;this.mouth = mouth;}public void ShowCalender(){Calendar c = Calendar.getInstance();c.set(Calendar.YEAR,year);c.set(Calendar.MONTH,mouth-1);c.set(Calendar.DAY_OF_MONTH,1);//获取月份天数int maxDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);//获取第一天是星期几int nowDOW = c.get(Calendar.DAY_OF_WEEK)-1;System.out.println("一\t二\t三\t四\t五\t六\t天");for (int i = 0; i < nowDOW-1; i++) {System.out.print("\t");}for (int i = 1; i <= maxDay; i++) {if(i<10){System.out.print("0"+i+"\t");}else {System.out.print(i+"\t");}if((i+nowDOW-1)%7==0){System.out.println("");}}}public static void main(String[] args) {new MyCalendar(2020,7).ShowCalender();}
}

结尾

差不多就这些了,因为确实信息量太大不好全部列出来,只能截取一段,而且类的笔记都是实践中学,边学边写笔记太多了就不粘贴了,第一周大概就学了这些,基本老师讲的都会了,进度跟得上。希望接下来几个月保持状态,好好学,找到一份不错的工作把。

共勉!!
(新人报道,不喜勿喷)

个人java学习心得总结相关推荐

  1. Java入门1.2.3—一个老鸟的Java学习心得

    Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌    出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...

  2. 计算机编程老鸟的心得,java入门123——一个老鸟java学习心得.docx

    java入门123--一个老鸟的java学习心得 学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心得体会了.开始学习任何一门课(包括java),兴趣最重要.一直觉得自己在学计算机 ...

  3. java老鸟123怎么样_java入门123——一个老鸟的java学习心得.doc

    java入门123--一个老鸟的java学习心得 java入门123--一个老鸟的java学习心得 篇一:java初学者学习心得 学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心 ...

  4. java入门123 pdf下载_Java入门123:一个老鸟的Java学习心得 pdf_IT教程网

    资源名称:Java入门123:一个老鸟的Java学习心得 pdf 第1篇 Java语言基本语法 第1章 让自己的第一个Java程序跑起来 第2章 搭建自己的集成开发环境 第3章 Java中的基本数据类 ...

  5. java入门123pdf二维码pdf_Java入门123:一个老鸟的Java学习心得 pdf

    资源名称:Java入门123:一个老鸟的Java学习心得 pdf 第1篇 Java语言基本语法 第1章 让自己的第一个Java程序跑起来 第2章 搭建自己的集成开发环境 第3章 Java中的基本数据类 ...

  6. Java入门123:一个老鸟的Java学习心得(二维码版)

    Java入门123:一个老鸟的Java学习心得(二维码版)清华大学出版社 Java入门123--一个老鸟的Java学习心得(二维码版)充分考虑了初学Java的种种困难,讲解细致入微,抽丝剥茧,层层推进 ...

  7. java学习心得---方法

    java学习心得-方法 一.概念 方法是实现特定功能的一段代码,可以重复使用. 二.定义 一些列代码指令的合集(就是将一些代码整合再一起). 三.作用 提高代码的重复性. 四.定义的格式 访问修饰符+ ...

  8. 金三银四——一名程序员的java学习心得

    古人云:活到老,学到老.读书学习实乃艰苦之事,花费时间,消耗精力.然苦之外亦见其乐:得到了知识,提高了认识,完善了自己.学习,求其真,务其实,应"敏而好学,不耻下问",才能不断促使 ...

  9. 非科班Java学习心得

    写在前面 博主本硕就读专业都是机械工程,于去年年初开始自学Java,今年年初加入春招实习大军,有幸通过蚂蚁金服的面试,在5月底进入蚂蚁金服成为了一名实习生,8月底顺利通过转正考核,评级A.在学习Jav ...

  10. JAVA学习心得--自勉(转)

    引言     软件开发之路是充满荆棘与挑战之路,也是充满希望之路.Java学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰 ...

最新文章

  1. 手写html5游戏,HTML5 手写输入法
  2. TensorRT加速 ——NVIDIA终端AI芯片加速用,可以直接利用caffe或TensorFlow生成的模型来predict(inference)...
  3. javax.naming.NoInitialContextException: Need to specify class name in environment or system property
  4. 2009-12-12
  5. Ubuntu建立(apache+php+mysql)+phpmyadmin
  6. oracle ebs hr模块表,oracle ebs常用表结构及分类模块.doc
  7. Sparklens:Spark应用程序优化工具
  8. ecshop常用二次开发修改
  9. 【金融】【随机森林】使用随机森林对期货数据(涨跌)进行回归
  10. 编译器错误~System.Data.Objects.DataClasses.EntityObject在未被引用的程序集中定义
  11. Java程序优化的一些最佳实践
  12. VLOOKUP函数返回错误值#N/A的两种解决方法
  13. 离线手动更新卡巴斯基
  14. 第九章 CSS-DOM
  15. 计算机电脑桌面怎么设置,老司机教你电脑屏保怎么设置
  16. EmmyLua ProtoBuf Api提示
  17. python time和datetime、pytz
  18. postgresql中recovery.conf分析
  19. python实现微信hook_GitHub - zhouxionger/wechathook: 借助微信hook,拦截修改某些call,填充进我们的Python代码,进行微信公众号文章的爬取...
  20. MySQL 必知必会系列(一)

热门文章

  1. HTML+CSS系列教程导学
  2. air 打开外部exe,bat文件的方法
  3. 学生优化--文本框限制
  4. .net反混淆脱壳工具de4dot的使用
  5. charles全面使用教程及常见功能详解(较详细)
  6. Adobe Reader 8 简体中文版最新版本
  7. 顺无盘linux win10包,(2017.01.14)网维大师9.0.3.0无盘-xp-win7x32-x64-Win10x64公包
  8. 浅析微信支付:商户平台开通现金红包、指定用户发放、红包记录查询
  9. 5行python代码帮你搞定百度文库复制问题
  10. .pem和.pk8是什么文件?(转载)