将Java的入门基础知识贯穿在简单易懂的实例中,写代码闯关,名师指导,逐步深入,帮助你快速进入Java编程的世界!更加体系化地学习Java开发请参考Java Web实战课程,可参考天码营学员的成长和作品。为了巩固Java编程基础,你也可以尝试Java贪吃蛇游戏的编程练习。
将Java的入门基础知识贯穿在简单易懂的实例中,写代码闯关,名师指导,逐步深入,帮助你快速进入Java编程的世界!更加体系化地学习Java开发请参考Java Web实战课程,可参考天码营学员的成长和作品。为了巩固Java编程基础,你也可以尝试Java贪吃蛇游戏的编程练习。
导师来自北京大学计算机专业的老师和业界一流的工程师,帮助你快速成长
导师们最大的烦恼就是每天各路公司求他们推荐程序员,快到碗里来
图文、代码与视频有机结合的实战课程内容,打造真实的项目,最佳实践一网打尽
随时随地在线学习,记录完整的学习过程与轨迹,沉淀终生受益的代码和内容
进阶Java教程请见:
登录发表评论 登录 注册
你好,请问你们这个网站还在运营吗?好像到处都找不到人了
交了费为啥就用不了实战任务了
双精度浮点类变量
花了999购买的
Java Web全栈开发实战课程
为什么只能学习一门
Java入门基础教程
????
我也想知道
方法的返回值不属于方法的签名
###
哪里有所有的答案,很多做出来了还是提交失败,非常费时间,而且根本无法进入下一课
我已经实现了接口但是提交不能通过,如何初始化ConcurrentHashMap
浏览器flash版本低,换个高版本试试
同样的问题 您这解决了吗
为什么main方法要用static修饰,运行的时候才能run as java application,否则报错
这三种方式有什么区别呢?
运行之后出现这个东西
请问什么是double类型的变量
read作用是返回字节流的十进制整数他这里讲得很不全
public abstract class TelePhone{
public abstract void call();
public abstract void message();
}
public class CellPhone extends TelePhone{
public void call() {
System.out.println("我可以打电话!");
}
public void message() {
System.out.println("我可以发短信!");
}
public static void main(String[] args) {
CellPhone cp = new CellPhone();
cp.call();
cp.message();
}
}
以上一段代码编译报错 实在不知道哪里出了问题
老师,请问您推荐哪个工具写代码呢?是myeclipse还是idea呀?
file这一节中,第一段代码中的第二句,注释有误
File file = new File("D:/java","input.txt"); //文件位于/home/user目录下
应该为“位于D:/java”目录下
字节流这一节,代码上方的有错误
下面的代码通过
FileInoutStream
和FileOutputStream
来完成文件内容的拷贝:FileInoutStream
写错了麻烦老师通过qq:917496009的加群申请,头像是一只荡秋千的狗子,qq昵称是:我也不知道叫啥;已经购买了Java的基础课,谢谢
高位是什么 ,是指从左到右 例如 0000 1111的第一个0吗?
卡在包裝類了 無法很好理解
方法的返回值和参数构成了方法的签名。应该是方法名和参数
13课实战弄不明白
在VS code 上写的,在 debug console 显示「错误: 找不到或无法加载主类 HelloWorld」;
但是在 terminal 上使用 javac 和 java 可以正常创建 HelloWorld.class 和调用「HelloWorld」类。
目录如下,项目通过 maven 插件创建,显示 HelloWorld.java isn't on the classpath.....
教程内容里的视频无法在浏览器中播放,而是自动跳转到迅雷去下载视频,怎么解决?
15章的实战任务中 如何实现在处理
create
命令时,直接抛出BlogAppException
异常?? 我在实战任务的代码中无法提问不知道怎么回事在”创建和使用代码“这一节,建议在给出代码时加一句提示:使用该代码前需先定义成员变量和成员方法。因为在实际操作中,新手可能直接复制代码导致无法运行。
a的平方a^2中的 “^” 与位异或运算符“^” 是一样的嘛?
综合实例有参考代码嘛?
foreach循环
无法进行下去了
我之前遇到过,现在解决了。 方法是自己去eclipse的官网下载最新的eclipse,不要跟着网上给的链接。 然后就可以运行。
我也是这个问题...
public static void remove(long id) { for (Post post: posts) { if (post.getId() == id) { posts.remove(post); return; } } }
这个remove方法怎么删除的?
为什么不是post.remove();
第19课,课后练习,总是报错我不满足 delete 和 show的实现。
但是功能,我应该都实现了,麻烦老师看下,哪里有问题。
为什么总弹迅雷!!!
打开终端(Terminal),执行任务 但是打开了Tdrminal在哪里执行任务啊
一定要安装JDK吗?如果安装了eclipse,还有必要安装JDK吗?
下面的代码通过
FileInoutStream
和FileOutputStream
来完成文件内容的拷贝:这里
FileInoutStream
应该是FileInputStream ??
一定要安装JDK吗?如果安装了eclipse,还有必要安装JDK吗?
安装的时候报错。An error has occurred. see the log file D:\java\.metadata\.log.
这个JRE怎么配置的,都是波浪线
为什么这段代码输入后打印两遍?我实在有点懵,请高手详解,谢谢
public static void main(String args[ ])
public static void main(String[ ] args)
有什么区别
空格后接 -version
请问作业中的“设置输入”是怎么用的?
第4课第4题,需要输入信息,但没有看到可以输入信息的地方,导致程序走不下去,提交不了。求解!谢谢!
兄弟,这个你做出来了么?我现在还是没弄出来。
System.out.println(car.color)和System.out.println(color)有区别吗?不都是一个color吗?因为这个方法里面已经定义了一个color啊?
public final static String DEAFUTL_TITLE = "这是一篇天码营的博客";
和
public static final int getCount(){
final写在 static的前后是不是有区别?
12课好多东西都没解释清楚....连个注释都不打了....=-=
《java集合 实战练习》有没有大神可以给我讲讲“搜索字符串并返回博客内容”的代码呀。。一直过不去好闹心。。。
第13章的 实战任务,我已经定义了 setId 的方法,但还是会报没有定义,这是为什么?
只有我自己不知道在bin目录下会自动生成class文件,就不用补充说明里的javac HelloWorld.java了吗……
怎么就第一章有声音后面没声音了呢
看到最后很没意思。那个构架引入后,又不表明怎么用,直接一堆片段,好吧,大概也知道,最后发现这些片段对应那个类,那个接口都没有描述,只是简单陈述后,就直接晒出片段,好像我们读了前面那些基础,就成了高手似的,设计模式,说是会了也不应该连片段方法作用何处都不提示下把?教程开始沉迷到了自己的境界还是需要收费模式了?别浪费大家时间,友好的开始请友好的结束,大家都好。要收费请直说,别玩手段。
你的教程再有套路,新的学员,学了后不愿意分享,则一点互联网价值都不会有。顶多就是一个坑。
同求,试了很多方法都不行。
很烦躁!
是不是少了up
for循环里的例子简化看不懂。。
是不是目前还没必要深究
诶,突然发现,是不是 for each 的感觉?
是java -version
这个java-version命令一直显示这个错误是没装好嘛?
为什么视频不能在线看?
参考下面的代码,可以理解equals()和== 的区别:前者是比较是值相等,后者是比较地址相等。
Integer number = new Integer(123);
不是啊,很帅的周杰伦,很帅是修饰符,周杰伦是标识符
F2f
你好,请问下视频图中的这个操作我如何实现了,我是win7系统,打开后没有这个黑色的按钮
public void setId(Long id) {
this.id = id;
}
这个方法中的Long 可以换成 long吗?
Integer 类应该怎么使用?
假设:
像这样 :
将常量 123 赋给 number 是自动转换成 Integer 对象的吗?
实战任务提交了没反应,而且下节课解锁不了,怎么解决,急!!!
谁能帮忙解决一下,实战任务一直在“正在载入”界面???急!谢谢!
创建和使用类 这课 谁有答案,不会写了,麻烦发出来参考一下
收不到激活邮件啊,给admin@tianmaying.com发了邮件也没反应
不要下载jdk9 下1.8.X的
WIn10系统怎么解决控制台之后的操作
定义好这个类的属性和方法就可以了
这章讲File类的创建文件的create()方法写错了吧应该是createNewFile()吧 >_<
String[] sentences = {"hello", "thank u", "thank u very much"};
for (String sentence : sentences) {
System.out.println(sentence);
}
这是什么写法啊?
123.f 什么意思
我也是mac 没有显示控制台
安装Java8,这是个Eclipse的Bug
急!又能解决的吗,打不开eclipse了
搞笑的吧
请问课后习题答案在哪儿
老师, Win系统最后一步javac 怎么操作?
Mac os系统下载的为什么是php文件
请问这是什么原因啊?
用记事本打开直接写在最下面一行,不过能打开eclipse也不能测试代码,还是下一个java8吧
声明成
static
的方法有几条限制:仅能调用其他的
static
方法。只能访问
static
数据。不能以任何方式引用
this
或super
这里main方法也是声明成static的方法,为什么可以使用不是static的方法呢?
同学,你好。我也遇到跟你一样的情况,麻烦问下你是怎么解决的?我也用的是mac。。
为什么需要这行代码?不需要可以吗?
public static void main(String[] args)
为什么main函数一定要有一个String[] args形参?没有不可以吗
请问最终目的是进行hadoop 和spark开发, 需要重点关注java的哪些内容?
在类的成员变量里,定义了这样一个静态常量
for (Post post : PostRepositoryByList.instance().getAll()) { String fileName = Long.toString(post.getId()) + SEPARATOR + post.getTitle(); try { FileUtils.write(new File(FOLDER + File.separator + fileName), post.getContent()); }
这里的SEPARATOR不需要定义和赋值的吗?直接识别成“---”?
关于javac 不能运行的问题我已经和老师沟通过了,解决法案如下
删除JDK9 重新下载JDK 8, 按照教程重新设置环境变量
在CMD中输入javac即可运行
输入java -version 可能会出现Error: could not find java.dll
解决方案:将PATH里的%JAVA_HOME%\bin调整到最前面即可
我也是出现这样的情况,然后我的解决方法是把java 9.0降级到1.8,具体降级方法:删除/Library/Java/JavaVirtualMachines/jdk9.0,然后再重新安装java 1.8,done.
在选择了一个目录为工作空间的时候,出现了这个,怎么办?
Eclipse的这个Bug确实很烦人
我是mac,贴吧上说”在eclipse.ini(eclipse的解压目录下)添加一行--add-modules=ALL-SYSTEM“ 怎么弄呢
验证不成功按照教程做的。
这里应该是后缀啊
各位大佬怎么搞
构造器也可以使用
public
和priavate
修饰这里private拼错了,请修改
课后作业答案哪里找?
前面 6 节课的作业都完成了,为啥没解锁第 7 节课的作业
卡在包装类了
类名.属性
的方式访问静态变量count
的代码中没有体现,可以详细讲解一下吗?
定义了接口和方法,方法没有使用修饰public
但在类中实现方法为什么必须使用public关键字,不是用关键字public就会报错
我就是按照教程上说得来的,为什么javac运行不了?
这节课作业解答里的排序不是冒泡吧,不是比较相邻元素吗
老师 怎样不修改那两句代码又可以转换成double类型??
老师,请教下第四章的实战练习大概是怎么个做法? 我没明白意思。
调用构造器这里可以在一个类中定义三个构造器,这样可以很清晰的区分调用的是哪一个构造器
this(title);
这一行代码表示调用第一个构造器。不同构造器是以参数来区分的,this(title) 表示调用参数为title的构造器
为什么第九章的作业老是通过不了啊 可以打印出来但是提交不了
是的,付费会员可以在线练习,老师答疑
请问是不是需要购买课程后才能有作业
第九章的作业咋回事啊

一样,点啥都是500错误
我也打不开。
点课程显示500天码营出错
完全按照PostRepository写的,但import com.tianmaying.domain.Post;和ArrayList<Post>两处会报错,而且我也不是很明白为什么要加import com.tianmaying.domain Post这句?
想不通,后来就改了改索性引用java.utill.*;了
都可以的,你学到数组就明白了.但是建议用String[] args.
public static void main(String args[])throws IOException{
这里为什么是(String args[])而不是(String[] args)呢?
String[] sentences = {"hello", "thank u", "thank u very much"};
for (String sentence : sentences) {
System.out.println(sentence);
}
String[] sentences = {"hello", "thank u", "thank u very much"};
for (int index = 0; index < sentences.length; index++) {
System.out.println(sentences[index]);
}
谁能解释一下第一段程序,两段是一个意思
为什么Eclipse的下载总是失败(32bit)
你换个浏览器试试,chrome或者ff
广场里只能手打不能粘贴吗 唉 好麻烦啊
教程里面的视频为什么昨天还可以打开 今天又说不支持格式了 最开始说不支持格式 然后我装了暴风影音 当时可以用了 过了一天又提示这个了
第六章的实战 变为switch语句怎么变啊很难受
粘帖什么? 换个浏览器试试
怎么不能粘贴
这里为什么要抛出异常?
这样会混淆视听吧,建议删除掉因为没有异常可以抛出.
public static void main(String[] args) throws Exception {
多谢
基本类型之间的自动转换关系在哪??我怎么看不到呢。。。
下载jdk-9结果用eclipse打开时老是出现“an error has occured”。后来参考贴吧链接解决
String str2 = str1.replace("abc", "x");
最后面的这里要传参的
Car car = new Car()
方法的返回和参数
public static void main(String args)
这里少一个方括号[]
大家好,问一下 ,我安装的JDK9是否无法安装eclipce?下载到的eclipce都只支持JDK 1.8?
新来的小白,安装eclipce一直失败提示查看log,可是我环境什么都都按照弄好了,试了几次都不行。
下面的代码通过
FileInoutStream
和FileOutputStream
来完成文件内容的拷贝这里应该是FileInputStream
如何创建这个Post类?
刚来的小新,现在的是jaca se development kit 9,请教一下环境变量怎么设置
边看教程边做练习,写代码帮助理解
请问为什么后面的课程都没有视频啊,没讲解,好多看不懂啊


看得非常仔细
修饰符和标示符是一个意思吗?
定义i = 1;
定义sum = 0;
当i <= 100;执行以下操作{
sum = sum + i;
i = i + 1;
}
下面这种方式是一种错误的方式:
if (str == "abcd") { }
============
以上语句我测试怎么这个也是正确的呢?
不可以,已经修改了
public static void main(String[] args) throws Exception { Class<?> clazz = Class.forName("com.tianmaying.ReflectionTest"); // 定义一个私有方法,可以通过反射获取该方法的相关信息 private void test(int a) { } mian方法中可以嵌套方法么?
不用这个的话有没什么办法可以解决呢
为什么下载软件时会出现这种情况?
这里Eclipse帮我们调用了JDK的工具对程序进行了编译和执行。事实上我们也可以在任何文本编辑器中编写这个程序,然后直接在命令行中编辑和执行程序。
➜ javac HelloWorld.java ➜ java HelloWorld Hello 天码营!
这段的意思不明白
第三件事情想不来了
好吧,就两件事情。 ps:提问的话也可以在专属的答疑区和代码区提问哈~~~
编写Java程序,简言之就是三件事情:
第三件事是什么?
因人而异啊,很多有编程基础学全栈开发的同学,一两天就搞定了,不过一般情况下都是一天过一关或者两关的吧
请问这个教程最快多长时间通关呀
cool!
这时我们只能讲
area()
声明为abstract
的这里应该是“只能将”。@Toder
Retangle
应该是Rectangle吧。代码里也写错了。@Toder
大家勘误能力好强啊~~
同学你看得真细心哪~
拼错了。
成功啦
。记录的话,可以用笔记功能啊。
记录一下。
老师好,我这样算成功了吗?
String str1 = " abc " String str2 = str1.trim();
第一行没有以;结尾
String str1 = "abcabcabcxyz" String str2 = str1.replace("abc", "x");
第一行没有以;结尾
boolean equals((Object anObject)
这里equals后面多了个(
这里str2后面少了个)
好仔细
加上啦
Engine engine = new Engine(180)
后面少了个;
"run with speed"
应该在speed后面加个空格,不然打印出来数值和speed连在一起了。
String str2 = str1 + "def";
是在str1 += "def"; 之前的,也就是说第二行的str1还只是abc
按顺序结构来输出语句啊... String str2="abc"+"def" 不就是“abcdef”吗
是的,是一个数组,是所有接口类构成的数组
Class<?> intes[] = clazz.getInterfaces();
这个 intes[] 是一个数组吗? 不理解在 Class<?> 后面不是要接一个对象名吗?
str2为什么也所指向的字符串内容也是abcdef,我的理解是str2=abcdefdef
没有定义对应的成员变量。
可以这么认为
“==”作为关系运算符只用来比较对象的引用 即是 比较对象的地址吗?
为什么不同类型的数据进行运算,会自动转换为“更高级别”的类型
如果说一个人是一个类,一个人有眼镜和鼻子,眼镜和鼻子就是人的成员变量。 @958911753
变量和局部变量呢
除了改語言,沒有解決方案了嗎。電腦因為某些原因不能改。已經到第五節了
改简体语言哪~
繁體字,編譯報錯怎麼辦,電腦系統是繁體語言。我把漢字改數字就能編譯與執行。
window-> reset perspective
我一不小心把Eelipse的东西全删了,成了一个白板,救救我啊
我按照教程安装了JDK,cmd输入java -version 也正确显示。
我下载了Eclipse,写了HelloWorld也运行成功。
但是在cmd中执行javac HelloWorld.java时显示'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件,麻烦请教一下,这是怎么回事?
谢谢!
我试试,3Q
换个浏览器试试?
请问,每次看视频,一快进视频就会闪退,是什么问题?
ok, 明白了,要把public class Post那一段新建一个类。谢谢。
@lcgogo 你没有创建Post类吧
public class HelloWorld {
public static void main(String[] args) {
Post post = new Post(); // 创建博客对象
post.title = "天码营的博客"; // 访问对象属性
post.content = "这是我的第一篇博客"; // 访问对象属性
post.print(); // 调用对象方法
}
}
我一运行就报错
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Post cannot be resolved to a type
Post cannot be resolved to a type
at Helloworld.main(Helloworld.java:22)
这是为什么?
通过IDE可以帮你自动生成。但是初学时,还是自己手动输入比较好。
把main函数里的代码替换掉原来main函数中的代码就行。
返回-1 表示达到文件结尾,只能-1
那应该如来来存储呢?
这句厉害了我的哥。如来,
// 调用构造函数 user = (User) cons[0].newInstance("tianmaying"); System.out.println(user); // 调用另一个构造函数 user = (User) cons[1].newInstance(20, "tianmaying"); System.out.println(user); 这里会报错,修改成下面这种就不会报错了 cons[0] ... (0,"tianmaying") cons[0] ... (20,"tianmaying")
16课,文件的输入输出 这一节 最后的输出什么意思? 输出结果为 “ ( 2 ” 是个什么东西?
public static void main(String[] args) {}这个需要手动输入吗,不是创建完class后自动生成的吗?
-1是什么意思?-2,-3,-4都可以吗?1,2,3,...也可以吗?还是只能-1
另外这一段代码应该用在什么地方?
HelloWorld这个class中,不是已经有以下的代码了吗?
多谢解答~
按照这个指导创建Post类,但有报错信息。请问要如何处理?
报错信息如下:
作业问题在答疑区或者代码区提问哈
谢谢勘误

这不是错误,是一个警告,没什么问题。
修改过来了,谢谢提醒!
进入控制台,同时更换控制台的工作目录到当前目录。这是mac下的功能。
如果
Driver
类放在另外一个包中,则上面的代码会发生变异错误。 这里错别字 ,编译我是win7系统,视频中2:16处鼠标点了下那个黑色的文件夹,是什么意思?
JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器。
JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台,所有的Java程序都要在JRE下才能运行。
JVM是JRE的一部分,Java虚拟机的主要工作是将Java字节码(通过Java程序编译得到)映射到本地的 CPU 的指令集或 OS 的系统调用。JVM回根据不同的操作系统使用不同的JVM映射规则,从而使得Java平台与操作系统无关,实现了跨平台的特性性。
为什么创建对象错误?
我们再举一个例子,我们定义一个容器类
Conatainer
,这个容器中可以存放各种类型的对象,可以使用泛型类实现这一特性。Container 不应该是 Conatainer 吧
/**
* 删除特定Id的博客
* @param id
*/
public static void remove(long id) {
// your code here
for(Post post:posts){
if(post.getId() == id){
posts.remove(post);
return;
}
}
}
这里面return是结束当前if,回到循环语句的意思吗,不用return的话为什么会出错;
@David
post和posts都是引用类型的变量
Post是类
一般一个Post对象这样定义:
而数组或者容器集合,变量一般命名为复数形式,如
比如:
局部变量
engine
和car
的成员变量engine
(通过构造函数初始化)指向了同一个对象第12课里面的 post posts Post具体指的是什么啊?看的有点晕了。。
读取文件不对
引用类型的实参传入方法中时,是将对象的引用传入,而非对象本身。因此,在方法执行时,实参和形参会引用到同一个对象。
这句话理解起来不是很清楚,能否举个例子...
@Toder
哈哈,同感!
@codegod 已经按照你的建议做了修改了
这个建议不错!
我认为网站右下角的实战任务应该取消.只保留下一节,到课程最后一节只保留实战任务.这样就不会发生误点状态.
地球最强IDEA代码格式化快捷键是:crtl+alt+L.
Java编程环境与Java运行环境的基本概念
Java平台官方文档
英语对编程的学习非常重要。
1.我发现这个王同学自己录制的视频看不了。我用chrome开发者工具,查看了是视频是托管在阿里云OSS,找到视频地址下载本地查看了。2.
打开 【控制面板】 -> 【所有控制面板项】 -> 【系统】 可以看到你的机器是32位还是64位。
这个win的快捷键是WIN+PAUSE BREAK3.classpath 在java 1.5版本之后不需要配置也可以用。我把链接加上了,你可以点击进去看一下
请问三个神器是啥?
哈哈,抱歉,广场上的讨论不定期在关注。不像答疑会通知到老师们,所以老师们的答疑会比较及时。
现在看到回复的我眼泪掉下来
final的知识在封装这一节中讲了
谢谢哦
原因应该是switch内部的break只能跳出switch,不能跳出外部的循环。
第六课第一道练习题改成switch分支后总是编译不过,说跳出不循环,请问有遇到这样问题的同学吗?
为什么安装完之后软件不见啦
问老师哪
问老师哪
作业不会做怎么办
可以通过调用
final
修饰的方法来进行赋值,但是没有说明final的作用,希望能加进去
声音好听呦
谢谢如此速度的回复,我对这个有疑问就去搜索了一下。参考链接1,参考链接2。照着这两个链接,如果可以的话,将示例代码调整为如下这个样子,可能会更方便初学者理解。将来在更复杂的构造器中,也会比较易读易维护。
当然,如果照着链接2例子中那样,加上默认赋值,将会更清晰了。
个人见解,仅供参考。另外,谢谢如此免费美观的教程!
是的!修改过来了,谢谢~~
课程里有对应知识点的讲解哪,再看看教程
this(title);
代码应该是调用第一个构造器吧?作业难度跳跃好大
为什么这样
为什么会这样
第三件事情在下一课讲。
应该是:“构造器或者构造函数”
三件事..怎么只写了两件..
还有构造方法后面 也称构造器或者构造器?。。。
声明可以是ArrayList<Integer>
也可以是List<Integer>
不过一般声明为List<Integer>,可以了解一下后面讲的接口的概念。
直观的想,声明为List<Integer>,你也可以使用LinkList,即:
List<Interger> list = new LinkedList<Integer>();
难道不是ArrayList<Integer>吗?
最后一节最后一句“与泛型类的是”应该是“与泛型类不同的是”吧?
这句话能举个具体的例子吗?不太知道尖括号放在哪里。
Post post = new Post();
//这里一直出错
都复制粘贴直接在eclipse里都一样
怎么打开参考代码?用什么软件打开?
Integer in = new Integer(100); // 将int转换为包装类 int m = in.intValue(); // 获取Interger的int值 String s = “123”; int n = Integer.parseInt(s); // 将字符串转换为整数 String s2 = Interger.toString(n); // 将整数转换为字符串
没看懂,啥意思啊
嗯嗯,懂了。因为是浮点类型。谢谢你呀
123. 就是 123.0
对于float定义不是特别清楚,为什么介绍float的时候给出的例子里面是123.f,然后类型转换给出的介绍说直接在后面直接加上f或者F,并没有提到小数点。希望可以解释一下。谢谢。
我也是,包装类下面的代码写的是啥啊。。
我去,这作业怎么做?
请问这里为什么到-1循环就停了?字节流的话c不是全是0和1么,永远不会等于-1吧?
逻辑短路 这个链接404了
以int移位为例,移n位的话,如果n < 0, 会移动 n % 32 + 32 位。
你好,我想请问一下这里的右移运算符中说明的“操作的值的正负性”问题。请问一下这个操作的值具体指的是x >> 2中的这个2吗?就是说可以有x>> -2的表达方式??
你没有重新javac
注意你的是Helloworld,不是HelloWorld
为什么代码我输入上次就是错误的,复制上去就是对的?求指导
谢谢提醒,加了一个左括号
6程序的控制流的break的那段代码右括号多了一个
没有时间限制
@枫£逝
课程购买了有时间限制吗,还是买了以后想什么时候看都行
@564778568 @阿弗莱克 谢谢你们的提醒,修改过来了。
这是笔误吧。
public Container<T>() { variable = null; }
构造器貌似不能带<T>啊 会报错
这里报错
你肯定多次调用了创建Scanner的方法。
哈,太仔细了,赞!
笔误,谢谢提出,已经修改
Point<T>
Point<Double, Double> point2 = new Point<Double, Double>();
这里面不是只有一个类型T吗? 为什么new他时候传2个Double进去?
14章作业我提交是这样的:
try{
throw new BlogAppException("create");
} catch (BlogAppException e){
e.printStackTrace();
return;
} finally {
scanner.close();
}
}
为啥总是报错么? 说scanner没有close
哪里可以看到?我的代码还是继续出错呢。。。
void startup() { System.out.println(“启动!”); }
这里的双引号用的是中文。。。
@Toder 您好,可以把管理博客的完整代码分享一下吗?自己写的一直卡在这个错误上:
Exception in thread "main" java.lang.IllegalStateException: Scanner closed
at java.util.Scanner.ensureOpen(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at com.tianmaying.BlogApp.main(BlogApp.java:32)
百度、Google好久没找到答案
这里直接使用了一个第三方库,屏蔽了文件操作的底层细节。
@Toder 我仔细看了2遍,但是从文件加载博客信息、将博客信息保存文件部分涉及到文件操作的不太清楚,就是卡在那里
。希望作者可以讲清楚点谢谢
@prayer123321 哪个知识点需要进一步讲清楚可以提出来,我们可以增加:)
好乱啊 这个博客应用知识点还有很多细节没讲到,感觉仅仅通过上面的知识做出来还有点困难啊
换了个浏览器解决了视频播放和代码上传的问题。打扰了!
我安装的TMOCAT没有正常运行?
14 章的实战为什么答案已经给出?
那么这种情况下 blog 和 blogB 可以使用 euqals() 方法来比较吗?如果可以的话,比较的是什么?
返回为true,因为它们指向同一个对象。
吼娃 非常吼
@stetina 更新教程了,这里有你要的Debug功能
例子
最后的代码 class Retangle { ... public double area() { return width * height; } }
是不是应该改成 class Rectangle extends Graph {
这里的PostRepository 是一个类,可不可以改成接口来实现?
Eclipse下载是免费的。
eclipse下载还要付费吗?
这是个 好建议!
这课可以教一下怎么加和用断点吗
public class HelloWorld { public static void main(String[] args) { Post post = new Post(); // 创建博客对象 post.title = "天码营的博客"; // 访问对象属性 post.content = "这是我的第一篇博客"; // 访问对象属性 post.print(); // 调用对象方法 } } 课程中这段代码缺少对title和content的变量声明,根本无法执行啊
莫忘分号
这么写是错的吧?
这边eclipse报错:Syntax error on token "posts", VariableDeclaratorId expected after this token。
应该写:
private static ArrayList<Post> posts = new ArrayList<Post>();
private static posts = new ArrayList<Post>();
谢谢!因为这里在讲自定义异常,我以为会用到bar()。
foo()出错就会跳到catch中去了。写在这是为了不出错的时候执行哪~
try { foo(); bar(); }
这里foo()如果报错了,bar()就不会执行了,是吗?那我不明白这里写的bar()有什么用。
请问是哪三个神器?
第8课的作业是什么意思?一直无法通过,代码在eclipse里面可以运行呀。。。以及参考代码里面根本没有内容。。。
Windows 64-bit的下载不了呢,怎么办
liaowugangdeMacBook-Pro:tianmaying liaowugang$ java HelloWorld
错误: 找不到或无法加载主类 HelloWorld
liaowugangdeMacBook-Pro:tianmaying
这个怎么处理啊 我在eclipse 上运行没问题 在终端就不行了
原来测试不通过可以点击看详情的提示。。之前完全不知道可以点开
希望这点能改进 我做到cpt15之前不知道,有了这个提示想要提交通过简单多了
为什么我Run As>之后没有Java Application选项啊
11课看起来好抽象。。难以理解。。
这节课的作业无从下手啊,求老师指导。
有多少人使用这个网页教程阿
'
==
'和'!=
'适用于所有类型的对象。'>'、'<'、'
>=
'和'<=
'不适用于布尔类型的值,因为它们只有true
或false
,大于和小于并无实际意义。那个null 是 什么情况造成的呢
'
==
'和'!=
'适用于所有类型的对象,其他关系运算符并不适用于布尔类型的值,因为它们只有true
或false
,大于和小于并无实际意义。请问上述这句话应该怎么理解?
需要看到完整的代码比较好给建议。
从出错信息来看,你应该在HelloWorld中调用了类似new Post("123"); 这样的构造函数,但是你在Post中没有定义只包含一个String参数的构造函数,所以会报undefined。
没有对应的构造函数
请教Unresolved compilation problem: The constructor Post(String) is undefined 创建了Post.java为什么编译不了了 运行HelloWorld会出现上面的提示
这个Eclipse的下载是收费的?
代码片段右上角有一个复制按钮,点那个复制
代码回合行号一起被复制 有点恶心
帮忙看下代码指出一下,
一直这样,不知道错在哪里。
没有同名的局部变量的情况下,可以不加~可以在IDE中试一试
为什么呢?那底下那个是不是也可以不加?
这里不加this也可以的
这里面id=count++;应该错了吧,应该是this.id=count++ 代码行9处。
每个try语句必须有一个或多个catch语句对应,try代码块与catch代码块及finally代码块之间不能有其他语句。
catch
关键字后跟有一个用括号括起来的Exception
类型的参数e
,这跟我们经常用到的如何定义一个函数接收的参数格式是一样的。括号中的
Exception
就是try
代码块传递给catch
代码块的变量类型,e
就是变量名,所以我们也可以将e
改用成别的名称(如ex
),如下所示JDK一直安装不了啊…能问问是什么情况嘛
包装类这个下面的代码实在看不懂
链接文字
因为你没有使用Post
import com.tianmaying.domain.Post;
我的代码:
这里的参考代码就是你作业的起点~
老师参考代码里怎么只有和作业一样的模板而没有具体实现的代码呢?
是的。只有在引起歧义的情况下,this是必须的。比如有局部变量也命名为id的话,为了引用对象的成员变量,就必须使用this.id
请问这里的"id"与"this.id"是同一个变量么?
应该是你的
main
方法签名不正确。“Could not find or load main class HelloWorld.”是什么错误?
谢谢啦
;%JAVA_HOME%\bin
请问一下win7环境变量是加;%JAVA_HOME%\bin
还是JAVA_HOME%\bin?
请问一下win7环境变量是加;%JAVA_HOME%\bin
还是JAVA_HOME%\bin?
还有我想问一下作业是直接在网页上做吗?
这节课的作业是要输出“你好,天码营”吗?菜鸟没有搞懂作业让做啥 也不知道在哪写代码
本节课作业怎么完成啊?
super写错了
还是完成不了?
本课作业大家都是怎么完成的?
应该是没有new初始化内存地址,new了后的地址是不一样的,没有new之前处于同一个内存地址。
请问大家本课程的实战任务中的答案可以在哪里看到?谢谢!
作业里面第二问,我按照你们的预设不会写,但是改了一下也通过了,我想知道,你们预设想我怎么写?
public boolean operation(int a, int b) {
boolean fals;
fals=((a&b)>(a|b))?true:false
return fals;
}
恩?
有人么
从1加到100的和
int i = 1; int sum = 0; while (i <= 100) { sum += i; i++; }谁能分析一下这个过程
嗯嗯好的,理解了,O(∩_∩)O谢谢
定义一个变量的标准写法:Post是类型,post是这个类型的变量(对象实例),你也可以命名为任意合法的标识符,比如post2
请问第一个大写的Post和后面小写的post的区别是什么呀
遍历posts这个list
for (Post post : posts)
是什么意思?
修改了,谢谢提醒!
String s2 = Interger.toString(n); // 将整数转换为字符串
写错了
String s2 = Integer.toString(n); // 将整数转换为字符串
创建一个
Post
类。跟赋值类似,一个是先打印后自增,一个是先自增后打印
public class LianXi {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=5;
int b=5;
System.out.println("使用后置运算符得结果为:"+(a++));//显示后置结果
System.out.println("使用前置运算符得结果为:"+(++b));//显示前置结果
int a1=5;
a1++;
System.out.println(a1);
}
} 有点不太理解为什么 运行输出得a是5,b是6。.
涉及到赋值的时候,语义不一样。一个是新自增再赋值,一个是先赋值再自增。不涉及赋值的时候,语义是一样的。
在运算的时候我发现比如 int a = 5;
++a;与a++;得到的数据是一样的。可以这么理解吗?还是习惯上自增自减在后面更好一些。谢谢啦
是这样的。
byte、int、long、和short都可以用十进制、16进制以及8进制,区分不同进制时候,是不是不论正负值,比如8进制就是 int a = 08 //正的八进制数 int b = -08 //负的八进制数 这样吗?
基础知识的话,学习Java的基本概念和语法之后,然后动手练习吧,重在练习。
快速学习JAVA 的基础知识,有什么好的方法和建议吗?请指教!!!!!
是
java.lang.OutOfMemoryError
?正常不应该出现这种问题才是哪。。。你需要新创建一个
Post
类。/**
*
*/
package com.JayNoE.Text;
/**
* @author JayNoE
*
*/
public class JayNoE {
public static void main(String[] args) {
Post post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
post.print(); // 调用对象方法
}
}
报错:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Post cannot be resolved to a type
Post cannot be resolved to a type
at com.JayNoE.Text.JayNoE.main(JayNoE.java:14)
这是什么情况啊
谢谢!
如果这个放在while循环中,会出现java heap space 请问是为什么,是否是因为频繁的操作StringBuffer?
StringBuffer用于大量字符串的拼接操作效率要更好。
下面几行代码就是判断结束:
END_OF_POST
的值这里设置为***
(你可以设置为其他),即最后一行输入***
就表示内容输入结束。这是综合实例的例子,将content放进去会出现java heap space ,如果拿出来或出现死循环。并且没有办法判断结束的关键字,为什么还要加StringBuffer
增加之后自然覆盖了。
我要重新配的话之前的还有删除吗
现在应该弄好了吧?
U R right!
没有勘误吗?不是任何字符,是字母(A-Z或者a-z),美元符(
$
)、或者下划线(_
)或者数字吧。谢谢
3Q!
见@David 的一篇文章 《为什么需要Java接口》
思考:接口的方法没有具体实现。两个类具体实现接口方法的途径不同,如animal里有方法eat和sleep,类1实现eat用嘴,类2实现eat用鼻子。那接口的意义何在?
虽然调用这2个类的eat方法名称是一样的。
讲集合时说ArrayList和LinkedList都是List接口的实现,ArrayList和LinkedList调用getAll(),其内部实现机制不一样说的就是这种情况吧?
@Toder
str1==str2 比较的应该是对像的引用地址,肯定是不同的,
str1.equals(str2) 是比较字符内容.
老师看一下我这个代码,为什么两次结果会不一样
class Demo_string {
public static void main(String[] args) {
String str1 = "abc";
String str2 = "abc";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
System.out.println("----------------------");
String str3 = new String("abc");
String str4 = new String("abc");
System.out.println(str3 == str4);
System.out.println(str3.equals(str4));
}
}
首先,非常感谢回复,总而言之,在此是为了方便而言(http://tonylian.iteye.com/blog/563457)。再次感谢!
这里加和不加都可以
public String getTitle() { return title; }
这里不用加this吗?
因为在我们这个场景中,所有
PostRepository
的对象的方法是一样的共享的,即对象是没有状态,这个时候直接使用类的静态方法即可,可以省却创建对象的开销。这里为什么要使用静态方法呢?(
PostRepository
类中的方法)你是想创建两个
Post
吧,这样写:就是开头的创建和是应对象。
public class HelloWorld { public static void main(String[] args) { Post post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象 post.print(); // 调用对象方法 } }
代码贴上来
最早的Post post = new Post(...)括号里只打一对"我的..."会报错,打两个"我的...","第一个..."就没事了,为什么啊,,
放到main函数中执行。
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str1 == str2);
System.out.println(str1.equals(str2);
这段字符串操作怎样在程序中实现?
删除后还是这样,自动修复后说no suggestions available。我自己加上了
import com.hello.domain.Post;
这行代码,运行正常。有点懵。
感谢。
好TM难啊 各位兄弟都是花了多长时间入门的
把default package中的文件删除了试试。可以用用Eclipse的自动修复功能,ctrl+1。
import com.tianmaying.domain.Post;
错误显示的是:Description Resource Path Location Type
Post cannot be resolved to a type HelloWorld.java /HelloWorld/src/com/hello line 6 Java Problem
代码都是对的呀。
选择Linux版本下载后解压就行了啊。
请问ubuntu下如何安装Eclipse IDE for Java EE Developers
1.右键src-new-class-填写Post(注意大小写)
注意package helloworld不要删除
复制黏贴<构造函数>的代码
点击绿色执行按钮
2.右键src-new-class-填写helloworld
注意package helloworld不要删除
复制黏贴<创建和使用对象>的代码
点击绿色执行按钮
3.再按照<包与import>来执行
实话实说我一经安装了好几次了还在其它的电脑上安装过,检查了好几遍,还上百度搜过都不行,算了我再检查检查吧
Path
环境变量后面增加;%JAVA_HOME%\bin
了吗?
JAVA_HOME
设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?
构造函数。
public Graph(){}
请问老师,这一行代码是什么意思?
定义一个字符串
将字符串转换为整数,
将整数转换为字符串
String s = “123”; int n = Integer.parseInt(s); // 将字符串转换为整数 String s2 = Interger.toString(n); // 将整数转换为字符串
这个是啥什么意思啊?
才接触java,所以看的有点认真
8种
为什么跳转到这个链接后没有显示参考代码,请问完整的代码在哪里可以下载
条件表达式,不同的条件进入不同的分支去执行代码。看最后一节。
这里面布尔表达式2的作用是什么?
变量引用的就是创建的String对象。
这里面字符串变量指向的字符序列和指向对象分别是什么?
大写
Post
就是post
这个类型的实例。看看第五课能不能详细一点?比如我理解的是调用一个新的Post(“....”)赋值给post,那么小写字母开头的post就是一个变量,那么一个(大写字母的)Post是什么意思呢?
定义一个类型的变量。
看得仔细!
改过来了,谢谢!
此处数字不对
谢谢提醒,原来是这么回事,竟然还能这么玩,请问大神Post post=new Post(".....")这里面前两个post是什么意思,怎么解释啊?
那要怎么应用这个Post.java?
不要用内部类,专门新建一个Post.java文件来存放Post的代码。
终于写出了完整版
向上或者向下移动一行Windows快捷键也是Alt + ↑ or ↓吧
要创建一个
Post
类。good
↖(^ω^)↗加油
没有写Post类,新建Post.java文件!
请问这个实例的完整代码在哪里下载?
越看越不懂了
foo是fun吧
编译警告,或者项目设置的警告,一般不影响项目正常编译和运行。@1328803630
Post post = new Post("");
一种常用的写法:
while (true) { String command = scanner.next(); System.out.println(command); } 布尔表达式居然可以直接设定T/F啊
getId
是Post
的方法,用以返回Post
的id
属性。类的属性都是私有的,一般提供公共的getter
和setter
方法来让外部访问私有变量。比如:posts.add(post);
中的posts
是一个List
,调用的是List
的add
方法。public static void add(Post post) { posts.add(post); }这段代码方法里面又有add,没有具体实现呢,这不成了无限递归了。还有remove也是这样
if (post.getId() == id) { return post; post.getId什么意思? getId应该是个方法函数吧,可是搜索,没这个函数啊,import的这两个没包含他啊
噗......自己少打了个分号......
应该是你的PATH环境变量配置的问题,再仔细检查一下路径
为什么我搜索不到java
写不出来
教程对该应用的程序结构描述太分散了
写不出来
教程对该应用的程序结构描述太分散了
一起交流吧,490524283
构造函数不能有返回值。
函数重载跟返回值没有关系。
throws放在执行代码的封装函数后面,调用该函数的方法必须用try/catch进行处理,否则编译将无法通过。
将可能出现异常的代码通过TRY/CATCH代码进行处理,当异常发生时,系统能够继续运行,而没有意外终止。
protected修饰成员变量和方法,同一个包里的类可以访问该变量方法;包外的子类可以访问该变量方法。
@天码君 @Toder 谢谢大哥,懂了。
@HELLOWORLD
public class Post { private String title; private String content; public void print() { System.out.println(this.title); System.out.println(this.content); } }
大哥还是不明白啊,教程里在哪儿有解释么?
@HELLOWORLD 创建Post类
各位学过来的大哥们,为什么我原封不动的把代码复制到了esclipse里,也会报错啊。@Toder @vrmango @liangliangwqy
课程代码在哪里?
1.JAVA中一个子类只能有一个父类。
2.子类会继承父类中的除构造函数以外的所有非Private成员方法和变量。(1.具体到该例子中就是,rectangle类继承graph类,他就默认具有了graph类的的name属性和show 方法 2. 即使是子类,也无权继承Private的属性)
3.子类不能继承父类构造函数,但要在自己的构造函数中
FINAL不能修饰构造方法。
@Toder 已经完成环境变量设置,谢谢
你说windows上编辑环境变量? 应该有个编辑按钮吧。
最后一步怎么调出编辑的对话框?
闲得无聊,看不进去啦
因为看的出来你非常兴奋
你咋知道
你用的搜狗拼音吧
克里马擦
果然是这样,解决问题了,谢谢啊
post.print()
而不是Post.print()
,此外要创建Post
类才能使用,你写Post
类的代码了吗?问题依旧@Toder
@vrmango 大小写有误,应该是:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Post cannot be resolved to a type
Post cannot be resolved to a type
at HelloWorld.main(HelloWorld.java:7)
JAVA_HOME 路径设置为JDK的目录,可能你设成JRE的了。
我在命令行里输入java -version显示信息 可是输入javac就说不是内部或者外部命令 怎么办啊?我环境变量都确认了好几遍了
它又显示找不到或者无法加载主类HelloWorld
这里
src
是文件夹名称,不需要输入。你应该输入的是:复杂的初始化操作。了解。
@fengxingjimo 2 这种情况可以写很多语句(因为是个代码块),那就可以做很复杂的初始化操作。而1只能是一个表达式或者常量。
1.private static int count = 100;
2.static { count = 100; //这里假设100是从数据库中获取Post的数量}
1和2的区别是什么呢?(源自java入门基础的第九课)
www
拖动不知道什么意思
@liangliangwqy 你是对的,我以为是
while
循环,do/while
最后确实需要有分号。我没带分号的时候报错哦。
语法格式如下:
do { //循环内容 } while( 布尔表达式 );
这里不需要分号吧
while (i <= 100)
最后少了个分号
5-引用类型
本页的代码中,Blog应该改成Post。
看了一下分号确实有问题,谢谢
@liangliangwqy 应该是你打的分号是中文的分号。
对这一行里的前两个Post不是太明白,在eclipse里面报错
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The left-hand side of an assignment must be a variable
Syntax error on token "Invalid Character", invalid AssignmentOperator
Syntax error on token "Invalid Character", ; expected
at blog.HelloWorld.main(HelloWorld.java:5)
Post Post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
“比说我们要做一个博客应用”
应是“比如说。。。”
在这里D:\workspace\HelloWorld\bin\blog\HelloWorld.class
到系统中对应的文件目录中看看
你指的是哪里?
应该在target或者build目录下有.class文件。
“运行
javac
命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。”在eclipse里面,运行程序之后输出了正确的内容,但是没看到.class文件,是用C图标表示的.class文件吗?
是的,网上查了一下,自己新建了一个Package就好了。
我猜是没有设置包(Package)的原因。暂时还没涉及这个概念,所以代码没有放在任何Package内。
有警告
很不错!
或运算写错了 \ | --> ||
已经修改,谢谢!
最后一句
即两者在概念本质上是相同的。
改为
即两者在概念本质上是不同的。
试了一下,没有复现,出错信息是? @rockyzlwang
点击目录出现天马营出错的窗口,是什么情况?
第九章的static修饰方法有一处笔误 Post.getCont() 应该改为 Post.getCount()
我的邮箱激活链接一直无效@Toder
初步接触Java编程的童鞋看过来!
我们开放了一个Java基础教程,将Java的入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界。万事开头难,逐步跟着这个教程走一遍,对Java应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地学习其中的某些知识点。