xiaotian1339 发表于 2022-3-30 17:49

自学Java-0基础到框架(JDK17)-day01

本帖最后由 xiaotian1339 于 2022-3-30 17:58 编辑



## 1.环境

- IDE选择的为JetBrain的为**IntelliJ IDEA Ultimate 2021.3 **
- Java 选择的为 JDK17.0.2

----

> 在开始自学前,需要已基础了解什么为计算机程序,基础dos操作等

---

### 自学前准备

1. JDK的安装直接从Java官网进行下载安装并配置好环境变量,运行cmd输入“java -version”返回以下信息则为安装配置完成!

   !(https://s1.ax1x.com/2022/03/30/qgoNUs.png)

2. 创建项目,IDEA-> 新建项目 -> 选择安装的SDK ->取消勾选“从模板中创建项目” ->选择保存路径   -> 完成

!(https://s1.ax1x.com/2022/03/30/qg5ERK.png)

!(https://s1.ax1x.com/2022/03/30/qg5VxO.png)

!(https://s1.ax1x.com/2022/03/30/qg5gL4.png)

!(https://s1.ax1x.com/2022/03/30/qgInpV.png)

项目创建完成

> Tips:一开始我直接在项目根目录直接创建java类,发现无法调试和运行。找了不少地方才知道idea创建好项目之后添加Java类需要在生成的“src”目录下进行新建文件
>
> > 因为笔记是使用MarkDown进行的记录,所以自己在项目文件下创建了md文件夹,默认是没有的,望知悉

---

## 2.Hello World

### 创建Java类

!(https://s1.ax1x.com/2022/03/30/qgTxYR.png)

!(https://s1.ax1x.com/2022/03/30/qg774A.png)

---

### 代码编写

因为是刚入门所以直接利用IDEA的代码智能声明自动补充

!(https://s1.ax1x.com/2022/03/30/qgHHZF.png)

#### Hello World完整代码内容

```java
public class Helloworld {
    public static void main(String[] args) {
      System.out.println("Hello World!\n Java!");
    }
}
```

> 解析代码:(类比于其他语言的解释,如有不正确请评论指出)
>
> 1. **main**: 与C和其他语言类似 ,main 是一个程序的入口,一个 java 程序运行必须而且有且仅有一个 main 方法。
> 2. **public**: 表示的这个程序的访问权限,我目前认为表示的是任何的场合可以被引用,与之对应的是private。(类似于python吧,目前这么认为)
> 3. **static**: 表示方法是静态的,在加载的时候 main() 方法也随着加载到内存中去。
> 4. **void**:无需返回值
> 5. **String[] args**:从控制台接收的参数。

Alt+Shift+F10或者工具栏选择运行找到运行进行代码编译运行

!(https://s1.ax1x.com/2022/03/30/qgb3Js.png)

选择HelloWorld运行

#### 后话

1. 发现一个错误,在Java中类名应该是首字母大写的,多单词应该均保持首字母大写。这里贴出来找到的Java语法注意事项。

> - **大小写敏感**:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
> - **类名**:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 **MyFirstJavaClass** 。
> - **方法名**:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
> - **源文件名**:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 **.java**。(如果文件名和类名不相同则会导致编译错误)。
> - **主方法入口**:所有的 Java 程序由 **public static void main(String[] args)** 方法开始执行。

2. 多方搜索,发现控制台编译程序需要执行

```bash
$ javac XXX.java
$ java XXX
```

​      才会有输出结果。

​      不过我发现在jdk17中只需要输入

```bash
$ java XXX.java
```

就可以直接输出结果了,不知道是不是新版本特性。

#### 运行结果



!(https://s1.ax1x.com/2022/03/30/qgbNLT.png)



可以看到项目文件下多了Out文件夹,下面已经运行出来了

```bas
Hello world!
Java!
```



---

## 3.基础语法

### 基础语法

可以跳转到上面后话的注意事项

### 标识符

1. 应以字母或是“$”或“_”开头
2. 关键字不能作标识符
3. 区别大小写

### 关键字

这里贴出来百度百科相关资料

!(https://s1.ax1x.com/2022/03/30/q2C8fK.png)

### 修饰符

1. default, public , protected, private
2.final, abstract, static, synchronized

具体什么区别目前还不清楚

### 变量

1. 局部变量
2. 类变量(静态变量)
3. 成员变量(非静态变量)

### 数组

储存在堆上的对象,存多个同类型变量。

### 枚举

Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。

> 例如奶茶店只设置了大、中、小杯,所以顾客只能在大中小中选择
>
> 使用枚举可以减少代码中的 意外错误

### 继承

利用继承可以重写原来类中的属性和方法,也可以调用所继承类中的方法

### 注释

```java
// 单行注释
/*
*多
*行
*注
*释
/*
```

万军 发表于 2022-3-30 18:26

本帖最后由 万军 于 2022-3-30 18:28 编辑

同学习,打卡
现在直接 从17版本入手学习了? 印象还在Java8

xiaotian1339 发表于 2022-3-30 18:56

万军 发表于 2022-3-30 18:26
同学习,打卡
现在直接 从17版本入手学习了? 印象还在Java8

因为想一路从0基础慢慢学到框架,我看一些文章写部分框架将仅支持jdk17,所以决定从17开始入手学习。共同进步!

shuangyan 发表于 2022-3-30 19:17

英语不好的能学吗,难度高吗--

阿琛 发表于 2022-3-30 19:36

看的哪个视频或者文档学的?有推荐吗

绝对疯子 发表于 2022-3-30 19:44

这个学会了~能用来什么领域?

xiaotian1339 发表于 2022-3-30 20:02

shuangyan 发表于 2022-3-30 19:17
英语不好的能学吗,难度高吗--

能学,难度不是很大的

xiaotian1339 发表于 2022-3-30 20:04

阿琛 发表于 2022-3-30 19:36
看的哪个视频或者文档学的?有推荐吗

我是直接从网上找的文档学习,遇到不会的在搜索引擎搜索的

xiaotian1339 发表于 2022-3-30 20:06

绝对疯子 发表于 2022-3-30 19:44
这个学会了~能用来什么领域?

Java领域比较广吧,安卓app,网站后台,应用程序……

六月莫竹 发表于 2022-3-30 20:15

大佬挺猛,上来就整jdk17
页: [1] 2 3
查看完整版本: 自学Java-0基础到框架(JDK17)-day01