Java入门基础教程

By David 课程任务:21 个 学习人数: 600+

将Java的入门基础知识贯穿在简单易懂的实例中,写代码闯关,名师指导,逐步深入,帮助你快速进入Java编程的世界!更加体系化地学习Java开发请参考Java Web实战课程,可参考天码营学员的成长和作品。为了巩固Java编程基础,你也可以尝试Java贪吃蛇游戏的编程练习。

超级名师

导师来自北京大学计算机专业的老师和业界一流的工程师,帮助你快速成长

求职必备

导师们最大的烦恼就是每天各路公司求他们推荐程序员,帮帮他们吧,快到碗里来

实战导向

图文、代码与视频有机结合的实战课程内容,打造真实的项目,最佳实践一网打尽

专业工具

随时随地学习在线学习,记录完整的学习过程与轨迹,沉淀终生受益的代码和内容

课程内容

  • Java语言的基础语法
  • 面向对象的基本概念
  • 开始上手Java编程的关键要素
  • Java常用API的使用

进阶内容

进阶Java教程请见:

David

北大教师,曾创办OSGi中文社区和软件开发协工具onboard

Ricky

天码营技术总监,全栈程序员, DevOps,超级工具控

Harttle

北大物理系出身的Linux极客,追求极致简单,武术发烧友

Cliff

传说中的快刀手,北大计算机应用与设计协会前理事长

Michael

Google工程师,北大信息科学技术学院本硕

Bob

Facebook工程师,北大信息科学技术学院本硕

Hash

北大数字艺术专业毕业,十年设计经历,极限运动爱好者

Li

任职于Twitter、Airbnb,德州扑克世界赌王大赛冠军

登录发表评论 登录 注册

Adadadada
Adadadada 于 5 天前

嗯嗯,懂了。因为是浮点类型。谢谢你呀

123.  就是 123.0

1034A95E-BE2E-4ED4-885C-7CA4D4AA5649.png

1.png

对于float定义不是特别清楚,为什么介绍float的时候给出的例子里面是123.f,然后类型转换给出的介绍说直接在后面直接加上f或者F,并没有提到小数点。希望可以解释一下。谢谢。

@Adadadada

@Toder

Toder
Toder 于 5 天前

123.  就是 123.0

1034A95E-BE2E-4ED4-885C-7CA4D4AA5649.png

1.png

对于float定义不是特别清楚,为什么介绍float的时候给出的例子里面是123.f,然后类型转换给出的介绍说直接在后面直接加上f或者F,并没有提到小数点。希望可以解释一下。谢谢。

@Adadadada

Adadadada
Adadadada 于 5 天前

1034A95E-BE2E-4ED4-885C-7CA4D4AA5649.png

1.png

对于float定义不是特别清楚,为什么介绍float的时候给出的例子里面是123.f,然后类型转换给出的介绍说直接在后面直接加上f或者F,并没有提到小数点。希望可以解释一下。谢谢。

sds1993
sds1993 于 15 天前

我也是,包装类下面的代码写的是啥啊。。

fansen
fansen 于 1 个月前

我去,这作业怎么做?

suigintou
suigintou 于 1 个月前

image.png

请问这里为什么到-1循环就停了?字节流的话c不是全是0和1么,永远不会等于-1吧?

suigintou
suigintou 于 1 个月前

逻辑短路  这个链接404了

Toder
Toder 于 1 个月前

以int移位为例,移n位的话,如果n < 0, 会移动 n % 32 + 32 位。

你好,我想请问一下这里的右移运算符中说明的“操作的值的正负性”问题。请问一下这个操作的值具体指的是x >> 2中的这个2吗?就是说可以有x>> -2的表达方式??

@勺勺1995

勺勺1995
勺勺1995 于 1 个月前

你好,我想请问一下这里的右移运算符中说明的“操作的值的正负性”问题。请问一下这个操作的值具体指的是x >> 2中的这个2吗?就是说可以有x>> -2的表达方式??

caolisl
caolisl 于 1 个月前

你没有重新javac

liaowugangdeMacBook-Pro:tianmaying liaowugang$ java HelloWorld

错误: 找不到或无法加载主类 HelloWorld

liaowugangdeMacBook-Pro:tianmaying 

这个怎么处理啊 我在eclipse 上运行没问题 在终端就不行了

@mark__manman

caolisl
caolisl 于 1 个月前

注意你的是Helloworld,不是HelloWorld

为什么代码我输入上次就是错误的,复制上去就是对的?求指导Clipboard Image.png

@LiYanJun_Java

LiYanJun_Java
LiYanJun_Java 于 1 个月前

为什么代码我输入上次就是错误的,复制上去就是对的?求指导Clipboard Image.png

Toder
Toder 于 1 个月前

谢谢提醒,加了一个左括号smile

6程序的控制流的break的那段代码右括号多了一个

@llccyy99

llccyy99
llccyy99 于 1 个月前

6程序的控制流的break的那段代码右括号多了一个

Toder
Toder 于 2 个月前

没有时间限制

@枫£逝

枫£逝
枫£逝 于 2 个月前

课程购买了有时间限制吗,还是买了以后想什么时候看都行

Toder
Toder 于 2 个月前

@564778568  @阿弗莱克 谢谢你们的提醒,修改过来了。

阿弗莱克
阿弗莱克 于 2 个月前

这是笔误吧。image.png

564778568
564778568 于 2 个月前
 public Container<T>() {
        variable = null;
    }

构造器貌似不能带<T>啊  会报错

阿弗莱克
阿弗莱克 于 2 个月前

这里报错image.png

Toder
Toder 于 2 个月前

你肯定多次调用了创建Scanner的方法。

@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好久没找到答案

@prayer123321

Toder
Toder 于 2 个月前

哈,太仔细了,赞!

void startup() {
        System.out.println(“启动!”);
    }

这里的双引号用的是中文。。。

@刀哥

Toder
Toder 于 2 个月前

笔误,谢谢提出,已经修改grin

564778568
564778568 于 2 个月前
Point<T>
 Point<Double, Double> point2 = new Point<Double, Double>();

这里面不是只有一个类型T吗?   为什么new他时候传2个Double进去?

SJ_Wang
SJ_Wang 于 2 个月前

14章作业我提交是这样的:

 try{

                    throw new BlogAppException("create");

                    } catch (BlogAppException e){

                        e.printStackTrace();

                        return;

                    } finally {

                    scanner.close();

                    }

        }

为啥总是报错么? 说scanner没有close

SJ_Wang
SJ_Wang 于 2 个月前

哪里可以看到?我的代码还是继续出错呢。。。

14 章的实战为什么答案已经给出?

@Jorge Zhang

刀哥
刀哥 于 2 个月前
void startup() {
        System.out.println(“启动!”);
    }

这里的双引号用的是中文。。。

prayer123321
prayer123321 于 2 个月前

@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
Toder 于 2 个月前

这里直接使用了一个第三方库,屏蔽了文件操作的底层细节。

@Toder 我仔细看了2遍,但是从文件加载博客信息、将博客信息保存文件部分涉及到文件操作的不太清楚,就是卡在那里sob。希望作者可以讲清楚点谢谢joy

@prayer123321 哪个知识点需要进一步讲清楚可以提出来,我们可以增加:)grin

@Toder

@prayer123321

prayer123321
prayer123321 于 2 个月前

@Toder 我仔细看了2遍,但是从文件加载博客信息、将博客信息保存文件部分涉及到文件操作的不太清楚,就是卡在那里sob。希望作者可以讲清楚点谢谢joy

@prayer123321 哪个知识点需要进一步讲清楚可以提出来,我们可以增加:)grin

@Toder

Toder
Toder 于 2 个月前

@prayer123321 哪个知识点需要进一步讲清楚可以提出来,我们可以增加:)grin

prayer123321
prayer123321 于 2 个月前

好乱啊  这个博客应用知识点还有很多细节没讲到,感觉仅仅通过上面的知识做出来还有点困难啊

13935196888
13935196888 于 2 个月前

换了个浏览器解决了视频播放和代码上传的问题。打扰了!

13935196888
13935196888 于 2 个月前

我安装的TMOCAT没有正常运行?

Jorge Zhang
Jorge Zhang 于 2 个月前

14 章的实战为什么答案已经给出?

Jorge Zhang
Jorge Zhang 于 2 个月前

那么这种情况下 blog 和 blogB 可以使用 euqals() 方法来比较吗?如果可以的话,比较的是什么?

返回为true,因为它们指向同一个对象。

  1. 「'=='和'!='作为关系运算符只用来比较对象的引用,如果想比较两个对象实际内容是否相同,需要调用对象的equals()方法。」如果以上上页的 blog 和 blogB 为例 blog == blogB 返回是 false 吗?
  2. 如果是的话,我猜他们引用的内容相同,但是他们本身不相同,这样理解对吗?

@Jorge Zhang

@Toder

Toder
Toder 于 2 个月前

返回为true,因为它们指向同一个对象。

  1. 「'=='和'!='作为关系运算符只用来比较对象的引用,如果想比较两个对象实际内容是否相同,需要调用对象的equals()方法。」如果以上上页的 blog 和 blogB 为例 blog == blogB 返回是 false 吗?
  2. 如果是的话,我猜他们引用的内容相同,但是他们本身不相同,这样理解对吗?

@Jorge Zhang

Jorge Zhang
Jorge Zhang 于 2 个月前
  1. 「'=='和'!='作为关系运算符只用来比较对象的引用,如果想比较两个对象实际内容是否相同,需要调用对象的equals()方法。」如果以上上页的 blog 和 blogB 为例 blog == blogB 返回是 false 吗?
  2. 如果是的话,我猜他们引用的内容相同,但是他们本身不相同,这样理解对吗?
stetina
stetina 于 2 个月前

吼娃 非常吼

@stetina  更新教程了,这里有你要的Debug功能grin

@David

David
David 于 2 个月前

@stetina  更新教程了,这里有你要的Debug功能grin

chrdwh
chrdwh 于 2 个月前

例子

最后的代码
class Retangle {
    
    ...
    
    public double area() {
        return width * height;
    }
}

是不是应该改成 class Rectangle extends Graph {

chrdwh
chrdwh 于 2 个月前

这里的PostRepository 是一个类,可不可以改成接口来实现?

cser
cser 于 3 个月前

Eclipse下载是免费的。

eclipse下载还要付费吗?

@L

L
L 于 3 个月前

eclipse下载还要付费吗?

Toder
Toder 于 3 个月前

这是个 好建议!

这课可以教一下怎么加和用断点吗

@stetina

stetina
stetina 于 3 个月前

这课可以教一下怎么加和用断点吗

New_Dragon
New_Dragon 于 3 个月前
public class HelloWorld {  
    
    public static void main(String[] args) {  
        Post post = new Post(); // 创建博客对象      
        post.title = "天码营的博客"; // 访问对象属性
        post.content = "这是我的第一篇博客";  // 访问对象属性
        post.print(); // 调用对象方法
        
    }
}

课程中这段代码缺少对title和content的变量声明,根本无法执行啊
很麻瓜的九苍沧呐
很麻瓜的九苍沧呐 于 3 个月前

莫忘分号

Shine
Shine 于 3 个月前

这么写是错的吧?

这边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>();
Shine
Shine 于 3 个月前

谢谢!因为这里在讲自定义异常,我以为会用到bar()。

foo()出错就会跳到catch中去了。写在这是为了不出错的时候执行哪~

try {
            foo();
            bar();
        }

这里foo()如果报错了,bar()就不会执行了,是吗?那我不明白这里写的bar()有什么用。

@Shine

@David

David
David 于 3 个月前

foo()出错就会跳到catch中去了。写在这是为了不出错的时候执行哪~

try {
            foo();
            bar();
        }

这里foo()如果报错了,bar()就不会执行了,是吗?那我不明白这里写的bar()有什么用。

@Shine

Shine
Shine 于 3 个月前
try {
            foo();
            bar();
        }

这里foo()如果报错了,bar()就不会执行了,是吗?那我不明白这里写的bar()有什么用。

zheteng
zheteng 于 3 个月前

请问是哪三个神器?

nodamecc
nodamecc 于 3 个月前

第8课的作业是什么意思?一直无法通过,代码在eclipse里面可以运行呀。。。以及参考代码里面根本没有内容。。。

泉
于 3 个月前

Windows 64-bit的下载不了呢,怎么办

mark__manman
mark__manman 于 3 个月前

  • HelloWorld.java共有1个编译错误:
    com/tianmaying/HelloWorld.java:6: error: incompatible types: String cannot be converted to Long
            Post post = new Post("12","天码营的博客", "这是我的第一篇博客"); // 创建博客对象
    
    
    请问这个如何处理
mark__manman
mark__manman 于 3 个月前

liaowugangdeMacBook-Pro:tianmaying liaowugang$ java HelloWorld

错误: 找不到或无法加载主类 HelloWorld

liaowugangdeMacBook-Pro:tianmaying 

这个怎么处理啊 我在eclipse 上运行没问题 在终端就不行了

stetina
stetina 于 3 个月前

原来测试不通过可以点击看详情的提示。。之前完全不知道可以点开

希望这点能改进 我做到cpt15之前不知道,有了这个提示想要提交通过简单多了

Tony233
Tony233 于 3 个月前

为什么我Run As>之后没有Java Application选项啊

lrenfz
lrenfz 于 4 个月前

11课看起来好抽象。。难以理解。。

Chaooo
Chaooo 于 4 个月前

这节课的作业无从下手啊,求老师指导。

FaceNoHide
FaceNoHide 于 4 个月前

有多少人使用这个网页教程阿

cser
cser 于 4 个月前

'=='和'!='适用于所有类型的对象。

'>'、'<'、'>='和'<='不适用于布尔类型的值,因为它们只有truefalse,大于和小于并无实际意义。

Thawing_now
Thawing_now 于 4 个月前

那个null 是 什么情况造成的呢

图片2.png

wannas
wannas 于 4 个月前

'=='和'!='适用于所有类型的对象,其他关系运算符并不适用于布尔类型的值,因为它们只有truefalse,大于和小于并无实际意义。

请问上述这句话应该怎么理解?

Toder
Toder 于 4 个月前

 需要看到完整的代码比较好给建议。

从出错信息来看,你应该在HelloWorld中调用了类似new Post("123");  这样的构造函数,但是你在Post中没有定义只包含一个String参数的构造函数,所以会报undefined。

请教Unresolved compilation problem: The constructor Post(String) is undefined 创建了Post.java为什么编译不了了 运行HelloWorld会出现上面的提示

@三文

Toder
Toder 于 4 个月前

没有对应的构造函数

请教Unresolved compilation problem: The constructor Post(String) is undefined 创建了Post.java为什么编译不了了 运行HelloWorld会出现上面的提示

@三文

三文
三文 于 4 个月前

请教Unresolved compilation problem: The constructor Post(String) is undefined 创建了Post.java为什么编译不了了 运行HelloWorld会出现上面的提示

mayuan2017
mayuan2017 于 4 个月前

这个Eclipse的下载是收费的?

stetina
stetina 于 4 个月前

sob瞎掉了没看到

代码片段右上角有一个复制按钮,点那个复制

Clipboard Image.png

代码回合行号一起被复制 有点恶心

@stetina

@Toder

Toder
Toder 于 4 个月前

代码片段右上角有一个复制按钮,点那个复制

Clipboard Image.png

代码回合行号一起被复制 有点恶心

@stetina

stetina
stetina 于 4 个月前

代码回合行号一起被复制 有点恶心

wyhyu123
wyhyu123 于 4 个月前

帮忙看下代码指出一下,

null
java.lang.NullPointerException

一直这样,不知道错在哪里。

Toder
Toder 于 4 个月前

没有同名的局部变量的情况下,可以不加~可以在IDE中试一试

kartal
kartal 于 4 个月前

为什么呢?那底下那个是不是也可以不加?

这里不加this也可以的grin

这里面id=count++;应该错了吧,应该是this.id=count++ 代码行9处。

@kartal

@Toder

Toder
Toder 于 4 个月前

这里不加this也可以的grin

这里面id=count++;应该错了吧,应该是this.id=count++ 代码行9处。

@kartal

kartal
kartal 于 4 个月前

这里面id=count++;应该错了吧,应该是this.id=count++ 代码行9处。

qingqing
qingqing 于 5 个月前

每个try语句必须有一个或多个catch语句对应,try代码块与catch代码块及finally代码块之间不能有其他语句。

qingqing
qingqing 于 5 个月前

catch关键字后跟有一个用括号括起来的Exception类型的参数e,这跟我们经常用到的如何定义一个函数接收的参数格式是一样的。

括号中的Exception就是try代码块传递给catch代码块的变量类型,e就是变量名,所以我们也可以将e改用成别的名称(如ex),如下所示

Meow~
Meow~ 于 5 个月前

JDK一直安装不了啊…能问问是什么情况嘛sob

tmykz107
tmykz107 于 5 个月前

包装类这个下面的代码实在看不懂

daidai
daidai 于 5 个月前
cser
cser 于 5 个月前

因为你没有使用Post

Clipboard Image.png为什么没有出现?

import com.tianmaying.domain.Post;

我的代码:

@vking6

vking6
vking6 于 5 个月前

Clipboard Image.png为什么没有出现?

import com.tianmaying.domain.Post;

我的代码:

cser
cser 于 5 个月前

这里的参考代码就是你作业的起点~

老师参考代码里怎么只有和作业一样的模板而没有具体实现的代码呢?

@lizhengze7

lizhengze7
lizhengze7 于 5 个月前

老师参考代码里怎么只有和作业一样的模板而没有具体实现的代码呢?

Toder
Toder 于 5 个月前

是的。只有在引起歧义的情况下,this是必须的。比如有局部变量也命名为id的话,为了引用对象的成员变量,就必须使用this.id

请问这里的"id"与"this.id"是同一个变量么?

@lizhengze7

lizhengze7
lizhengze7 于 5 个月前

请问这里的"id"与"this.id"是同一个变量么?

Toder
Toder 于 5 个月前

应该是你的main方法签名不正确。

“Could not find or load main class HelloWorld.”是什么错误?

@Curious

Curious
Curious 于 5 个月前

“Could not find or load main class HelloWorld.”是什么错误?

Cecilia
Cecilia 于 6 个月前

谢谢啦

;%JAVA_HOME%\bin

请问一下win7环境变量是加;%JAVA_HOME%\bin

还是JAVA_HOME%\bin?

还有我想问一下作业是直接在网页上做吗?

这节课的作业是要输出“你好,天码营”吗?菜鸟没有搞懂作业让做啥 也不知道在哪写代码 

@Cecilia

@cser

cser
cser 于 6 个月前

;%JAVA_HOME%\bin

请问一下win7环境变量是加;%JAVA_HOME%\bin

还是JAVA_HOME%\bin?

还有我想问一下作业是直接在网页上做吗?

这节课的作业是要输出“你好,天码营”吗?菜鸟没有搞懂作业让做啥 也不知道在哪写代码 

@Cecilia

Cecilia
Cecilia 于 6 个月前

请问一下win7环境变量是加;%JAVA_HOME%\bin

还是JAVA_HOME%\bin?

Cecilia
Cecilia 于 6 个月前

请问一下win7环境变量是加;%JAVA_HOME%\bin

还是JAVA_HOME%\bin?

还有我想问一下作业是直接在网页上做吗?

这节课的作业是要输出“你好,天码营”吗?菜鸟没有搞懂作业让做啥 也不知道在哪写代码 

shenruoshi
shenruoshi 于 6 个月前

本节课作业怎么完成啊?

snails_wang
snails_wang 于 6 个月前

super写错了

shenruoshi
shenruoshi 于 6 个月前

还是完成不了?

123456
123456 于 6 个月前

作业里面第二问,我按照你们的预设不会写,但是改了一下也通过了,我想知道,你们预设想我怎么写?  

public boolean operation(int a, int b) {

        boolean fals;

     fals=((a&b)>(a|b))?true:false

        return fals;

    }

@foxppt

shenruoshi
shenruoshi 于 6 个月前

本课作业大家都是怎么完成的?

mynameisk1
mynameisk1 于 6 个月前

应该是没有new初始化内存地址,new了后的地址是不一样的,没有new之前处于同一个内存地址。

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));

}

}

Clipboard Image.png

@powersn

vailydia
vailydia 于 6 个月前

请问大家本课程的实战任务中的答案可以在哪里看到?谢谢!

foxppt
foxppt 于 6 个月前

作业里面第二问,我按照你们的预设不会写,但是改了一下也通过了,我想知道,你们预设想我怎么写?  

public boolean operation(int a, int b) {

        boolean fals;

     fals=((a&b)>(a|b))?true:false

        return fals;

    }

Toder
Toder 于 6 个月前

恩?smirk

kongbai
kongbai 于 6 个月前

有人么

cser
cser 于 6 个月前

从1加到100的和

int i = 1;
int sum = 0;
while (i <= 100) {
    sum += i;
    i++;
}谁能分析一下这个过程

@JuanJuan_0324

JuanJuan_0324
JuanJuan_0324 于 6 个月前
int i = 1;
int sum = 0;
while (i <= 100) {
    sum += i;
    i++;
}谁能分析一下这个过程

ZXJSWIFT
ZXJSWIFT 于 6 个月前

嗯嗯好的,理解了,O(∩_∩)O谢谢

定义一个变量的标准写法:Post是类型,post是这个类型的变量(对象实例),你也可以命名为任意合法的标识符,比如post2

请问第一个大写的Post和后面小写的post的区别是什么呀

@ZXJSWIFT

@cser

cser
cser 于 6 个月前

定义一个变量的标准写法:Post是类型,post是这个类型的变量(对象实例),你也可以命名为任意合法的标识符,比如post2

请问第一个大写的Post和后面小写的post的区别是什么呀

@ZXJSWIFT

ZXJSWIFT
ZXJSWIFT 于 6 个月前

请问第一个大写的Post和后面小写的post的区别是什么呀

Toder
Toder 于 6 个月前

遍历posts这个list

 for (Post post : posts) 

是什么意思?

@LIMING

LIMING
LIMING 于 6 个月前
 for (Post post : posts) 

是什么意思?

Toder
Toder 于 7 个月前

修改了,谢谢提醒!

String s2 = Interger.toString(n); // 将整数转换为字符串

写错了

String s2 = Integer.toString(n); // 将整数转换为字符串

@feiafeia

feiafeia
feiafeia 于 7 个月前
String s2 = Interger.toString(n); // 将整数转换为字符串

写错了

String s2 = Integer.toString(n); // 将整数转换为字符串
Toder
Toder 于 7 个月前

创建一个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)

这是什么情况啊

@JayNoE

Toder
Toder 于 7 个月前

 跟赋值类似,一个是先打印后自增,一个是先自增后打印

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++;得到的数据是一样的。可以这么理解吗?还是习惯上自增自减在后面更好一些。谢谢啦

@Maybe_sea

@Toder

@Maybe_sea

Maybe_sea
Maybe_sea 于 7 个月前

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++;得到的数据是一样的。可以这么理解吗?还是习惯上自增自减在后面更好一些。谢谢啦

@Maybe_sea

@Toder

Toder
Toder 于 7 个月前

涉及到赋值的时候,语义不一样。一个是新自增再赋值,一个是先赋值再自增。不涉及赋值的时候,语义是一样的。

在运算的时候我发现比如 int a = 5;

++a;与a++;得到的数据是一样的。可以这么理解吗?还是习惯上自增自减在后面更好一些。谢谢啦

@Maybe_sea

Maybe_sea
Maybe_sea 于 7 个月前

在运算的时候我发现比如 int a = 5;

++a;与a++;得到的数据是一样的。可以这么理解吗?还是习惯上自增自减在后面更好一些。谢谢啦

Toder
Toder 于 7 个月前

是这样的。

byte、int、long、和short都可以用十进制、16进制以及8进制,区分不同进制时候,是不是不论正负值,比如8进制就是 int a = 08   //正的八进制数  int b = -08  //负的八进制数  这样吗?

@Maybe_sea

Maybe_sea
Maybe_sea 于 7 个月前

byte、int、long、和short都可以用十进制、16进制以及8进制,区分不同进制时候,是不是不论正负值,比如8进制就是 int a = 08   //正的八进制数  int b = -08  //负的八进制数  这样吗?

Toder
Toder 于 7 个月前

基础知识的话,学习Java的基本概念和语法之后,然后动手练习吧,重在练习。

LFF633
LFF633 于 7 个月前

快速学习JAVA 的基础知识,有什么好的方法和建议吗?请指教!!!!!

Toder
Toder 于 7 个月前

java.lang.OutOfMemoryError?正常不应该出现这种问题才是哪。。。

谢谢!

Clipboard Image.png

如果这个放在while循环中,会出现java heap space 请问是为什么,是否是因为频繁的操作StringBuffer?

StringBuffer用于大量字符串的拼接操作效率要更好。

下面几行代码就是判断结束:

if (word.equals(END_OF_POST)) {
            break;
        }

END_OF_POST的值这里设置为***(你可以设置为其他),即最后一行输入***就表示内容输入结束。

@Toder

@wangyang

Toder
Toder 于 7 个月前

你需要新创建一个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)

这是什么情况啊

@JayNoE

JayNoE
JayNoE 于 7 个月前

/**

 * 

 */

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)






这是什么情况啊

wangyang
wangyang 于 7 个月前

谢谢!

Clipboard Image.png

如果这个放在while循环中,会出现java  heap space 请问是为什么,是否是因为频繁的操作StringBuffer?

StringBuffer用于大量字符串的拼接操作效率要更好。

下面几行代码就是判断结束:

if (word.equals(END_OF_POST)) {
            break;
        }

END_OF_POST的值这里设置为***(你可以设置为其他),即最后一行输入***就表示内容输入结束。

@Toder

Toder
Toder 于 7 个月前

StringBuffer用于大量字符串的拼接操作效率要更好。

下面几行代码就是判断结束:

if (word.equals(END_OF_POST)) {
            break;
        }

END_OF_POST的值这里设置为***(你可以设置为其他),即最后一行输入***就表示内容输入结束。

wangyang
wangyang 于 7 个月前

这是综合实例的例子,将content放进去会出现java heap space ,如果拿出来或出现死循环。并且没有办法判断结束的关键字,为什么还要加StringBuffer

Clipboard Image.png

Toder
Toder 于 7 个月前

增加之后自然覆盖了。

我要重新配的话之前的还有删除吗

现在应该弄好了吧?

实话实说我一经安装了好几次了还在其它的电脑上安装过,检查了好几遍,还上百度搜过都不行,算了我再检查检查吧

Path环境变量后面增加;%JAVA_HOME%\bin

了吗?


JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

@Toder我下的当然是jdk啦我设置的是jdk的安装目录jdk和jre不是捆绑安装的吗

@夢一场″

@Toder

@夢一场″

@Toder

@夢一场″

夢一场″
夢一场″ 于 7 个月前

我要重新配的话之前的还有删除吗

现在应该弄好了吧?

实话实说我一经安装了好几次了还在其它的电脑上安装过,检查了好几遍,还上百度搜过都不行,算了我再检查检查吧

Path环境变量后面增加;%JAVA_HOME%\bin

了吗?


JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

@Toder我下的当然是jdk啦我设置的是jdk的安装目录jdk和jre不是捆绑安装的吗

@夢一场″

@Toder

@夢一场″

@Toder

Toder
Toder 于 7 个月前

现在应该弄好了吧?

实话实说我一经安装了好几次了还在其它的电脑上安装过,检查了好几遍,还上百度搜过都不行,算了我再检查检查吧

Path环境变量后面增加;%JAVA_HOME%\bin

了吗?


JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

@Toder我下的当然是jdk啦我设置的是jdk的安装目录jdk和jre不是捆绑安装的吗

@夢一场″

@Toder

@夢一场″

Toder
Toder 于 7 个月前

U R right!

  • 首字符之后可以是任何字符的组合

没有勘误吗?不是任何字符,是字母(A-Z或者a-z),美元符($)、或者下划线(_)或者数字吧。

@1034353684

1034353684
1034353684 于 7 个月前
  • 首字符之后可以是任何字符的组合

没有勘误吗?不是任何字符,是字母(A-Z或者a-z),美元符($)、或者下划线(_)或者数字吧。

kkkevinxx
kkkevinxx 于 7 个月前

谢谢

你是想创建两个Post吧,这样写:

Post post1 = new Post("天码营的博客", "这是我的第一篇博客"); 
Post post2= new Post("天码营的博客", "这是我的第二篇博客");

就是开头的创建和是应对象。

public class HelloWorld {  

    public static void main(String[] args) {

        Post post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
        post.print(); // 调用对象方法

    }
}

代码贴上来

最早的Post post = new Post(...)括号里只打一对"我的..."会报错,打两个"我的...","第一个..."就没事了,为什么啊,,

@kkkevinxx

@Toder

@kkkevinxx

@Toder

Ted_java
Ted_java 于 7 个月前

3Q!

@David 的一篇文章 《为什么需要Java接口》

思考:接口的方法没有具体实现。两个类具体实现接口方法的途径不同,如animal里有方法eat和sleep,类1实现eat用嘴,类2实现eat用鼻子。那接口的意义何在?

虽然调用这2个类的eat方法名称是一样的。


讲集合时说ArrayList和LinkedList都是List接口的实现,ArrayList和LinkedList调用getAll(),其内部实现机制不一样说的就是这种情况吧?


@Toder 

@Ted_java

@Toder

Toder
Toder 于 7 个月前

@David 的一篇文章 《为什么需要Java接口》

思考:接口的方法没有具体实现。两个类具体实现接口方法的途径不同,如animal里有方法eat和sleep,类1实现eat用嘴,类2实现eat用鼻子。那接口的意义何在?

虽然调用这2个类的eat方法名称是一样的。


讲集合时说ArrayList和LinkedList都是List接口的实现,ArrayList和LinkedList调用getAll(),其内部实现机制不一样说的就是这种情况吧?


@Toder 

@Ted_java

Ted_java
Ted_java 于 7 个月前

思考:接口的方法没有具体实现。两个类具体实现接口方法的途径不同,如animal里有方法eat和sleep,类1实现eat用嘴,类2实现eat用鼻子。那接口的意义何在?

虽然调用这2个类的eat方法名称是一样的。


讲集合时说ArrayList和LinkedList都是List接口的实现,ArrayList和LinkedList调用getAll(),其内部实现机制不一样说的就是这种情况吧?


@Toder 

powersn
powersn 于 7 个月前

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));

}

}

Clipboard Image.png

bigbang
bigbang 于 7 个月前

首先,非常感谢回复,总而言之,在此是为了方便而言(http://tonylian.iteye.com/blog/563457)。再次感谢!

因为在我们这个场景中,所有PostRepository的对象的方法是一样的共享的,即对象是没有状态,这个时候直接使用类的静态方法即可,可以省却创建对象的开销。

这里为什么要使用静态方法呢?(PostRepository类中的方法)

@bigbang

@Toder

cser
cser 于 7 个月前

这里加和不加都可以

public String getTitle() {
        return title;
    }

这里不用加this吗?

@madara

madara
madara 于 8 个月前
public String getTitle() {
        return title;
    }

这里不用加this吗?

Ted_java
Ted_java 于 8 个月前
for(Post post:postsMap.values()){
   posts.add(post);
}


for(Map.Entry<Long, Post>postEntry : postMap. entrySet()){
posts.add(postEntry.getValue());
}
Toder
Toder 于 8 个月前

因为在我们这个场景中,所有PostRepository的对象的方法是一样的共享的,即对象是没有状态,这个时候直接使用类的静态方法即可,可以省却创建对象的开销。

这里为什么要使用静态方法呢?(PostRepository类中的方法)

@bigbang

bigbang
bigbang 于 8 个月前

这里为什么要使用静态方法呢?(PostRepository类中的方法)

Toder
Toder 于 8 个月前

你是想创建两个Post吧,这样写:

Post post1 = new Post("天码营的博客", "这是我的第一篇博客"); 
Post post2= new Post("天码营的博客", "这是我的第二篇博客");

就是开头的创建和是应对象。

public class HelloWorld {  

    public static void main(String[] args) {

        Post post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
        post.print(); // 调用对象方法

    }
}

代码贴上来

最早的Post post = new Post(...)括号里只打一对"我的..."会报错,打两个"我的...","第一个..."就没事了,为什么啊,,

@kkkevinxx

@Toder

@kkkevinxx

kkkevinxx
kkkevinxx 于 8 个月前

就是开头的创建和是应对象。

public class HelloWorld {  
    
    public static void main(String[] args) {
        
        Post post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
        post.print(); // 调用对象方法
        
    }
}

代码贴上来

最早的Post post = new Post(...)括号里只打一对"我的..."会报错,打两个"我的...","第一个..."就没事了,为什么啊,,

@kkkevinxx

@Toder

Toder
Toder 于 8 个月前

代码贴上来

最早的Post post = new Post(...)括号里只打一对"我的..."会报错,打两个"我的...","第一个..."就没事了,为什么啊,,

@kkkevinxx

kkkevinxx
kkkevinxx 于 8 个月前

最早的Post post = new Post(...)括号里只打一对"我的..."会报错,打两个"我的...","第一个..."就没事了,为什么啊,,

Toder
Toder 于 8 个月前

放到main函数中执行。

String str1 = new String("abc");

String str2 = new String("abc");

System.out.println(str1 == str2);

System.out.println(str1.equals(str2);


这段字符串操作怎样在程序中实现?

@Ted_java

Ted_java
Ted_java 于 8 个月前

String str1 = new String("abc");

String str2 = new String("abc");

System.out.println(str1 == str2);

System.out.println(str1.equals(str2);


这段字符串操作怎样在程序中实现?

snaiiiiil
snaiiiiil 于 8 个月前

Clipboard Image.png

删除后还是这样,自动修复后说no suggestions available。我自己加上了

import com.hello.domain.Post;

这行代码,运行正常。有点懵。

感谢。


 把default package中的文件删除了试试。可以用用Eclipse的自动修复功能,ctrl+1。

Clipboard Image.png请问我按照要求将两个 java文件拖入到不同的包内,图中的图标左下角为什么会出现x?打开HelloWorld.java没有以下代码:

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

代码都是对的呀。

@snaiiiiil

@Toder

344922690
344922690 于 8 个月前

好TM难啊   各位兄弟都是花了多长时间入门的

qe1114126167
qe1114126167 于 8 个月前

或运算写错了 \ | --> || 

@fengzhi714

Toder
Toder 于 8 个月前

 把default package中的文件删除了试试。可以用用Eclipse的自动修复功能,ctrl+1。

Clipboard Image.png请问我按照要求将两个 java文件拖入到不同的包内,图中的图标左下角为什么会出现x?打开HelloWorld.java没有以下代码:

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

代码都是对的呀。

@snaiiiiil

snaiiiiil
snaiiiiil 于 8 个月前

Clipboard Image.png请问我按照要求将两个 java文件拖入到不同的包内,图中的图标左下角为什么会出现x?打开HelloWorld.java没有以下代码:

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

代码都是对的呀。

cser
cser 于 8 个月前

选择Linux版本下载后解压就行了啊。

请问ubuntu下如何安装Eclipse IDE for Java EE Developers

@zouxiangyuanfang

zouxiangyuanfang
zouxiangyuanfang 于 8 个月前

请问ubuntu下如何安装Eclipse IDE for Java EE Developers

peng163fj
peng163fj 于 8 个月前

1.右键src-new-class-填写Post(注意大小写)

注意package helloworld不要删除

复制黏贴<构造函数>的代码

点击绿色执行按钮

2.右键src-new-class-填写helloworld

注意package helloworld不要删除

复制黏贴<创建和使用对象>的代码

点击绿色执行按钮

3.再按照<包与import>来执行

夢一场″
夢一场″ 于 8 个月前

实话实说我一经安装了好几次了还在其它的电脑上安装过,检查了好几遍,还上百度搜过都不行,算了我再检查检查吧

Path环境变量后面增加;%JAVA_HOME%\bin

了吗?


JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

@Toder我下的当然是jdk啦我设置的是jdk的安装目录jdk和jre不是捆绑安装的吗

@夢一场″

@Toder

Toder
Toder 于 8 个月前

Path环境变量后面增加;%JAVA_HOME%\bin

了吗?


JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

@Toder我下的当然是jdk啦我设置的是jdk的安装目录jdk和jre不是捆绑安装的吗

@夢一场″

夢一场″
夢一场″ 于 8 个月前

JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

@Toder我下的当然是jdk啦我设置的是jdk的安装目录jdk和jre不是捆绑安装的吗

Toder
Toder 于 8 个月前

JAVA_HOME 设置的是JDK的安装目录吗?另外你下载的是JDK还是JRE?

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

@夢一场″

夢一场″
夢一场″ 于 8 个月前

我win7按照你的教程安装jdk环境变量设置好了之后在cmd上输入java显示安装成功而我输入javac则显示"javac不是内部或外部命令,也不是可运行的程序或批处理文件"为什么?

Toder
Toder 于 8 个月前

构造函数。

    public Graph(){}

请问老师,这一行代码是什么意思?

@Zurich

Zurich
Zurich 于 8 个月前
    public Graph(){}

请问老师,这一行代码是什么意思?

Toder
Toder 于 8 个月前

定义一个字符串

将字符串转换为整数,

将整数转换为字符串

String s = “123”;
int n = Integer.parseInt(s); // 将字符串转换为整数
String s2 = Interger.toString(n); // 将整数转换为字符串

这个是啥什么意思啊?

@Zurich

Zurich
Zurich 于 8 个月前
String s = “123”;
int n = Integer.parseInt(s); // 将字符串转换为整数
String s2 = Interger.toString(n); // 将整数转换为字符串

这个是啥什么意思啊?

renakeji
renakeji 于 8 个月前

才接触java,所以看的有点认真

renakeji
renakeji 于 8 个月前

Clipboard Image.png

8种

jamesnet
jamesnet 于 8 个月前

Clipboard Image.png

为什么跳转到这个链接后没有显示参考代码,请问完整的代码在哪里可以下载

Toder
Toder 于 8 个月前

条件表达式,不同的条件进入不同的分支去执行代码。看最后一节。

这里面布尔表达式2的作用是什么?ifelse.png

@13691812781

13691812781
13691812781 于 8 个月前

这里面布尔表达式2的作用是什么?ifelse.png

Toder
Toder 于 9 个月前

变量引用的就是创建的String对象。

13691812781
13691812781 于 9 个月前

这里面字符串变量指向的字符序列和指向对象分别是什么?char.jpg

Toder
Toder 于 9 个月前

大写Post就是post这个类型的实例。看看第五课

能不能详细一点?比如我理解的是调用一个新的Post(“....”)赋值给post,那么小写字母开头的post就是一个变量,那么一个(大写字母的)Post是什么意思呢?

定义一个类型的变量。

谢谢提醒,原来是这么回事,竟然还能这么玩,请问大神Post post=new Post(".....")这里面前两个post是什么意思,怎么解释啊?

不要用内部类,专门新建一个Post.java文件来存放Post的代码。

终于写出了完整版HelloWorld.png

@13691812781

@Toder

@13691812781

@Toder

@13691812781

13691812781
13691812781 于 9 个月前

能不能详细一点?比如我理解的是调用一个新的Post(“....”)赋值给post,那么小写字母开头的post就是一个变量,那么一个(大写字母的)Post是什么意思呢?

定义一个类型的变量。

谢谢提醒,原来是这么回事,竟然还能这么玩,请问大神Post post=new Post(".....")这里面前两个post是什么意思,怎么解释啊?

不要用内部类,专门新建一个Post.java文件来存放Post的代码。

终于写出了完整版HelloWorld.png

@13691812781

@Toder

@13691812781

@Toder

Toder
Toder 于 9 个月前

定义一个类型的变量。

谢谢提醒,原来是这么回事,竟然还能这么玩,请问大神Post post=new Post(".....")这里面前两个post是什么意思,怎么解释啊?

不要用内部类,专门新建一个Post.java文件来存放Post的代码。

终于写出了完整版HelloWorld.png

@13691812781

@Toder

@13691812781

Toder
Toder 于 9 个月前

看得仔细!thumbsup 改过来了,谢谢!grin

此处数字不对jjj.png

@13691812781

13691812781
13691812781 于 9 个月前

此处数字不对jjj.png

13691812781
13691812781 于 9 个月前

谢谢提醒,原来是这么回事,竟然还能这么玩,请问大神Post post=new Post(".....")这里面前两个post是什么意思,怎么解释啊?

不要用内部类,专门新建一个Post.java文件来存放Post的代码。

终于写出了完整版HelloWorld.png

@13691812781

@Toder

13691812781
13691812781 于 9 个月前

那要怎么应用这个Post.java?

不要用内部类,专门新建一个Post.java文件来存放Post的代码。

终于写出了完整版HelloWorld.png

@13691812781

@Toder

Toder
Toder 于 9 个月前

不要用内部类,专门新建一个Post.java文件来存放Post的代码。

终于写出了完整版HelloWorld.png

@13691812781

13691812781
13691812781 于 9 个月前

终于写出了完整版HelloWorld.png

小小小小左
小小小小左 于 9 个月前

向上或者向下移动一行Windows快捷键也是Alt + ↑ or ↓吧

Toder
Toder 于 9 个月前

要创建一个Post类。

刚开始学习,不太懂Post的代码要怎么写,请问完整的要怎么写?

各位学过来的大哥们,为什么我原封不动的把代码复制到了esclipse里,也会报错啊。@Toder @vrmango @liangliangwqy

error.png

@HELLOWORLD

@13691812781

onlinesen
onlinesen 于 9 个月前

good

木里妹妹
木里妹妹 于 9 个月前

↖(^ω^)↗加油

wangdaxian
wangdaxian 于 9 个月前

没有写Post类,新建Post.java文件!

各位学过来的大哥们,为什么我原封不动的把代码复制到了esclipse里,也会报错啊。@Toder @vrmango @liangliangwqy 

error.png

@HELLOWORLD

jcy_999
jcy_999 于 9 个月前

请问这个实例的完整代码在哪里下载?

albionlance
albionlance 于 9 个月前

越看越不懂了

albionlance
albionlance 于 9 个月前

foo是fun吧

bltc4274
bltc4274 于 9 个月前
Toder
Toder 于 10 个月前

编译警告,或者项目设置的警告,一般不影响项目正常编译和运行。@1328803630 

1328803630
1328803630 于 10 个月前

Clipboard Image.png第一个文件有个感叹号,怎么回事?

xiaobaishu
xiaobaishu 于 10 个月前

Post post = new Post("");

cser
cser 于 10 个月前

一种常用的写法:

while (true) {
    if (someCondition) {
        break;
    }
}


while (true) {
            String command = scanner.next();
            System.out.println(command);
        }
          布尔表达式居然可以直接设定T/F啊

@mildshl

mildshl
mildshl 于 10 个月前
while (true) {
            String command = scanner.next();
            System.out.println(command);
        }
          布尔表达式居然可以直接设定T/F啊
Toder
Toder 于 10 个月前

getIdPost的方法,用以返回Postid属性。类的属性都是私有的,一般提供公共的gettersetter方法来让外部访问私有变量。比如:

class Post {
    private int id;

    public int getId() {
        return this.id;
    }

    public void setId(int id) {
        this.id = id;
    }
}


 if (post.getId() == id) {
                return post;
post.getId什么意思?
getId应该是个方法函数吧,可是搜索,没这个函数啊,import的这两个没包含他啊

@xi142623

Toder
Toder 于 10 个月前

posts.add(post);中的posts是一个List,调用的是Listadd方法。

xi142623
xi142623 于 10 个月前
public static void add(Post post) {
        posts.add(post);
    }这段代码方法里面又有add,没有具体实现呢,这不成了无限递归了。还有remove也是这样
xi142623
xi142623 于 10 个月前
 if (post.getId() == id) {
                return post;
post.getId什么意思?
getId应该是个方法函数吧,可是搜索,没这个函数啊,import的这两个没包含他啊
plumelet_Fly
plumelet_Fly 于 10 个月前

噗......自己少打了个分号......

应该是你的PATH环境变量配置的问题,再仔细检查一下路径

为什么我搜索不到java

‘java’不是内部或外部命令,也不是可运行的程序或批处理文件

@plumelet_Fly

@Ricky

Ricky
Ricky 于 10 个月前

应该是你的PATH环境变量配置的问题,再仔细检查一下路径

为什么我搜索不到java

‘java’不是内部或外部命令,也不是可运行的程序或批处理文件

@plumelet_Fly

plumelet_Fly
plumelet_Fly 于 10 个月前

为什么我搜索不到java

‘java’不是内部或外部命令,也不是可运行的程序或批处理文件

jewfdfdd
jewfdfdd 于 10 个月前

写不出来sob教程对该应用的程序结构描述太分散了

jewfdfdd
jewfdfdd 于 10 个月前

写不出来sob教程对该应用的程序结构描述太分散了

Toder
Toder 于 10 个月前

thumbsupthumbsupthumbsup

一起交流吧,smile

@Dream Van

Dream Van
Dream Van 于 10 个月前

一起交流吧,490524283smile

zzp1012
zzp1012 于 1 年前

构造函数不能有返回值。

函数重载跟返回值没有关系。

zzp1012
zzp1012 于 1 年前

throws放在执行代码的封装函数后面,调用该函数的方法必须用try/catch进行处理,否则编译将无法通过。

zzp1012
zzp1012 于 1 年前

将可能出现异常的代码通过TRY/CATCH代码进行处理,当异常发生时,系统能够继续运行,而没有意外终止。

zzp1012
zzp1012 于 1 年前

protected修饰成员变量和方法,同一个包里的类可以访问该变量方法;包外的子类可以访问该变量方法。

HELLOWORLD
HELLOWORLD 于 1 年前

@天码君 @Toder 谢谢大哥,懂了。

天码君
天码君 于 1 年前

@HELLOWORLD 

public class Post {
    private String title;
    private String content;
    
    public void print() {
        System.out.println(this.title);
        System.out.println(this.content);
    }
}
HELLOWORLD
HELLOWORLD 于 1 年前

大哥还是不明白啊,教程里在哪儿有解释么?

@HELLOWORLD  创建Post类

@Toder

Toder
Toder 于 1 年前

@HELLOWORLD  创建Post类

HELLOWORLD
HELLOWORLD 于 1 年前

各位学过来的大哥们,为什么我原封不动的把代码复制到了esclipse里,也会报错啊。@Toder @vrmango @liangliangwqy 

error.png

maling
maling 于 1 年前

课程代码在哪里?

zzp1012
zzp1012 于 1 年前

1.JAVA中一个子类只能有一个父类。

2.子类会继承父类中的除构造函数以外的所有非Private成员方法和变量。(1.具体到该例子中就是,rectangle类继承graph类,他就默认具有了graph类的的name属性和show 方法 2. 即使是子类,也无权继承Private的属性)

3.子类不能继承父类构造函数,但要在自己的构造函数中

zzp1012
zzp1012 于 1 年前

FINAL不能修饰构造方法。

shot_the_point
shot_the_point 于 1 年前

@Toder 已经完成环境变量设置,谢谢blush

Toder
Toder 于 1 年前

你说windows上编辑环境变量? 应该有个编辑按钮吧。

最后一步怎么调出编辑的对话框?

@shot_the_point

shot_the_point
shot_the_point 于 1 年前

最后一步怎么调出编辑的对话框?

yikesaiting
yikesaiting 于 1 年前

闲得无聊,看不进去啦

因为看的出来你非常兴奋grin

你咋知道

你用的搜狗拼音吧

克里马擦

@yikesaiting

@Toder

@yikesaiting

@天码君

天码君
天码君 于 1 年前

因为看的出来你非常兴奋grin

你咋知道

你用的搜狗拼音吧

克里马擦

@yikesaiting

@Toder

@yikesaiting

yikesaiting
yikesaiting 于 1 年前

你咋知道

你用的搜狗拼音吧

克里马擦

@yikesaiting

@Toder

Toder
Toder 于 1 年前

你用的搜狗拼音吧

克里马擦

@yikesaiting

yikesaiting
yikesaiting 于 1 年前

克里马擦

vrmango
vrmango 于 1 年前

果然是这样,解决问题了,谢谢啊grin

post.print()而不是 Post.print(),此外要创建Post类才能使用,你写Post类的代码了吗?

问题依旧@Toder

@Toder

Toder
Toder 于 1 年前

post.print()而不是 Post.print(),此外要创建Post类才能使用,你写Post类的代码了吗?

问题依旧@Toder

vrmango
vrmango 于 1 年前

问题依旧@Toder QQ截图20160728135456.png

Toder
Toder 于 1 年前

@vrmango 大小写有误,应该是:

Post post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
vrmango
vrmango 于 1 年前

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)



Post Post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
David
David 于 1 年前

JAVA_HOME 路径设置为JDK的目录,可能你设成JRE的了。

我在命令行里输入java -version显示信息 可是输入javac就说不是内部或者外部命令 怎么办啊?我环境变量都确认了好几遍了

@NLAURFUFTYO

NLAURFUFTYO
NLAURFUFTYO 于 1 年前

我在命令行里输入java -version显示信息  可是输入javac就说不是内部或者外部命令  怎么办啊?我环境变量都确认了好几遍了

NLAURFUFTYO
NLAURFUFTYO 于 1 年前

它又显示找不到或者无法加载主类HelloWorld

这里src是文件夹名称,不需要输入。你应该输入的是:

java HelloWorld

Clipboard Image.png这种情况怎么办啊?我感觉环境变量也设置好了啊

@NLAURFUFTYO

@David

David
David 于 1 年前

这里src是文件夹名称,不需要输入。你应该输入的是:

java HelloWorld

Clipboard Image.png这种情况怎么办啊?我感觉环境变量也设置好了啊

@NLAURFUFTYO

NLAURFUFTYO
NLAURFUFTYO 于 1 年前

Clipboard Image.png这种情况怎么办啊?我感觉环境变量也设置好了啊

fengxingjimo
fengxingjimo 于 1 年前

复杂的初始化操作。了解。

@fengxingjimo 2 这种情况可以写很多语句(因为是个代码块),那就可以做很复杂的初始化操作。而1只能是一个表达式或者常量。

@Toder

Toder
Toder 于 1 年前

@fengxingjimo 2 这种情况可以写很多语句(因为是个代码块),那就可以做很复杂的初始化操作。而1只能是一个表达式或者常量。

fengxingjimo
fengxingjimo 于 1 年前

1.private static int count = 100;

2.static { count = 100; //这里假设100是从数据库中获取Post的数量}

1和2的区别是什么呢?(源自java入门基础的第九课)

fan2kvip
fan2kvip 于 1 年前

www

wdshbhschana
wdshbhschana 于 1 年前

拖动不知道什么意思

Toder
Toder 于 1 年前

@liangliangwqy 你是对的,我以为是while循环,do/while最后确实需要有分号。

liangliangwqy
liangliangwqy 于 1 年前

我没带分号的时候报错哦。

语法格式如下:

do {
	//循环内容
} while( 布尔表达式 );


这里不需要分号吧

while (i <= 100)

最后少了个分号

@liangliangwqy

@David

David
David 于 1 年前

这里不需要分号吧

while (i <= 100)

最后少了个分号

@liangliangwqy

liangliangwqy
liangliangwqy 于 1 年前
while (i <= 100)

最后少了个分号

liangliangwqy
liangliangwqy 于 1 年前

5-引用类型

本页的代码中,Blog应该改成Post。

liangliangwqy
liangliangwqy 于 1 年前

看了一下分号确实有问题,谢谢

@liangliangwqy 应该是你打的分号是中文的分号。

@Toder

Toder
Toder 于 1 年前

@liangliangwqy 应该是你打的分号是中文的分号。

liangliangwqy
liangliangwqy 于 1 年前

对这一行里的前两个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("天码营的博客", "这是我的第一篇博客"); // 创建博客对象
liangliangwqy
liangliangwqy 于 1 年前

“比说我们要做一个博客应用”

应是“比如说。。。”

liangliangwqy
liangliangwqy 于 1 年前

在这里D:\workspace\HelloWorld\bin\blog\HelloWorld.class

到系统中对应的文件目录中看看

你指的是哪里?

@liangliangwqy

@David

David
David 于 1 年前

到系统中对应的文件目录中看看

你指的是哪里?

@liangliangwqy

liangliangwqy
liangliangwqy 于 1 年前

你指的是哪里?

liangliangwqy
liangliangwqy 于 1 年前

eclipse.jpg

应该在target或者build目录下有.class文件。

“运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。”


在eclipse里面,运行程序之后输出了正确的内容,但是没看到.class文件,是用C图标表示的.class文件吗?

@liangliangwqy

@David

David
David 于 1 年前

应该在target或者build目录下有.class文件。

“运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。”


在eclipse里面,运行程序之后输出了正确的内容,但是没看到.class文件,是用C图标表示的.class文件吗?

@liangliangwqy

liangliangwqy
liangliangwqy 于 1 年前

“运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。”


在eclipse里面,运行程序之后输出了正确的内容,但是没看到.class文件,是用C图标表示的.class文件吗?

liangliangwqy
liangliangwqy 于 1 年前

是的,网上查了一下,自己新建了一个Package就好了。

我猜是没有设置包(Package)的原因。暂时还没涉及这个概念,所以代码没有放在任何Package内。

有警告

@liangliangwqy

@David

David
David 于 1 年前

我猜是没有设置包(Package)的原因。暂时还没涉及这个概念,所以代码没有放在任何Package内。

有警告

@liangliangwqy

liangliangwqy
liangliangwqy 于 1 年前

有警告

cser
cser 于 1 年前

很不错!

hmj123
hmj123 于 1 年前

smile

fengzhi714
fengzhi714 于 1 年前

或运算写错了 \ | --> || 

Toder
Toder 于 1 年前
mysky13458
mysky13458 于 1 年前
  1. g
David
David 于 1 年前

最后一句

即两者在概念本质上是相同的。

改为

即两者在概念本质上是不同的。

@375889550

已经修改,谢谢!

375889550
375889550 于 1 年前

最后一句

即两者在概念本质上是相同的。

改为

即两者在概念本质上是不同的。

Toder
Toder 于 1 年前

试了一下,没有复现,出错信息是? @rockyzlwang

rockyzlwang
rockyzlwang 于 1 年前

点击目录出现天马营出错的窗口,是什么情况?

wangzishuo
wangzishuo 于 1 年前

第九章的static修饰方法有一处笔误 Post.getCont() 应该改为 Post.getCount()

93Kevin
93Kevin 于 1 年前

我的邮箱激活链接一直无效@Toder

Toder
Toder 于 1 年前

初步接触Java编程的童鞋看过来!heart_eyes  我们开放了一个Java基础教程,将Java的入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界。万事开头难,逐步跟着这个教程走一遍,对Java应该就会有一种入门的感觉了。然后再去学习更高级的主题,或者更深入地学习其中的某些知识点。 

咨询老师