Youtube上EJ Media(up主)的视频我依次学完了HTML、CSS、Javascript、Jquery。觉得他教得挺好的(短小精悍),就继续学他教的JAVA。感觉EJ教的都是些语法什么的。太复杂的没教。以及我也学过一点点python的语法。另外,大一还是大二的时候把Coursera上吴恩达的《机器学习》看了一遍,当时不懂编程所以操作题都是github上抄的,无奈,顺便学了点octave。总而言之,学习Java之前我只是会一些小小的语法罢了,总是这样浅尝辄止不行的啊。
当然不仅仅只跟着EJ Media学语法,学完语法还要学其他的,那些我就真的一无所知了。要努力啊!
隔一段时间上传一个版本(github)上,有时候会改一下前面的内容,尤其是前言(一直在改)。
注解:
想成为JAVA工程师,所以开始学JAVA。
万事开头难,还好我有点点基础。看了EJ Media 的 Java Tutorial for Beginners 01( #01 ),创建了第一个项目。一开始有点麻烦,还好没放弃。成功了。第一课学习完毕。发现还有 01之前还有00(intrudoction),看了一下,是基础介绍。加油!
上午看了会儿JAVA的介绍,大致知道JAVA是面向对象,多平台,多应用的语言。刚刚完成了EJ Media 的 Java Tutorial for Beginners 02( #02 )。这节课讲了变量种类(int,double,float,String,boolean),跟着完成了练习。
#03 第三节课讲的是数学上的运算,加减乘除什么的,没什么难度。
#04 第四节课讲的是++和–,还有计算的优先级。优先级这块听得不是很懂,不过没关系。EJ说以后还会提起。
被实习公司炒鱿鱼了。真是被逼上绝路啊哈哈哈。要是我以后成了大神,我就可以说“不是我选择了编程,是编程选择了我啊”
#05 第五节课讲了String里面有引号怎么处理,这个学过(JavaScript?)。还有把字符串变大写,indexof。这节课也很简单。毕竟编程有相同之处啊。我就喜欢这种循序渐进的,学习重在坚持,不在效率。
#06 讲了新建java包和移动类。这节课有点点糊涂,但是操作基本还原。
今天学了五课,打算睡前再看看java学习的文章,别人学的日记,经验什么的。
对了,昨天花了很长时间在Markdown和Github上了。就是把本地图片上传到Github变成在线图片。然后就在Markdown里面插入图片比较方便。本地图片的话,如果发布到其他的平台的话,上传图片好像不大方便。弄完了这个,我觉得很有用啊,上传到其他平台直接就一个Markdown文件就好了。真是提高效率的事情啊!本来看教程是在终端的,搞了半天不会。后来发现可以直接用网页版的Github啊!绕远路了。
#07 第七节课讲了if语句。感觉和以前学的Javascript差不多,就那样吧。很容易。其实语法什么的听说不用花多长时间的。所以……加快脚步。
#08 第八节课讲的是switch语句。同上。就是我现在用的IDE(是叫这个吧)是Netbeans。人家说初学用简单的notepad之类的就行了,免得IDE这种东西功能复杂,初学者会眼花缭乱。今天就眼花缭乱了。老说什么“一个或多个项目的编译错误”,我试着运行了一下,是可以的,不过既然它有提示,就一定出了问题。然后我把那些包(package)和类(class)搞了搞,理理清楚。现在已经没问题了。已上传压缩文件 MainjavaProject_2018.7.6.zip
#09 这节课讲的是for循环,有印象。刚刚敲代码的时候少敲了一个static,然后运行的时候找不到新建的类了。现在还不知道public,static,void这些是什么意思,应该跟结构有关。懒得还原了,现在能找到新的类了(forloop)
刚刚我的文本编辑器(?TextNut)突然闪退,然后打开来就只剩一行了。吓死我了。还好过了一两分钟重新打开又恢复了。吓得我赶紧把我这不成文的东西备份,先上传到github上去吧。
#10 这节课讲了while循环,有印象,敲一遍代码,pass。
哈哈哈找到Thinking in Java了。而且还有mobi版本的,感动到落泪。
#11 这节课讲的是dowhile。就是先执行(do),再循环。跟while的区别就是dowhile的话即使while()里的条件不符合也会执行一次。while的话就不执行。高中学VB的时候也讲过。
新技能get,复制 .java文件,粘贴的时候重构一下就好了。重构改文件名顺带可以把代码里的class名称一起改掉。不仅仅是完全的复制粘贴。迷之智能。
Google了一下学习Java的路线图。以下引用自Neel Neeraj A G(Quora)的回答What are the learning stages of Java?
你可以按照以下路线来学习Java :
Java 基础 - 变量, 数据类型, 操作符, 控制语句,字符串, 数组和函数。
OOP(面向对象程序设计) - 类, 对象, 构造函数, 继承, 抽象概念 , 抽象类, 接口, 多态, 函数重载, 函数覆盖。
高级概念- 进程, 线程, XML文件操作符, 集合.
数据库连接 - JDCB操作.
Windows应用的开发 - AWT, Swing.
J2EE - Servlets, JSP.
Java 框架: Spring, Hibernate.
注解:
(以下来自维基百科/菜鸟教程/简书/w3cschool)
OOP 面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。
XML 可扩展标记语言(英语:Extensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。
JDCB Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC是面向关系型数据库的。
AWT 抽象视窗工具组(Abstract Window Toolkit=AWT)是Java的平台独立的视窗系统, 图形和使用者界面器件工具包。
Swing
J2EE Java EE是一系列技术标准所组成的平台
Servlets Servlet 为创建基于 web 的应用程序提供了基于组件、独立于平台的方法,可以不受 CGI 程序的性能限制。Servlet 有权限访问所有的 Java API,包括访问企业级数据库的 JDBC API。
JSP JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。JSP文件后缀名为 *.jsp 。JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。
Java 框架 所谓的Java框架,简单理解是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。Struts、Hibernate和Spring是我们Java开发中的常用框架,他们分别针对不同的应用场景给出最合适的解决方案。
Spring Spring 框架是一个开源的 Java 平台,它为容易而快速的开发出耐用的 Java 应用程序提供了全面的基础设施。
Hibernate Hibernate是一种Java语言下的对象关系映射解决方案。它是使用GNU宽通用公共许可证发行的自由、开源的软件。
#12 这节课讲的是数组。有印象,敲了一遍。
3% Thinking in Java 看到3%。用kindle看的,kindle这点挺好的,有进度条。还是免费的。我看实体书中文版要80多,英文版没注意。我现在看的是英文版,网上有免费下载的,第四版。前3%讲的不是什么紧要的,就写著书的过程、感谢、别人的推荐什么的。话说这本书可真的够big的了。
#13 objects。 跟javascript差不多,敲了一遍。
#14 继承。 跟javascript差不多,敲了一遍。
#15 转换,包括数据和对象。敲。话说为什么字符串String不能直接转换成数字Int呢?还要搞个方法method。
4% Thinking in Java 看到4%。讲的是OOP,即面向对象程序设计(英语:Object-oriented programming)。就是说自打有了OOP,程序就变得易读了,因为每个Object都会有特定的功能,可以从object的名字上看出来。我之前以为object就是class呢。object应该是在class里的。一个class里面可以有好多个object。
#16 这节学的是构造函数(constructor)。听懂八成的感觉。不懂为什么还要特地搞个constructor,因为constructor跟class里面的内容差不多啊。
今天有点怀疑人生啊,不知道自己能不能坚持走下去。Thinking in Java书真的好厚啊!感觉前路漫漫,有很多要学的东西,不知道自己行不行。我这个人人际交往能力很差的,加之是日语专业的,我就想找个对日软件开发的工作。趁着应届生身份还能进坑,以后工作了的话,就不好转型了。离2019年春招还有7月、8月……2月,八个月。我这个人就是什么都抓,又什么都不行,其实吧20出头就特别厉害的也不多啊(不能这么想啊),要看潜力的嘛!我有考虑的工作有:出版社(工资低,要求高,北上广),画画的(感觉难糊口,不稳定),日语翻译(性格不适合的样子,临场反应差),摄影师(刚买单反,还不行呐,而且到处跑万一被拐了怎么办),养花的富婆……不说了。
#17 这节容易理解,讲个四个Access Modifier。无(限制在Package内),private(限制在class内),Public(范围不限),protected(限制在Package和子类内)敲代码的时候顺便把上节课的constuctor的概念也用上了,中间出了点小问题,不过被自己解决了。出的问题是新数据没用上,原因在于在constructor里面也要把数据之间的关系写出来,要和class里面一样。我就是class里面写了sum=num0+num1+num2;然后constructor里没写sum=num0+num1+num2,然后返回的永远是初始值,因为虽然constructor里的新数据都赋值了(num0 = A;num1 = B;num2 =C),但是sum还是原来的sum。所以constructor真是奇怪的东西啊,非得再写一遍。
5% Thinking in Java 看到5%。讲Object。讲了Object Access Modifier 和 继承。第一个今天刚刚学,但是新增了一点,即为什么要分这几个限制范围,因为要防止那些别的程序员不小心改了自己负责的内容,所以搞个界限,也方便自己修改private内容,不影响别人。第二个讲继承,概念上更加清楚了。就是两个class有相同之处,交集还是并集来着(交集吧),然后相同之处作为父类(super class)。终于看掉了一个百分点,真厉害。
6% Thinking in Java 看到6%。发现一个百分点大约是20页。话说幸亏我之前没冲动买纸质版啊,很贵的呢!电子版(mobi)虽然有点错字(5hape是shape),有的单词会连起来(feeldifficult、suchapackage之类的),排版有点莫名其妙,总体上还挺好的。这次讲的内容还是Object(继承,contain,动态储存?,回收),里面有几个概念没弄清楚,先记下来。有空的时候查一下。所谓的不求甚解嘛,要不然死钻进去,这本书怕是看不完。
问题待查询List:
#18 这节讲的是return和void,这个很好记。return 返回结果(学过),void不返回。
#19 这节讲的是static。这个以前没接触过。不过昨天看Thinking in Java的时候看到过。就是Java的储存用的是动态储存(?),没有注明static的话,就是用完即弃,扔到那个garbage什么来着里面去(我理解为就像人一样忘记了);注明static的话,就会储存这个数据。不大明白的是,他说变量(variable)和对象(object)都要加static,不过我把object那里的static去掉之后也运行成功了。我猜数据保存到variable里面了。刚刚看了一下评论说“我喜欢这样的教学。把我当成五岁小孩。”我也喜欢这种讲得很清楚的教学,它让我克服了语言的困难去学他的教程而不是中文教程。我没说中文教程不好,我只是懒得去试去挑。
7% 讲了关于Web的事情,讲服务器(server)和客户端(client),讲Web语言发展。原来的Web上传信息很慢很麻烦,现在通过Java alphet(?),脚本,Javascript从client端着手,大大提高了速度。想到了个类比。老师是server,学习委员是javascript、脚本什么的。有问题不要老是跑老师办公室去问,太慢了,有的问题在班里问问学习委员、同桌就可以了,速度就比较快。这次还讲了微软开发的.NET和C#在抢Java的饭碗。又说了Intranet,跟Internet不一样,Intranet适用于client端都是一个系统的,都是windows之类的。因其安全性,比较适合企业。看完之后觉得Java跨平台和这个一点还是不错的。差不多就这么些了,理解能力有限,有错误之处,还请指摘。
#20 继续讲了static。这次不用constructor,而是执行文件(有main的那个)里直接调用(?),object.name之类的,直接用class也行的(class.name)。
#21 讲了变量的范围(variable scope)。就是class里面的变量只能里面用(local),在class外面就不能召唤了。
8% 还是讲了关于Object的事情,讲了几种储存数据的方式,garbage collection(?自动删掉不用的变量,释放空间),又讲了reference,scope,methods之类的,有些基础的概念没怎么搞懂。不过还好这些只是概述,之后的章节会详细阐述的。就是排版,段落有的会错开的,不过看在免费的份上还是原谅吧。
__10%__昨天懒癌发作,没有完成任务。今天多看了一个百分点。讲javadoc comment什么的,不懂跟HTML有什么关系。第一章节object结束,练习题看了一下题目,没做。
#22 讲了this。
一开始没弄明白,不懂为什么一个one是79一个one是0.现在搞懂了。应该是constructor里的one被赋值之后(=79),就自动结束工作了。所以就没有返回到第二个one里面,所以就等于0,所以需要前面加个this(即this.one),叫它把79这个值返回到第二个one里。不过我不懂的是,java为什么在第一个得到值之后就停止工作(one=79),我不是调用了嘛(this2.png)
但是把one = one,变成one = one1就行了。不是应该一样的吗?刚刚在netbeans上敲了一下,上面提示“禁用自身赋值”,我觉得一般脑筋正常的人应该不会对自身赋值的吧,算了不深究了,超纲。
#23 很水的一节课。讲了default constructor。我觉得挺简单的,就你自己没创建constructor,Java帮你创建个简单的默认的constructor,复杂功能就不行了,需要自己创建个constructor,和default constructor重叠,是同一个constructor。
#24 讲了constructor和method的区别。constructor是method的一种,但是不能返回值(不能用return或void)。我觉得我还是分得挺清楚的。constructor比较系统(模型?),method是一个一个的动作。
#25 讲了super。就是当父类和子类methods名字重复的时候,如何使用父类。就是前面加个super。即,super.methodname()。很容易理解。
11% 这部分在讲operator(运算操作符?),& OR 什么的,还有什么bits之类的没搞懂,bits是什么东西啊。昨天卡在这里了,没看下去。今天也没看得十分明白。打算看看别的博客讲operator的补一下。
暑假结束后的大四上学期周一周五都没课(坐标上海or苏州),就我现在这样怎么找得到Java实习呢,得学到数据库,Spring啥的。加油吧。
#26 这节讲了super在constructor上的应用。敲了一遍。
#27 Main Method 水
#28 讲了一下Java运行的过程
#29 Methods 不知道为什么Methods用完之后class里面的变量会变呢,我以为Methods之间没关联的。跟static有关系吗
#30 Primitive and Object Reference variables. 没搞懂Object Reference variables。
12% 讲operations和conditions。把菜鸟教程的讲操作符的内容看了一下,讲得挺清楚的,因为书里的没看懂(专业术语,代码排版错乱错字)链接-菜鸟教程-Java运算符
13% 讲了循环语句,while for什么的。讲了goto,label什么的,这个没看懂。准备搜一下中文介绍资料,博客什么的。今天还把别人写的位运算看了一下,差不多懂了,原来是二进制啊。所以说这本书作为学习的框架还是不错的。
14% 讲了overriding 和 default constructor。overriding 的细节没搞懂,就是如何区分两个相同name的method(type什么的,大片代码没看进去。什么type不是一眼就能识别的么)。
看了几篇java相关的鸡汤和技术文章。明天要看到15%,补一下。
15% 讲了垃圾回收。一知半解。得补博客文章。
最近看一个公众号的文章(码农翻身),挺通俗易懂的,对于了解概念很有用。
看了些Java博客文章,Eclipse安装插件SpringBoot未果。
16% 讲了静态变量,静态constructor优先级什么的。
17% 讲了public private什么的,access。
发现新大陆!我要学CS61B啦!话说伯克利真的是造福世界啊,免费的。排版我也喜欢。还有啊CS课程好多啊!CS Course
发现一个编程刷题网站leetcode。做了一下第一题(从排序数组中删除重复项),失败了。搜了一下别人的答案,没看懂。再接再厉吧(微笑)。
16% 自己把THINKING IN JAVA转了下mobi,感觉好多了,最起码不会有那么多错字,代码格式也正常。之前看到代码自己也不敲(格式实在太乱),今天敲了一下import java.util.ArrayList的代码。不敲代码不行啊。因为你永远不知道自己会犯什么错。今天把util 敲成了uti,死活都是虚线。
//pa16 means it’s the 16% contents of THINKNG IN JAVA
package pa16;
//: access/SingleImport.java
import java.util.ArrayList;
public class SingleImport {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(“dog”);
list.add(“cat”);
list.add(“pig”);
System.out.println(list);
}
}
下载安装了mysql。
改了一下用户名。
mysql笔记:
mysql问题:
1.brew services start mysql: 这行启动mysql的代码不行,我在系统偏好设置里启动的,不过一般默认启动的所以也无所谓,我一般不关机;
mysql学习内容:
《MySQL核心技术手册》9%: 了解了MySQL的基本的语句,看起来还挺简单的。代码未敲;
mysql问题:
《MySQL核心技术手册》10%
把昨天看的部分的代码码了一半,码到6%,记录了笔记,感觉不错;
mysql问题:
今天的成果:
代码在这里,有部分遗漏
mysql学习内容:
mysql问题:
Java学习内容:
自己建一个print()和range()方法,(Thinking in Java上有代码,不全)然后range()里面有些我不知道什么概念,google几下就懂了。以及range()方法里我还“改良”了一些,很有成就感。还有要夸一夸Eclipse,出错的地方会有提示,应该怎么做,点一下有些问题就解决了,最起码也有头绪了,Eclipse的提示让我学到了很多。这样一个一个代码敲下来,Thinking in Java这本书超难啃的啊哈哈。今天敲代码、解决error,信心up up!
其他:
像我这种不喜欢跟人家讲话,觉得人际交往很麻烦的人,不学学代码就真的找不到什么比较好的工作了。拯救内向的自己,行动中……
Java学习内容:
终于学会怎么把自己建的method放到library里,之后在另一个project里import,使用之前建的method了。
[Project Buildmylibrary]—export—next—finish
[Project Test]—buildpath–add External Archives(现在只需要refresh [Reference libraries]就好了
Java学习内容:
Thinking in Java 18% 讲了Access Control,就是那些public protected private之类的,还有两种方式引用其他的class的内容(组合+ 继承)
今天敲了代码了,基础知识有待加强,那些函数什么的。
java问题:
其他:
Java学习内容:
复制了一下外国小朋友(15岁)的贪吃蛇代码,运行了一下,还没吃到小方块23333。贪吃蛇代码Github链接
我打算研究一下。我也不是非要找外国人的代码,就是一开始搜中文博客,复制粘贴下来不知道怎么运行,而且有问题啊,总是下划线,就youtube上搜教程了,对了这个15岁小朋友有一个一个小时多的看样子是保姆级的教程 Programming Snake in Java! (Full Tutorial),视频字太小暂时没看。
Java学习内容:
贪吃蛇代码有两个java文件,今天先看了一个(RenderPanel.java),然后边改边理解代码,就是改一改颜色啊什么的。今天修改注释的代码大概知道了怎么用java画图。我把背景啊什么的颜色都换成随机颜色,比较有新鲜感,但是如果“蛇”的颜色和背景颜色冲突了就会看不清,以后再说。
Java学习内容:
今天把STS、Maven下载了,创建了一个Maven项目。现在体会到Homebrew的好处了,下载东西真的方便。创建一个Maven项目的教程我觉得这个教程不错,虽然不大清楚他在干嘛,但是我一路复制粘贴下来也运行成功了。完整的教程是这个Spring Boot - Hello world example一共有8个步骤。
Step 1 - Maven project (创建Maven项目) ----------------------------------------------------------------------------------------------已完成
Step 2 - Jar dependencies (创建Jar 依赖?) -------------------------------------------------------------------------------------------已完成
Step 3 - Controller class (创建控制类?) ----------------------------------------------------------------------------------------------已完成
Step 4 - Main class (创建主类) ---------------------------------------------------------------------------------------------------------已完成
Step 5 - Project structure (创建项目框架) ----------------------------------------------------------------------------------------------已完成
Step 6 - Run application (运行应用) ----------------------------------------------------------------------------------------------------已完成
Step 7 - Packaging Spring Boot application as an executable jar (把这个Spring Boot应用 打包成一个可执行jar) ---------------已完成
Step 8 - Running executable jar from command line (从命令行运行该可执行jar) ---------------------------------------------------已完成
我也搞出个Hello Spring Boot!!啦!
Java学习笔记:
今天搞了搞服务器啥的,免费一个月阿里云主机 & 免费一年Freenom域名。今天把FTP连接好了,就是FTP客户端连接没成功。我那个域名也PING成功了。
起因是要搞个微信小程序玩玩的,可惜还要备案什么的,好麻烦。以后再说吧
参考文章*
使用免费域名快速搭建网站 一 (域名和服务器篇);
阿里云的ecs服务器,创建ftp站点死于 fileZilla;
阿里云ECS 实例常用端口介绍;
使用DNSPod解析Freenom域名;
今天看了些关于Spring关于Java的博客文章,感觉前路漫漫。做了一下Spring的第二个教程。以及阿里云那个服务器死活连不上ftp,网站上的远程登录倒是可以的。已在服务器安装ftp了。安全组也设置了,好烦,不弄了。
今天学习量少,看了几篇讲Java IO的文章。
看了几篇讲CLASSPATH的文章,懂了。Eclipse不用自己写CLASSPATH(但会自动生成一个CLASSPATH文件),命令行需要设置CLASSPATH,要不然编译器找不到你的Jar(自己创的库)。看了一篇讲ENUM枚举的,没大搞懂。
看了几篇讲多态,Java编译过程结构的文章。搞懂了父类引用子类对象,就是animal a = new Cat()。有几篇文章写得挺好的。什么时候要把java.lang这些基本的Api(?)看一下。
看了几篇讲内部类的文章
今天做得不错,把之前不懂的知识点温故了一遍。看的时间也长些。感觉有了点信心。今晚看了点Annotations,没大搞懂。
看到一篇我居然都能看懂的英文文章,讲annotations的Java Annotations tutorial with examples把他的其他文章也下载了看。
同上
试一下MacDown编辑Markdown文章,目前感觉不错。
Variable Type | Explain |
---|---|
static variable: | 变量名前有static的,在class里 |
instance variable: | 变量名前没有 static的,在class里 |
local variable: | 在method里,外界无法访问 |
参考文章Variables in Java
把LeetCode第一题(从排序数组中删除重复项)做好了。我把题目改成“换成新数组”了,我觉得原题得出新数组的长度没什么意思。看了一下stackoverflow上的,代码比较短,用的java.util.Set。没搞懂,运行出来了。
搞了会儿数组,敲了会儿代码,打算明天弄一下上面在这个(从排序数组中删除重复项),琢磨一下别人的代码;
终于把从排序数组中删除重复项这道题做好了,也不要改题目了,单求新数组长度容易的,但是没有删除重复数据的话,无法得到新数组,原题输出是数组格式(即,新数组)。跟网上看到的什么快慢指针不一样,我看不懂什么快慢指针。反正我的代码也运行出来了。
反正我的Leetcode的代码都放在这里了
这几天被《大明宫词》迷住了,没怎么学习;
前几天做了那个买卖股票的最佳时机 II,挺简单的,第一次接触一个叫‘贪心算法’的;
今天做了两题(leetcode):旋转数组&存在重复;旋转数组leetcode上运行出来和eclipse上不一样,不管了。存在重复这题做了很久,不过我没参考答案,两个for循环,j和i还有关系(i=j+1)。成就感满满。
导入外部jar包。今天用的是 org.apache.commons.lang3.ArrayUtils ,用来添加减少数组中的元素听不错。然后把leetcode上“从排序数组中删除重复项”重新做了一遍,leetcode上好像不能import,反正我在eclipse上运行出来了,感觉不错。
死于 leetcode“只出现一次的数字”,有思路,就是不知道怎么把思路转换为代码。假设第一对相等,数字是3(即有两个3),之后如果有相等的话,都把3带入。假设原数组为{2,1,2,1,4,4,9,3,3},到最后就是{2,2,2,2,2,2,9,2,2}了,然后删除重复。死于第一步,不知道怎么得出第一对的值。应该是关于break和continue。
把break、continue、label的基础运作搞清楚了。leetcode那道题还是不会。
原来leetcode那道题(只出现一次的数字)要用到异或的概念,用异或的话代码看起来很简洁,也很容易理解。就是相同的数字异或会被抵消,只剩一个只出现一次的数字。异或每个数字只能出现一次,不能有重复,重复数字会被抵消
顺便接触了junit,junit应该是用来测试的吧,true就是运行正确,@test写在method前面,表示测试哪个,junit那个run类,除了需要测试的method名字要改一下,其他的不用改,要import什么根据eclipse提示来好了。
知道了foreach,这个的确很方便,节省代码;
想用异或修改一下MySolution3(数组中存在重复)的,结果当数组中没有元素的时候,行不通,其他还好,明天再试试。
MySolution3(数组中存在重复)通过,不用异或,看了一眼别人的,人家用的Arrays.sort(nums),先把数组排序,再使用一个循环,我之前用了两个循环,所以超时了。
接触hashset。突然觉得还是刷题学java比较好,遇到不懂的再学;
leetcode“加一”的代码没写好
leetcode“加一”的代码差不多要好了,就是边界哪里有点问题
leetcode“加一”这道题真是搞死人,好不容易做出来了,eclipse上我自己搞了些数组,都成功了,测试数组【1,2,3】也变成【1,2,4】了,leetcode上居然是编译错误,也没提示哪里编译错误,算了,暂且当这道题过了吧。
leetcode“移动零”,差不多算是好了,就是当数组里根本没有零的时候,也移动了数的顺序。额。熟悉了一下hasNext,获取用户输入的信息。
把之前的“旋转数组”改了一下,语句变简洁了,但是leetcode和eclipse上的结果还是不一样,可能leetcode比较严格吧。
看看别人的代码怎么做leetcode的。简洁多了
看了几篇英文的文章,讲ArrayList和List的区别,还有ParallelSort。英文的读起来也不大吃力,而且我觉得讲得很容易懂。尝试安装Tomcat失败,无法访问8080
以后还是刷题吧,中秋这几天一点也没看java的文章,明明下载了很多到kindle上的。今天刷了leetcode的(两数之和),没想到居然凭自己真本事通过了,好像是头一次。好开心!下一题是数独,char什么的还不懂
了解了一点点char[][]
不大会搞,2d Array 怎么把列也从小到大排序,或者其他的方法判断存在重复
有效的数独,默写网上的code过程中,九格那里我自己又想出来方法了,网上那个余数除法有点难懂。自己写的那个四重循环我觉得还挺易懂的。老是抄人家的不甘心啊。不过现在稍微弄懂了那个余数除法的。行用整除(\),列用余数。比如第三行第四列,行为整除为3,列为余数为4,不过鉴于计算机起始数字为【0】,所以行为整除为2,列为余数为3.
旋转图像,大体上的代码都弄好了,就是旋转起来有个数字会被新的数字替代,即被赋值两次。
看了答案,四个数字一循环,循环两次,不知道第二次循环怎么搞的,那个j和i。这题跳过吧
name | age |
---|---|
LearnShare | 12 |
Mike | 32 |