如何学Java?代码效率如何提高?

简介: 如何学Java?代码效率如何提高?


##Java咖啡Logo的来源:##

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。国外的许多咖啡店用Java来命名或宣传,以彰显其咖啡的品质~可见Java火起来会带动咖啡事业的发展!!!


##Java要怎么学?##Java学习应该从入门到实战,前期学习JavaSE,我建议你先掌握一下基础概念,面向对象很重要,Java也有很多知识点要记,我建议前期做好笔记,笔记很重要。到后来学习的话再去重复观看视频或者从头看文档的话是很费事的,个人认为脑图是很好的选择。

MindMaster脑图,你值得拥有。

小红在成长,公众号:小红的成长日记笔记梳理——思维导图


个人认为尚硅谷的课程讲的很好,段子和学习并进!

直达链接:

https://www.bilibili.com/read/cv5216534

里面各个阶段学习的课程都是以超链接的形式展现的,所以更加方便定位学习。


image.png


##笔记误区:##

记笔记并不是要你写的很详细,"今天天气怎么样吃什么干什么遇到什么人发生什么事..."而是把你的大概思路记下来,记重点!比如在学习到面向对象时候,面向对象的特点:封装、继承和多态,然后在写封装的需哪个关键字,继承是哪个关键字,多态的前提是什么?并不用再第一遍学习的时候记得很详细,因为那这样就和你看文档没有什么区别了,你可以在后期复习的时候把薄弱的概念完善一下,这样就加强了记忆。

这里推荐你使用MindMaster脑图,界面干净,很适合自主学习。下面关于类和对象的脑图,思路是很清晰的,在后期复习的时候ctrl + t可以添加注释,补充新的理解...很方便。

重复推荐!!!

MindMaster脑图,你值得拥有。

小红在成长,公众号:小红的成长日记笔记梳理——思维导图

image.png


##自主学习:##


如果你是新手自学Java,我建议你前期看视频的进度不要太快,多敲代码,这样不仅能提高手速,而且还能把你加深印象,不要小看敲代码,如果你认为自己已将掌握了某个案例,不妨到晚上了,自己在不看视频的前提下自己尝试一下,如果不会多看几遍视频,既然是自学就不防静下心来,认真练习。

像输出100以内的质数:

下面是一种方法,但是你有什么优化的方法吗?要知道程序的运行效率是企业十分重视的。当然数字较少看不出来什么效果。如果是100000以内的呢?效率的高低是不是就十分明显了?好比你查Bug,在你心急如焚的想要知道问题处在哪里,但是网站迟迟不响应你的请求,你会不会心态爆炸?一样的道理,代码的运行效率很重要!

不如在你较为空闲的时间多研究一些算法、数据结构等,会对今后的开发有很重要的影响。



publicclassZhiShu {
publicstaticvoidmain(String[] args) {
booleanbl=true; //定义一个标准,如果是质数的话为truefor(inti=2; i<1000; i++){  //共有2-100个数字,逐一遍历for(intj=2; j<Math.sqrt(i); j++){
if(i%j==0){
bl=false;
                }
            }
if(bl==true){
System.out.println("质数为:"+i);
            }
bl=true;
        }
    }
}

影响代码的运行效率有很多因素,首先是程序的设计,其次就是在执行过程中输出的方式!

1.质数是什么?从1开始,只能被一和它本身整除的自然数;

2.偶数肯定不是质数,所以你可以把比较次数缩减一半;

3.2 = 1 * 2;所以2/1=2 那么2/2=1,所以你又可以在一半的技术上在分,因为你只要比较一次就能得到两个值,因为两个数相乘得到的积,用积除以这两个数的任意一个就能得到另一个数,所以开次方就可以将程序的运算比较在缩小。



// Math.sqrt():是Math类中的开正次方的方法!publicclassZhiShuYouHua {
publicstaticvoidmain(String[] args) {
booleanbl=true;
intcount=0;
for(inti=2; i<10000; i++){
for (intj=2; j<=Math.sqrt(i); j++){
if (i%j==0){
bl=false;
break;
                }
            }
if(bl==true){
count++;
            }
bl=true;
        }
System.out.println("质数有:"+count+"个");
    }
}


其次,你在了解Java的学习路线的前提下,然后进行系统的学习,这样的话有目的的进行学习,思路会清晰很多。


##经验分享:##


最后,可以抱团取暖,因为自己学习虽然很快,但是一起学习会更多元,因为你运行很顺利,你就会错过发现一个问题的机会,而别人运行不顺利,你们再一起解决问题,你就会掌握一个解决问题的能力(不让自己犯相同的错)。

最后的最后,建议多看API文档,以英文API文档为首,如果你的英文能力有限可以看中文翻译过的API,但是在阅读的过程中会存在语句翻译意思的差别。

JavaAPI文档(中文+英文)

小红在成长,公众号:小红的成长日记Java实用工具——API详解+Notepad
相关文章
|
12天前
|
Java 测试技术 应用服务中间件
常见 Java 代码缺陷及规避方式(下)
常见 Java 代码缺陷及规避方式(下)
38 0
|
14天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
25 8
|
17天前
|
前端开发 小程序 Java
uniapp上传图片 前端以及java后端代码实现
uniapp上传图片 前端以及java后端代码实现
31 0
|
18天前
|
设计模式 存储 Java
23种设计模式,享元模式的概念优缺点以及JAVA代码举例
【4月更文挑战第6天】享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享技术有效地支持大量细粒度对象的重用。这个模式在处理大量对象时非常有用,特别是当这些对象中的许多实例实际上可以共享相同的状态时,从而可以减少内存占用,提高程序效率
33 4
|
18天前
|
设计模式 Java 中间件
23种设计模式,适配器模式的概念优缺点以及JAVA代码举例
【4月更文挑战第6天】适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要目标是让原本由于接口不匹配而不能一起工作的类可以一起工作。适配器模式主要有两种形式:类适配器和对象适配器。类适配器模式通过继承来实现适配,而对象适配器模式则通过组合来实现
30 4
|
19天前
|
存储 缓存 算法
优化 Java 后台代码的关键要点
【4月更文挑战第5天】本文探讨了优化 Java 后台代码的关键点,包括选用合适的数据结构与算法、减少不必要的对象创建、利用 Java 8 新特性、并发与多线程处理、数据库和缓存优化、代码分析与性能调优、避免阻塞调用、JVM 调优以及精简第三方库。通过这些方法,开发者可以提高系统性能、降低资源消耗,提升用户体验并减少运营成本。
|
21天前
|
Java 开发工具 流计算
flink最新master代码编译出现Java Runtime Environment 问题
在尝试编译Flink源码时遇到Java运行时环境致命错误:EXCEPTION_ACCESS_VIOLATION。问题出现在JVM.dll+0x88212。使用的是Java 11.0.28和Java HotSpot(TM) 64-Bit Server VM。系统为Windows客户端,没有生成核心dump文件。错误日志保存在hs_err_pid39364.log和replay_pid39364.log。要解决这个问题,建议检查JDK版本兼容性,更新JDK或参照错误报告文件提交Bug至http://bugreport.java.com/bugreport/crash.jsp。
|
22天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
76 1
|
22天前
|
设计模式 Java 数据库
Java设计模式精讲:让代码更优雅、更可维护
【4月更文挑战第2天】**设计模式是解决软件设计问题的成熟方案,分为创建型、结构型和行为型。Java中的单例模式确保类仅有一个实例,工厂方法模式让子类决定实例化哪个类。适配器模式则协调不兼容接口间的合作。观察者模式实现了一对多依赖,状态变化时自动通知相关对象。学习和适当应用设计模式能提升代码质量和可维护性,但需避免过度使用。设计模式的掌握源于实践与不断学习。**
Java设计模式精讲:让代码更优雅、更可维护
|
23天前
|
SQL 设计模式 安全
Java单例模式几种写法以及代码案例拿来直接使用
Java单例模式几种写法以及代码案例拿来直接使用
31 0