【每日学习java-day01】

一、java的背景知识

1.1java的发展

  • Java是哪家公司的产品?

Java是美国Sun(Stanford University Network,斯坦福大学网络公司)公司在1995年推出的一门计算机高级编程语言。但是在2009年是Sun公司被Oracle(甲骨文)公司给收购了,所以目前Java语言是Oracle公司所有产品。在这里插入图片描述

  • Java名称的来历?

早期这门语言的名字其实不叫Java,当时称为Oak(橡树的意思),为什么叫橡树呢?原因是因为Sun公司的门口种了很多橡树,但是后来由于商标注册时,Oak商标已经其他公司注册了,所以后面改名为Java了。那么有人好奇为什么叫Java呢?Java是印度的一个岛屿,上面盛产咖啡,可能是因为他们公司的程序员喜欢喝咖啡,所以就改名为Java了。
在这里插入图片描述

  • Java的创始人是谁?

说完Java名称的来历之后,接下来我们聊聊Java的祖师爷是谁? Java的联合创始人有很多,但是行业普遍认可的Java的创始人 是詹姆斯.高斯林,被称为Java之父。在这里插入图片描述

1.2Java的技术体系

(1)Java SE(Java Standard Edition):叫做标准版,它是后面两个版本的基础,也就是学习后面两个版本必须先学习JavaSE。

(2)Java EE(Java Enterprise Edition): 叫做企业版,它是为企业级应用开发提供的一套解决方案。

(3)Java ME(Java Micro Edition):叫做小型版,它为开发移动设备的应用提供了一套解决方案。目前已经不被市场认可(淘汰),取而代之的是基于Android系统的应用开发。

二、JAVA快速入门

Java开发环境,实际上就是Java官方提供的一个软件,叫做JDK(全称是Java Develop Kit),翻译过来意思就是Java开发工具包。我们先要到官网上去下载JDK,然后安装在自己的电脑上,才可以在自己的电脑上使用JDK来开发Java程序。

JDK的版本有很多,下图是JDK版本更新的历程图,有LTS标识的是长期支持版本(意思就是Oracle会不定期更新)。目前公司中用得最多的版本是JDK8版本,在目前这套课程中我们为了将一些新特性会使用JDK17版本。
在这里插入图片描述

2.1JDK的下载和安装

  • JDk下载

(1)这是JDK下载的官方网址 https://www.oracle.com/java/technologies/downloads/,你需要把该网址复制到浏览器的地址栏,敲回车

(2)进入网址后,选择JDK17版本,找到Windows标签,选择x64 Installer版本。如下图所示:

  • JDK安装

双击安装包,按照下图引导,点击下一步即可安装。需要注意的是安装JDK后不像你安装QQ一样会在桌面上显示一个图标,JDK安装后桌面上没有图标!!!
JDK安装

  • 验证JDk

在文件资源管理器打开JDK的安装目录的bin目录,会发现有两个命令工具 javac.exe java.exe,这就是JDK提供给我们使用的编译工具和运行工具,如下图所示:在这里插入图片描述

接下来开始验证JDK

(1)第一步:在JDK的bin目录,地址栏输入cmd,回车输入完cmd回车后,会出现一个黑窗口,专业说法叫命令行窗口

(2)第二步:在命令行窗口中输入 javac -version回车,然后输入java -version回车 如果出现下面红色框框的提示正确版本号,和我们安装的JDK版本号一致,就说明JDK安装成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2命令行窗口(cmd、doc)的常见命令

(1)前面测试JDK是否安装成功,需要在黑窗口中输入javac -version和java -version 这其实就是JDK查看编译工具和运行工具版本号的命令。

(2)这种输入命令的和电脑交互的方式,称之为命令行交互。也就是说,可以使用命令指挥电脑做事情。接下来我们了解几种Windows系统常见的命令,后面可能会用到。

(3)下面是Windows系统常见的命令以及作用,小伙伴们可以自己试一试。需要注意的是,每敲完一条命令之后,马上敲回车就表示执行这条命名。

E:              切换到E盘

cd [目录]        进入指定的目录

cd ..           退回到上一级目录

cd /            退回到根目录

dir             显示当前目录下所有的内容

cls             清空屏幕

tree            目录名,查看指定的目录下所有的子级目录

md              建立目录

rm              删除目录

exit            退出dos

2.3JAVA的入门程序

我们已经安装好了JDK,接下来,我们就正式开始开发第一个入门Java程序。按照国际惯例,学习任何一本编程语言第一个案例都叫做 Hello
World,意思是向世界问好,从此开用程序和世界沟通的大门。

编写一个Java程序需要3步骤:编写代码,编译代码,运行代码
在这里插入图片描述

- 编写代码
任何一个文本编辑器都可以些代码,如Windows系统自带的记事本

- 编译代码
将人能看懂的源代码(.java文件)转换为Java虚拟机能够执行的字节码文件(.class文件)

- 运行代码

将字节码文件交给Java虚拟机执行

- 注意事项

① 第一个Java程序建议使用记事本书写。
② 建议代码文件名全英文,每个单词首字母大写,满足驼峰模式,源代码文件的后缀必须是.java

- 入门程序

按照下面提供的步骤,一步一步的完成第一个Java入门程序的编写、编译和执行。

第一步(编写程序)
新建一个后缀为.java的文本文件HelloWorld.java,用记事本编写代码如下。

public class HelloWorld {
   public static void main(String[] args) {
     System.out.println(" HelloWorld ");
    }
}

第二步(进入命令行)
进入HelloWorld.java文件所在目录,在地址栏输入cmd回车,即可在此处打开命令行窗口。
在这里插入图片描述

第三步(编译与运行)

  1. 编译:在命令行窗口输入编译命令javac HelloWorld完成编译,编译后会生成一个HelloWorld.class文件。

  2. 运行:输入java HelloWorld就可以运行了
    在这里插入图片描述

2.4用记事本编写JAVA程序常见的问题

  1. Windows的文件扩展名没有勾选
  2. 代码写了,但是忘记保存了
  3. 文件名和类名不一致。
  4. 英文大小写错误,单词拼写错误,存在中文符号,找不到main方法。
  5. 括号不配对。
  6. 编译或执行工具使用不当。

2.5 JAVA开发注意事项

  1. java应用程序的执行入口是main()方法。它有固定的书写格式。
  2. java方法由一条条语句构成,每条语句以;结束。
  3. 大括号都是成双成对出现,缺一不可。
  4. 一个源文件只能有一个public类,其他类个数不限,也可以将main方法写在非punlic类中,然后指定运行非public类,这样方法入口就是非public类的main方法。

如果出错的就对照的上列错误的可能性去检测一遍

2.6JDK的介绍

  • JDK组成

JDK由JVM、核心类库、开发工具组成,如下图所示
在这里插入图片描述

  • 什么是JVM?

答:JDK最核心的组成部分是JVM(Java Virtual Machine),它是Java虚拟机,真正运行Java程序的地方。

  • 什么是核心类库?

答:它是Java本身写好的一些程序,给程序员调用的。 Java程序员并不是凭空开始写代码,是要基于核心类库提供的一些基础代码,进行编程。

- 什么是JRE?

答:JRE(Java Runtime Enviroment),意思是Java的运行环境;它是由JVM和核心类库组成的;如果你不是开发人员,只需要在电脑上安装JRE就可以运行Java程序。

- 什么是开发工具呢?

答:Java程序员写好源代码之后,需要编译成字节码,这里会提供一个编译工具叫做javac.exe,编写好源代码之后,想要把class文件加载到内存中运行,这里需要用到运行工具java.exe。
除了编译工具和运行工具,还有一些其他的反编译工具、文档工具等待…

JDK、JRE的关系用一句话总结就是:用JDK开发程序,交给JRE运行

2.7JAVA跨平台的原理

一次编译,处处可用
学完JDK的组成后,我们知道Java程序的执行是依赖于Java虚拟机的。就是因为有了Java虚拟机所以Java程序有一个重要的特性叫做跨平台性。

  • 什么是跨平台行呢?

所谓跨平台指的是用Java语言开发的程序可以在多种操作系统上运行,常见的操作系统有Windows、Linux、MacOS系统。
如果没有跨平台性,同一个应用程序,想要在多种操作系统上运行,需要针对各个操作系统单独开发应用。比如微信有Windows版本、MacOS版本、Android版本、IOS版本

  • 为什么Java程序可以跨平台呢?

跨平台性的原理是因为在不同版本的操作系统中安装有不同版本的Java虚拟机,Java程序的运行只依赖于Java虚拟机,和操作系统并没有直接关系。从而做到一处编译,处处运行。
在这里插入图片描述

  • 如果觉得蒙圈就听一个小故事

高考结束了,小明想出国走走开拓以下眼界,体验以下其他国家的风土人情,他现在有三个理想国家,日本、俄罗斯、美国。但眼下的问题是小明只会中文,他不仅只想去走一趟,他想的是去这些国家进行采访和观察,可是语言并不相通,此时一个国际旅游社找到了小明,并为他派出翻译官,他每想去一个国家就会安排一个当地翻译官为他进行翻译。
在这里插入图片描述

三、IDEA的使用

1.大家刚才写代码的时候都是用记事本写的,但是有没有觉得记事本写代码不太方便啊!记事本写代码单词写错了没有提示,格式也不好调整,写代码之后还需要我们到命令行使用javac命令手动编译,然后运行。

2.有没有一种软件能够将写代码、编译、运行等工具集成到一起呢? 有,这就是集成开发环境(Integrated DevelopmentEnvironment ,简称IDE)。除此之外,IDEA还有代码提示、检查代码错误等功能,从而提高程序员的开发效率。
3.IDE有很多种,常见的Eclipse、MyEclipse、Intellij
4. IDEA、JBuilder、NetBeans等。但是这些IDE中目前比较火的是Intellij
5. IDEA(以下简称IDEA),被众多Java程序员视为最好用的Java集成开发环境,所以我们课程中就以IDEA为开发工具来编写代码,以后大家去公司也建议用IDEA作为开发环境。

3.1IDEA编写Java程序

想要在IDEA正确的写一个Java程序,必须先认识一下IDEA的管理Java程序的工程结构。
在这里插入图片描述

  • 第一步

首先得在IDEA中创建一个Project(工程、也叫项目),后面统称为工程。
在这里插入图片描述

  • 第二步

需要在Project中创建Module(模块),一个工程中可以包含多个模块
在这里插入图片描述

  • 第三步

需要在Module中新建Package(包),一个模块中可以有多个包

在这里插入图片描述

  • 第四步
    需要在Package中新建Class(类),一个包中可以包含多个类

在这里插入图片描述

3.2IDEA的各种配置

  • 主题配置

  • 在这里插入图片描述

  • 字体配置

  • 在这里插入图片描述

  • 背景色配置
    在这里插入图片描述

3.3快捷键

快捷键 功能效果

main/psvm	        快速生成main()方法
sout                快速生成输出语句
Ctrl + D	        复制当前行数据到下一行
Ctrl + Y	        删除所在行,建议用Ctrl + X
Ctrl + ALT + L	    格式化代码
ALT + SHIFT +, ALT + SHIFT + ↓	上下移动当前代码
Ctrl + /        	对代码进行单行注释
Ctrl + Shift + /	对代码进行多行注释
Shift+回车	        光标向下移动一行

四、JAVA基础语法

4.1注释

  • 什么是注释?

注释是解释说明程序的问题,方便自己和别人阅读代码

  • 注释有哪几种?格式怎样?

1.单行注释:

//后面跟解释文字

2.多行注释

/*
这里写注释文字
可以写多行
*/

3.文档注释

/**
这里写文档注释
也可以写多行,文档注释可以利用JDK的工具生成帮助文档
*/

  • 注释讲解入门程序
/**
 * 这是文档注释
 */
//HelloWorld{}表示一个类的开始和结束
public class HelloWorld {
    // 这是程序的入口, 程序就是从这里开始运行的(大门)
    //main(){}表示方法的开始和结束
    public static void main(String[] args) {
        /*
        System.out.println: 打印, 作用是把括号中的数据显示在控制台
        括号里面就是要打印的内容
         */
        System.out.println("Hello World");
//;->分号表示语句结束
    }
}

我最讨厌两种人,一种是不写注释的,另一种是让我写注释的。 在这里插入图片描述

4.2字面量(常量)

  • 什么是字面量?

大家不要被这个词搞晕了,它其实很简单,我们知道计算机是来处理数据的,字面量其实就是告诉程序员数据在程序中的书写格式。下面是常用的数据在程序中的书写格式
在这里插入图片描述

  • 编写程序

在命令行打印输出各种类型的字面值

/*
目标:掌握常见数据在程序中的书写
    1.整数
    2.小数
    3.字符
    4.字符串
    5.布尔值
 */
public class Literal01 {
    public static void main(String[] args) {
        // 1.整数
        System.out.println(666);//输出666

        // 2.小数
        System.out.println(3.33);//输出3.33

        // 3.字符: 字符必须用单引号包裹起来, 单引号里面只能放一个内容(且不能为空)
        System.out.println('a');//输出:a
        System.out.println('3');//输出:3
        System.out.println('中');//输出:中
        System.out.println('  ');//输出:空格
      错误演示:  System.out.println(' ');//错误

        // 4.字符串: 字符串是双引号包裹起来, 双引号里面内容任意
        System.out.println("秃");//输出:秃
        System.out.println("秃头程序员");//输出:秃头程序员
        System.out.println("");//什么都没输出
        System.out.println(" ");//输出:空格

        // 5.布尔值
        System.out.println(true);//输出:flase
        System.out.println(false);//输出:true
    }
}

4.3变量

  • 什么是变量?

变量是用来记录程序中的数据的。其本质上是内存中的一块区域,你可以把这块区域理解成一个小盒子。
在这里插入图片描述

  • 代码演示
/*
    目标:认识变量,理解变量的作用和应用场景
        变量格式: 数据类型 变量名 = 值;
​
        假设多个地方用到整数10, 现在想把10改为20
        使用变量的好处: 把x值改了, 后面用到x的地方都会改变
        变量有应用场景: 假设你微信有200元, 中午吃饭花了16元, 晚上吃饭用了18元, 睡觉前女朋友给你发了个红包66元, 请问微信余额是多少?
 */
public class Variable01 {
    public static void main(String[] args) {
        // 变量格式: 数据类型 变量名 = 值;
        int age = 18;
        System.out.println(age);
    }
}

Ps:当执行int age = 18;
这句代码时,JVM会在内存中申请一块区域,在这个区域中存储了一个整数18,给这个区域取的名字叫age;
相当于在盒子中存了一个数据18,这个盒子的名字是age,当我们打印age时,就是从盒子中把盒子中的数据取出来再打印。

  • 为什么要用变量呢?

使用变量来记录数据,对于数据的管理更为灵活。比如我们有多个地方用到一个整数10,

/*
    目标:认识变量,理解变量的作用和应用场景
        1.变量格式: 数据类型 变量名 = 值;

       假设多个地方用到整数10, 现在想把10改为20
    2. 使用变量的好处:
      把x值改了, 后面用到x的地方都会改变
     3. 变量有应用场景:
       假设你微信有200元, 中午吃饭花了16元, 晚上吃饭用了18元,
        睡觉前女朋友给你发了个红包66元, 请问微信余额是多少?
 */
public class Variable01 {
    public static void main(String[] args) {
        // 变量格式: 数据类型 变量名 = 值;
        int age = 18;
        System.out.println(age);

        // 假设多个地方用到整数10, 现在想把10改为20
        System.out.println(10);
        System.out.println(10);
        System.out.println(10);
        System.out.println(10);
        // 没有使用变量存在的问题: 需要一条语句一条语句的修改

        // 使用变量的好处: 把x值改了, 后面用到x的地方都会改变
        // 可以先用一个变量记录这个整数10,
        // 然后在需要用到整数10的地方用x代替就行
        int x = 10;
        System.out.println(x);
        System.out.println(x);
        x = 20;
        System.out.println(x);
        System.out.println(x);
    }
}
  • 变量注意事项(代码演示)
/*
    目标:理解变量定义的注意事项
        1.变量要先声明再使用
        2.变量是什么类型, 就应该用来装什么类型的数据, 否则报错
        3.变量的有效范围是定义变量时所在的{},且在同一个范围内部不能定义2个同名的变量
        4.变量定义的时候可以没有初始值,但是使用的时候必须给初始值
 */
public class Variable02 {
    public static void main(String[] args) {
        // 1.变量要先声明再使用
        int age = 18;
        System.out.println(age);

        // 2.变量是什么类型, 就应该用来装什么类型的数据, 否则报错
        // age = 35.9;

        // 3.变量的有效范围是定义变量时所在的{},
        //且在同一个范围内部不能定义2个同名的变量
        {
            double money = 23.5;
            System.out.println(money);
            // double money = 10.4; // 报错
            // int age = 28; // 报错
        }
        // System.out.println(money);

        // 4.变量定义的时候可以没有初始值,但是使用的时候必须给初始值
        // int number;
        // System.out.println(number);
    }
}
  • 总结

变量是用来记录程序中的数据的,可以把变量理解成内存中的小盒子,盒子里放的东西就是变量记录的数据

变量的定义格式: 数据类型 变量名 = 初始值;

变量记录的数据程序运行过程中是可以发生改变的:变量名 = 值;

4.4关键字

  • 什么是关键字?

关键字是java语言中有特殊含义的单词。比如用int表示整数,用double表示小数,等等!

  • 关键字有哪些?

我们学习Java的语法其本质就是学习这些关键字的含义,一共有50多个关键字,我们不是一次性把这些关键字学完,会在后续的课程中每天学一点,慢慢得你就都学会了在这里插入图片描述

  • 如何识别那些单词是关键字?

关键字的特点:
1.关键字都是小写的
2.关键字在idea中有特殊颜色标记(如果你没有修改关键字的颜色,默认是蓝色的)
在这里插入图片描述

4.5 标识符

接下来我们学习一下标识符,所谓标识符其实就是我们自己取的名字。像前面我们取的类名,变量名其实都是标识符。

  • 标识符规则

强制要求:必须遵守,不遵守就会报错

1.字母、数字、下划线、$组成
2.不能以数字开头
3.不能是Java的关键字

建议遵守:按照下面的方式取名字会显得更加专业
1.所有的名字要见名知意,便于自己和别人阅读

举例: class Student{} //一看这个类就知道表示一个学生
int age =10; //一看这个变量就知道表示年龄

2.类名:首字母大写(大驼峰命名)

举例: class Student{}

3.变量名:第二个单词开始首字母大写(小驼峰命名)

举例: double money = 6.88;
double applePrice = 7.5;

  • 代码演示
/*
    什么标识符: 就是程序中取的名字
    人名:张三
    狗:旺财

    目标:掌握标识符的要求
   1. 基本组成:由数字、字母、下划线(_)和美元符($)等组成
   2. 强制要求:不能以数字开头、不能用关键字做为名字、且是区分大小写的

        标识符的建议规范
   1.变量名称:满足标识符规则,同时建议用英文、有意义、首字母小写,满足“驼峰模式”,例如: studentNumber
   2.类名称:满足标识符规则,建议全英文、有意义、首字母大写,满足“驼峰模式”,例如: HelloWorld, Student  */
  public class Identifier01 {
    public static void main(String[] args) {
        int a = 10;
        int b2 = 1;

        // 标识符不能以数字开头
        // int 2b = 2;

        // 标识符不能是关键字
        // int void = 6;

        // 标识符是严格区分大小写的
        int A = 3;

        // 合法但不合理
        int ____________ = 20;
        int _____________ = 20;

        // 中文合法但是不合理
        int 年龄 = 18;
        System.out.println(年龄);
    } }

4.6转义字符

\t:一个制表位,实现对齐功能 \:一个\ \n:换行符 \”:一个” \’:一个’ \r:一个回车

  • 案例演示
System.out.println("我的名字是:\t小马丁");
System.out.println("这是文件的的根目录\\");
System.out.println("我有没有\n换行");
System.out.println("妈妈对我说\"要好好学Java\"");
System.out.println("我想试一下\r回车是什么效果");
  • 效果图展示

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值