吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1282|回复: 23
收起左侧

[学习记录] 自学Java-0基础到框架(JDK17)-day01

  [复制链接]
xiaotian1339 发表于 2022-3-30 17:49
本帖最后由 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”返回以下信息则为安装配置完成!

    cmd

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

idea1

idea2

idea3

idea4

项目创建完成

Tips:一开始我直接在项目根目录直接创建java类,发现无法调试和运行。找了不少地方才知道idea创建好项目之后添加Java类需要在生成的“src”目录下进行新建文件

> 因为笔记是使用MarkDown进行的记录,所以自己在项目文件下创建了md文件夹,默认是没有的,望知悉


2.Hello World

创建Java类

new

new1


代码编写

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

hw1

Hello World完整代码内容

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或者工具栏选择运行找到运行进行代码编译运行

qgb3Js.png

选择HelloWorld运行

后话

  1. 发现一个错误,在Java中类名应该是首字母大写的,多单词应该均保持首字母大写。这里贴出来找到的Java语法注意事项。
  • 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass
  • 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
  1. 多方搜索,发现控制台编译程序需要执行
$ javac XXX.java
$ java XXX

​        才会有输出结果。

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

$ java XXX.java

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

运行结果

ok

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

Hello world!
Java!

3.基础语法

基础语法

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

标识符

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

关键字

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

q2C8fK.png

修饰符

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

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

变量

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

数组

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

枚举

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

例如奶茶店只设置了大、中、小杯,所以顾客只能在大中小中选择

使用枚举可以减少代码中的 意外错误

继承

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

注释

// 单行注释
/*
*多
*行
*注
*释
/*

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
Bigdangjia + 1 + 1 我很赞同!
excitation + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

万军 发表于 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
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-5 23:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表