秋灯Lantern
Zapic 发表于 2019-6-24 00:37
学过C#的一路看过来都没掉一根粉毛的>_

好der 了解√

秋灯Lantern
Maotong_qwq 发表于 2019-6-24 06:32
看到这个名字我就打算先收藏一下等什么时候记起来再看

谢谢收藏鸭~感谢支持

默言my
支持楼主感谢大佬分享

秋灯Lantern
楼主推掉了暑假工 来给你们写帖子[分明是被人开了]

秋灯Lantern
本帖最后由 秋灯Lantern 于 2019-6-30 23:32 编辑


java专讲1-----续

[Part3] Java变量与常量



我们来看百科的定义

“常量”的广义概念是:‘不变化的量’
............[省略]
常量可区分为不同的类型,如:25、0、-8为整型常量,6.8、-7.89为实型常量,‘a’、‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。

编程方面 将常量其分类为 整型常量[整数] 实型常量[小数] 字符常量[字符]

其实我觉得这个分类没什么用。了解一下就好

只需要知道 常量是不变化的量。



再看变量  [省略整个百科]

变量就是可以变化的量。

我我们可以对其进行多次修改



在java中 我们认为

数据被存储在内存中 不同的数据有不同数据类型

不同的类型有的不同的存储方式

[一个数据可能有多种存储方式任君选择]

而当我们想要使用这个数据的时候

机器会在内存中寻找这个数据 而不是我们给它数据它就直接用

所以我们就需要这两个概念----变量名 与 常量名

我们写程序的时候写出来的是变量名 实际上机器用的是这个数据

对于存储的数据 我们将其称作 变量值/常量值

我们需要将变量值与变量名绑定 这个操作叫做 赋值


我们修改变量值的方式也是赋值。 赋值符号就是等于号 [ = ]



那么我们要怎么进行赋值?

打开我们的eclipse [终于可以敲代码了]

我们先前创建了这样一个目录

如果你没有的话可以参照前面的内容重新创建[不看最好]






我们双击打开java文件 先前的代码全部删除

学了变量以后

我们可以用另一种方式来写HelloWorld
  1. package HelloWorld;
  2. public class HelloWorld {
  3.         
  4.         public static void main(String[] args){
  5.                
  6.                 String a123 = "HelloWorld";
  7.                 final String b123 = "HelloWorld";
  8.                
  9.                 System.out.println(a123);
  10.                 System.out.println(b123+" "+a123);
  11.         }
  12. }
复制代码
下面是分析

补充说明一下 由于没有换行和空格 所以在同一行输出了三遍HelloWorld。
是我瞎了





看完了分析 尝试自己敲代码来使用变量?

一定要多敲代码。。。别忘了句号


留个小课题 如何是用变量输出

而且使输出结果为HelloWorld HelloWorld 而不是HelloWorldHelloWorld

[中间加一个空格]

下面是答案



先到这吧 [2019年6月24日20:59:42]
完了 越写 拓展越多 越感觉好多没讲
变量作用域 常量:转义字符 还有上面小课题为什么用+号

袋里的鲨
秋灯Lantern 发表于 2019-6-24 00:28
本帖最后由 秋灯Lantern 于 2019-6-24 19:36 编辑
题前废话
补一张前面第三章的图 二楼也有 我怕有人电竞 ...

我堂堂 double 怎么可能只存两位小数 = =
建议补一本 Java 技术参考用书

秋灯Lantern
本帖最后由 秋灯Lantern 于 2019-6-25 07:53 编辑
袋里的鲨 发表于 2019-6-24 23:49
我堂堂 double 怎么可能只存两位小数 = =
建议补一本 Java 技术参考用书
多谢大佬指正!!
已修改。我也只是一个小白啦。。只是想和大家一起学习
只是单纯喜欢MC 想要初次尝试做一个mod/插件 我觉得是不必要看什么书的。。

当然如果想做一些 特别的 很棒的mod 还是需要对java有足够的理解 当然需要看书
难道有谁会指望只看教程的小白写出essentials IC2 这类在MC当中雷打不动mod/插件霸主地位的东西?

袋里的鲨
秋灯Lantern 发表于 2019-6-25 07:52
多谢大佬指正!!
已修改。我也只是一个小白啦。。只是想和大家一起学习
只是单纯喜欢MC 想要初次尝试做一 ...

书到用时方恨少啊 = =

fuckanyone
既然你都这么说了。。那我就水咯?????

秋灯Lantern
哎你们每人回复我都不想更 [明明是是沉迷csgo]

kuikui851
给力 挺有意思的 学到了一些东西

无心人书屋
我也要学。。
这话半年前貌似说过了?

秋灯Lantern
LZ更新了!!!!!正在写帖子 预计一点左右发布 可能再来一发 也可能明天 [但你要知道秋灯是弧人精]

kuangshijs
支持大佬

C__C
你说的这些太基础了,不如讲解一下JDBC,IO,多线程这些,我到有兴趣会看看,没想到你竟然连JDK这些最最基础的东西都讲

秋灯Lantern
本帖最后由 秋灯Lantern 于 2019-7-1 01:13 编辑
C__C 发表于 2019-7-1 01:03
你说的这些太基础了,不如讲解一下JDBC,IO,多线程这些,我到有兴趣会看看,没想到你竟然连JDK这些最最基础的东 ...

可是还有人看不懂。

如果你只看这些 我不觉得会缺资源
另外我确实是小白 你说的我都不会2333我只是萌新的引路人 基础明白了才是根本 基础都不会 高阶教程再多也没用

秋灯Lantern
,,拖一会儿 比我想的要多 举例也多 花了不少心思试图讲明白 讲简单 等等吧 其实才写没多少。。。。。
天亮之前搞定。

C__C
秋灯Lantern 发表于 2019-7-1 01:12
可是还有人看不懂。

如果你只看这些 我不觉得会缺资源

hhhhh,我这边以为你是老司机了,我说的这些百度确实很多,但是我真正需要的是JAVA三大高级框架深层原理,这东西百度出来的可不是很多,有的还不全,,所以基础东西也不需要,偶尔看看回忆回忆也是可以的,但是你发的太基础了,所以就说一下太基础了

秋灯Lantern
java专讲1 再续


继承废话惯例 - 题前废话



[Part4] 补充知识
题后废话

这一part相对而言 如果你只是简简单单写个小插件 满足一下自我需要
那么相对而言没有那么重要[相对而言]
其实如果前面都理解了 这里也相对简单

如果你想踏踏实实学好java基础 以备以后认真学习java
那么基础知识还是必须要非常扎实。



我来补充一下上文没讲的 变量作用域 常量:转义字符 还有上面小课题为什么用+号 以及别的琐碎东西。

变量作用域 - 其实可以给他改个名字 叫 变量类型 比较好理解
毕竟变量的作用范围 就是 public private protected 前面讲过 和方法是一样的

来看下图变量的分类


我们来挨个解析
成员变量 - 成员变量被声明在 类之下、方法之外 它会被与类一同创建 与类共存 成员变量也叫属性
其中以static修饰的类变量 表示静态 类变量也叫 静态变量/静态属性 一般不轻易改变
不用static的实例变量 是 当类被实例化成一个对象 每个对象都不太一样的变量
static下面讲
举例代码也在static那里

举栗
比如我可以创建一个类 叫做 LOLheroes [即LOL英雄]
每个英雄都属于这个类 而每个英雄自己 又是单独个体[即对象]
我们需要创建一个新英雄的时候 就实例化这个类
产生一个新的对象[于是一个新的英雄诞生了]

他们都具有一定的属性 比如 血量 法力值 移动速度等等 这就是实例变量
而且每个英雄的属性各自不同 所以我们可以对每个英雄的属性进行更改

但是某些属性是一样的 比如他们可以携带的装备都是六个 这就是类变量/静态变量
它是
这个值我们一般不修改 所以说类变量通常是常量。



关于static
static我们知道可以修饰方法和变量
static我们前面说表示静态 那么静态的含义到底是什么?
这里给大家解惑

首先说方法 当A方法为静态 B方法非静态
此时在A方法中并不能调用B方法 但是在B方法中却可以调用A方法
除非B方法的所在类被实例化成一个对象 B才可以被调用

你可以将static修饰的 理解为“具体的” 因为静态变量不常被改变 基本是固定的
我们在类中声明实例变量时 因为每个对象的实例变量都不一样
所以 类中的实例变量 理解为"抽象的"而我们创建对象的过程是 类的实例化
实例化类的时候 也会将实例变量进行实例化 这个时候 对象的实例变量才是“具体的”
我们使用static其实是省去了实例化的过程
这个时候我们才可以对其进行调用


变量也是同理 静态变量[或类变量] 可以在作用范围内直接被调用
所以说
 static的作用是
方便在没有创建对象的情况下来进行调用(方法/变量)。




我这里举一个例子


图是网上盗来的 还挺合适
所以解析我写在下面就不写在图里了

第11行 - 声明了一个String类型的类变量str1 而private 表示该变量只可以在本java文件内被调用
第12行 - 声明了一个实例变量 基本同上。

第14-16行 - 没用。这是一个没什么用的构造方法。
第18-22行 - 这是一个 正常的、非static的方法print1() 它调用了 static的str1 和 非static的str2

第24-28行 - 这里创建了一个static的方法print2()
我们能看到 它调用非static的方法print1() 和 变量str2 都是不可以的

所以由第24-28行来看 没有static还挺麻烦
所以我再次强调
static的作用是
方便在没有创建对象的情况下来进行调用(方法/变量)。




来一波牢骚。






转义字符 - 转义字符的本质是一种常量 但是它具有特殊含义 [类似关键字但是并不是关键字]
下面是常用的转义字符
[复制粘贴的表格 你不用管Unicode那一列 懂得自然懂 不懂现在也不需要懂 我可能以后讲]

转义字符Unicode表示方式功能解释
\b\u0008  退格符
\n\u000a换行符
\r\u000d回车符(可以换行)
\t\u0009空格符
\" \u0022双引号
\'   \u0027   单引号
\\\u005c反斜线


举个例子 转义字符虽然是常量 但是还是要在双引号内使用
我们可以对上文说的HelloWorld进行换行 而不只是空格


在java中 一些字符 被我们用双引号包围起来 我们就称其为 字符串 属于String类型的数据
而单个字符 被我们用单引号包围 我们称其为 字符 属于char类型的数据
[其中单引号双引号都是英式的 java中所有符号都是英式的 而非中式]

而加号 其实是 连接运算符 它可以将前后两个表示字符/字符串 的数据进行连接 成为整体的一个长字符串





秋灯Lantern
C__C 发表于 2019-7-1 01:16
hhhhh,我这边以为你是老司机了,我说的这些百度确实很多,但是我真正需要的是JAVA三大高级框架深层原理, ...

那就 掏钱 买书 或者去找公司里上班的dalao

秋灯Lantern
@Tollainmear 哇啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 感谢dadiao dalao支持!

秋灯Lantern
咳 不知不觉又是一周没更新
我这几天忙于csgo/codol 还有某PE工作室。。[尽管我不玩PE]

今天我被莫名其妙摊上了什么组织的副掌柜的..
我自己服务器找的那个OP还破事挺多。。要我自己来开服
我这两天有空更新下==
有兴趣加入我这个 和平共处 没有要求、自诩 孕育灵感与知识的地方 的组织
可以QQ搜索门牌号 139967641

Dr.Slime
java学习太难了
我以前学了个一天不知道自己在学什么

秋灯Lantern
青藤子. 发表于 2019-7-12 08:35
java学习太难了
我以前学了个一天不知道自己在学什么

不要挖坟了。。我不想更了

Dr.Slime
秋灯Lantern 发表于 2019-7-12 22:18
不要挖坟了。。我不想更了

我并不是挖坟,我只是想让你更新啊

世予予
...
好像前几天有来看过来着0.0
我又忘了

秋灯Lantern
青藤子. 发表于 2019-7-12 22:26
我并不是挖坟,我只是想让你更新啊

天哪 人心险恶

1123657
想学但没时间

45gfg9
论坛似乎是不允许单纯的发Java教程的
我以前就这么干过 然后就死了。

-那位大人-
这种东西真的适合丢茶馆吗?

第一页 上一页 下一页 最后一页