Java教程

JAVA 基础学习第一天

本文主要是介绍JAVA 基础学习第一天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

01-Java概述

  • Java语言背景介绍

    • 语言:人与人交流沟通的表达方式

    • 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言

    • Java语言是美国Sun公司(Stanford University Network)在 1995 年推出的计算机语言 Sun公司与Java更多资料

    • 公认的Java之父:詹姆斯·高斯林(James Gosling)

    • Java语言的三个版本

      • SE(J2SE),standard edition,标准版,用于桌面应用的开发,是其他两个版本的基础,从JDK5.0开

        始,改名为Java SE

      • EE(J2EE),enterprise edition,企业版,多用于Web方向的网站开发,从JDK5.0开始,改名为Java EE

      • ME(J2ME),micro edition,用于移动设备、嵌入式设备上的java应用程序,从JDK5.0开始,改名为

        Java ME

  • Java跨平台原理

    • 平台:指的是操作系统,常见的系统有

      • Windows
      • Mac
      • Linux
    • 跨平台:Java 程序可以在任意操作系统上运行

    • 总结Java跨平台原理:在需要运行 Java 应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机

      (JVM Java Virtual Machine)即可

    • 注意:JVM 虚拟机本身不允许跨平台,允许跨平台的是 Java 程序

  • JRE和JDK

    • 开发 Java 程序的三个步骤

      • 编写代码:书写正确的代码
      • 编译代码:找到该文件位置 -> 使用javac进行编译 -> 编译成功产生一个.class文件
      • 运行代码:使用java口令运行 - > 不带文件后缀
    • JRE、JDK、JVM的作用

      • JDK:JDK(Java Development Kit):java开发工具包,针对开发人员使用

        • 编译代码的过程中,需要使用 JDK 中的翻译工具 javac
        • 运行代码的过程中,需要使用 JDK 中的运行工具 java
      • JRE(Java Runtime Environment):是运行基于Java语言编写的程序所不可缺少的运行环境

        • 编写代码的过程中,需要=使用 JRE 中 Java 已经写好的代码
      • JVM(Java Virtual Machine):就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部

        分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行

        • 代码需要运行在 JVM 当中
    • JDK、JRE 和 JVM 的关系:JDK包含JRE包含JVM

      JDK、JRE、JVM及三个版本更多资料

  • JDK下载和安装

    • 下载:类似于JDK这种安装包,以后都要保存起来,安装包是一个程序员必备的工具,硬盘就是工具箱

    • 安装:修改安装目录,安装在develop文件夹下即可

02-第一个Java程序

  • 常用DOS命令

    • 学习目的:为了能够使用JDK的bin目录中的(javac.exe)编译和(java.exe)运行工具

    • 注意:JDK 提供的编译和运行工具,并不是双击运行去使用的,正确使用方式:在 DOS 中通过指令去运行

    • 如何打开DOS窗口:按下 Win + R ,在运行输入框中,输入cmd,敲回车

    • 常用命令:盘符:、cd 目录、dir、cd …、cls、exit

    • 快速在DOS打开某目录:打开目标文件夹,在最上面路径单击,全选,直接输入cmd回车

  • Path环境变量的配置

    • 为什么配置:能够在任意目录(文件夹路径)下, 都能访问到bin目录中的javac和java工具

    • 配置位置:Win键+E,找到计算机右键属性,高级系统设置,环境变量,在系统变量中配置

      • 新建系统变量 变量名为JAVA_HOME,变量值为jdk文件夹全路径

      • 双击Path,新建变量%JAVA_HOME%\bin

      • 三个确定都要点

      • 在DOS中直接输入java或者javac检测是否配置成功,如果出现一堆堆命令行,则为配置成功;如果显示"不是内部或者外部命令…"则为配置失败,回头检查上述几个步骤

  • HelloWorld案例编写和执行

    • HelloWorld中文意思是[你好世界,该程序的效果就是在控制台打印一段文字,内容为 HelloWorld,程

      序员在学习任何一门编程语言,第一个入门案例,都是 HelloWorld

    • 回顾开发Java程序的三个步骤:编写代码,编译代码,运行代码

    • 操作流程:

      • 新建文本文档文件,修改名称为HelloWorld,文件后缀为java,弹框点确定

      • 用记事本打开HelloWorld.java文件,输写正确代码,Ctrl+S保存

      • 打开DOS窗口,进入到HelloWorld.java所在的目录,输入指令编译和执行

        • 编译:javac 文件名.java
          范例:javac HelloWorld.java
          执行:java 类名
          范例:java HelloWorld
      • 正确效果:在控制台成功打印HelloWorld

      • 报错:查看报错提示,检查对应的代码,修改错误并保存,重新编译运行(写代码报错是很常见的,

        不要害怕报错)

  • HelloWorld案例常见问题

    • Bug是一个英文单词,中文意思是指[昆虫、小虫、损坏、缺陷等意思],现在一般是指在程序中,出现的

      缺陷或问题,简称程序漏洞 bug的由来

    • 入门案例常见错误:

      • 文件名与类名不一致

      • 单词拼写错误:String、System首字母是大写;public、class、static、void都是纯小写

      • 使用了中文标点:我们编码过程中,必须使用英文小写标点符号

      • 括号丢失:所有类型的括号,都是成双成对出现的

  • Notepad软件的使用

    • 安装:修改安装目录,安装在develop文件夹下即可

    • 初始配置:设置 - 首选项 - 左边单击新建 - 默认语言选择Java - 编码选择ANSI(避免中文乱码)- 关闭

    • 高级记事本高级在哪?

    • 使用小技巧

03-基础语法

  • 注释

    • 概念:注释是在程序指定位置添加的说明性信息, 简单理解,就是对代码的一种解释说明

    • 分类:

      • 单行注释 //注释信息
      • 多行注释 /* 注释信息 */
      • 文档注释 /** 注释信息 */ 就业班使用
    • 注释内容不参与编译与运行,也是说计算机不识别注释信息

    • 注意:多行注释不能嵌套使用

  • 关键字

    • 概念:被Java赋予了特殊含义的单词

    • 特点:小写高亮

    • 我们使用过的关键字:

      • public:权限修饰符,公共的意思,就业班会学到
      • class:代表这是一个类
      • static:静态的意思,就业班会学到
      • void:void这个位置,是main方法的返回值类型,代表返回值为空,方法会学到
    • 其他单词扩展:

      • main不是关键字,main是方法名,是Java开发人员起的

      • String不是关键字,是字符串,基础班后面就会学到

      • args这个位置是参数列表,args是参数名,也是Java开发人员起的,改变不影响程序运行,但是不允

        许改变,并没有意义

      • System是一个类,就业班会学到

      • println是打印的意思,打印并且换行,还可以写为print,是打印不行换的意思(一行打印)

  • 常量

    • 概念:在程序的执行过程中,其值不会发生改变的量(数据)

    • 常量分类:

      • 字符串常量:用双引号括起来的内容,例如 “HelloWorld”,“黑马程序员”
      • 整数常量:不带小数的数字,例如 150,-250
      • 小数常量:带小数的数字,例如 3.14,-8848.43
      • 字符常量:用单引号括起来的单个内容,例如 ‘A’,‘6’,‘钱’
      • 布尔常量:布尔值,表示真假 只有两个值:true,false
      • 空常量:一个特殊的值,空值 值是:null,空常量不能直接打印
  • 变量介绍

    • 概念:变量就是内存中的存储空间,空间中存储着经常发生改变的量(数据)

    • 常量本质:内存中的一片可变区域

    • 变量定义格式:数据类型 变量名 = 数据值; 例如 int num = 10;

    • 计算机存储单元:

      • 计算机存储设备的最小信息单元叫:位(bit),也称为"比特位",用小写的字母”b”表示

      • 计算机中最小的存储单元叫:字节(byte),用大写字母"B"表示,1个字节是由连续的8个位组成

      • 其他常用的存储单位:

        • 1B(字节) = 8bit
          1KB = 1024B
          1MB = 1024KB
          1GB = 1024MB
          1TB = 1024GB
          1PB = 1024TB
          ……
  • 数据类型

    • Java是一门强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存

      空间,所以它们表示的"数据大小"也是不一样的

    • 分类:

      • 1.基本数据类型(四类八种)
        • 整数 byte、short、int(默认)、long
        • 浮点数 double(默认) float
        • 字符 char
        • 布尔 boolean
      • 2.引用数据类型
        • 类 class
        • 接口 interface
        • 数组 []
    • 数据类型内存占用和取值范围(不需要死记硬背,真需要用到了查就行)

      • byte,占用1字节,范围:-128~127
      • short,占用2字节,范围:-32768~32767
      • int,占用4字节,范围:-2的31次方到2的31次方-1
      • long,占用8字节,范围:-2的63次方到2的63次方-1
      • float,占用4字节,范围:1.401298e-45到3.402823e+38
      • double,占用8字节,范围:4.9000000e-324 到1.797693e+308
      • char,占用2字节,范围:0-65535
      • boolean,占用1字节,范围:true,false
        • 说明:e+38表示是乘以10的38次方,e-45表示乘以10的负45次方
        • 为什么要规定数据的范围
  • 变量的定义和使用

    • 定义:数据类型 变量名 = 数据值;

      • int num = 10;
      • double d = 3.5;
      • char c = ‘a’;
      • boolean flag = true;
    • 使用:使用变量名即可

      • int num = 10; 修改值:num = 20;
      • double d = 3.5; 打印值:System.out.println(d);
    • 使用注意:

      • 变量名不允许重复定义

        一条语句可以定义多个变量(不建议)

        变量在使用之前一定要进行赋值

        定义float结尾加F、long结尾加L

        变量的作用域范围

  • 键盘录入

    • 为什么使用键盘录入:为了让我们操作的数据,变得更加灵活,更能模拟真实

    • 使用步骤(文本文档编码)-> 死记硬背

      • 导包:import java.util.Scanner; //导包的动作必须出现在类定义的上边
      • 创建对象:Scanner sc = new Scanner(System.in); //写在main方法中,目前背过这一句
      • 控制台提示:System.out.println(“提示信息:”); //如果不给提示,用户体验很差,不知道该怎么做
      • 接收数据:int i = sc.nextInt(); //使用键盘对象名sc,调用了一个方法nextInt();拿到输入的值赋值给i
    • 面向对象的思想就是,只关注对象能做什么,而不关心它是怎么做的。这里我们只关心sc的nextInt()方法

      能帮我们获取用户,在键盘录入的整数即可,不用关心它怎么完成这件事的,等有一定基础了再去翻源码

  • 标识符

    • 概述:是给类,方法,变量等起名字的符号

    • 标识符定义规则:

      • 由数字、字母、下划线(_)和美元符($)组成

        不能以数字开头

        不能是关键字

        区分大小写

    • 标识符命名约定:

      • 小驼峰命名法

        约定1:标识符是一个单词的时候,首字母小写

        范例1:name

        约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写

        范例2:firstName

      • 大驼峰命名法

        约定1:标识符是一个单词的时候,首字母大写

        范例1: Student

        约定2:标识符由多个单词组成的时候,每个单词的首字母大写

        范例2: GoodStudent

  • 类型转换

    • 前提:了解数据范围,我们的基本类型除了boolean,都有自己的范围,有大有小

    • 范围小到大:byte -> short(char) -> int -> long -> float -> double

    • 注意:

      • 这里char用的是ASCLL码表中对应的十进制的int类型数据参与
      • byte、short、char参与运算,会先提升为int类型再进行计算
    • 隐式转换:也叫自动转换,计算机自动完成

      • 小范围类型数据 -> 赋值给 -> 大范围类型数据
      • 小杯水倒入大桶,是可以的没有问题的
    • 强制转换:需要手动转

      • 大范围类型数据 -> 赋值给 -> 小范围类型数据
      • 大桶水倒入小杯,肯定是要溢出的(精度丢失)
      • 格式:数据类型 变量名 = (目标类型)变量值;
    • 常量优化机制:

      • byte d = 3 + 4; //3+4结果为int的7,赋值给byte不报错么?

      • 在编译时(javac),就会将3和4计算出一个7的结果,并且会自动判断该结果是否在byte取值范围内,

        在则编译通过,不在则编译失败

一个良好的开端是成功的一半,加油同学们

扩展资料

Sun公司与Java更多资料

​ Sun公司成立于1982年

​ 1990年年末,Sun公司预料嵌入式系统将在未来家用电器领域大显身手。于是Sun公司成立了一个由詹姆斯·高斯林(James Gosling 公认的java之父)领导的“Green计划”,准备为下一代智能家电(电视机、微波炉、电话)编写一个通用控制系统

​ Sun 公司开发 Java 的想法是:在互联网的时代,提供一种和机器无关,和操作系统也无关,可以运行在任何平台上的语言

​ 这种语言如果成为软件开发事实上的标准的话,那么软件的开发就会变得非常高效,因为大家再也不需要为特定的硬件和操作系统专门开发软件了

​ 于是Oak诞生了

​ 到了1992年的夏天,Green计划已经完成了新平台的部分功能,包括Green操作系统。Oak的程序设计语言、类库等。同年11月,Green计划被转化成"FirstPerson有限公司",一个Sun公司的全资子公司

​ 但是后来由于商业等等的原因,Green项目几乎接近夭折,Green项目的一半成员也被调到了其他的项目组

​ 1994年夏天,互联网和浏览器的出现不仅给广大互联网的用户带来了福音,也给Oak语言带来了新的生机Gosling立即意识到,这是一个机会

​ 于是对Oak进行了小规模的改造,到了1994年秋,他们完成了第一个Java语言的网页浏览器:WebRunner

​ 当时的Oak这个商品已经被注册,于是只得将Oak更名为Java,于1995年正式推出

​ JAVA这个名称的由来:开发者在爪哇岛喝过一种好喝的咖啡,于是音译过来起名JAVA,图标是我们熟悉的一杯热咖啡,自此之后程序员与咖啡就分不开了。爪哇岛是印度尼西亚的岛屿,位于赤道南方,面积13.88万平方公里,人口1.45亿,岛屿西部有首都—雅加达

​ 其中三个岛:爪哇、苏门答腊、苏拉维西出产全球重要的咖啡,17世纪中期,荷兰人就把咖啡树带到了当时的锡兰(斯里兰卡)和印尼的爪哇

​ 18世纪,印尼已经成为咖啡的主要生产地,所产的优质阿拉比卡咖啡几乎全部供应给欧洲,但到了19世纪,1869早出现于锡兰的咖啡锈蚀病也祸及印尼。到了1877年,印尼诸岛上的大部分咖啡田都被锈蚀病损毁,荷兰人不得不从非洲引进其他的咖啡品种,也就是罗姆斯达咖啡。它比较能抗病虫害,但质量要逊色一些,印尼咖啡90%左右是罗姆斯达豆,每年大约680万袋,只有不到10%的豆子为阿拉比卡咖啡,印尼出品的咖啡一般不冠"印尼"的名字,而直接冠以岛名,如爪哇、苏门答腊等

​ 从2000年开始,java在编程开发语法中,几乎垄断了第一名的宝座

​ 在最近一次 2008 年的经济危机中,Sun公司没有撑下去破产了,最后于 2009 年 4 月被 Oracle 收购了

​ Sun的崛起与衰落: https://blog.csdn.net/sdjadycsdn/article/details/106468527

​ Java语言发展简史:https://blog.csdn.net/wxb141001yxx/article/details/80786680

JDK、JRE、JVM及三个版本更多资料
  1. JDK(Java Development Kit):java开发工具包,针对开发人员使用;它是整个java的核心,包含了JRE一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)

  2. JRE(Java Runtime Environment):是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用

    JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件

    与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

  3. JVM(Java Virtual Machine):就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。

    也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机(相当于中间层)间接与操作系统交互,由虚拟机将程序解释给本地系统执行

    只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

    所有的程序只要有java虚拟机的支持,那么就可以实现程序的执行,并且不同的操作系统上会有不同版本的jvm。

  4. SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK5.0开始,改名为Java SE

    EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK5.0开始,改名为Java EE

    ME(J2ME),micro edition,用于移动设备、嵌入式设备上的java应用程序,从JDK5.0开始,改名为Java ME

bug的由来

​ bug:在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)

​ 该词语的创始人,是世界上第一台计算机mark 1的第三名程序员格蕾丝赫伯

​ 1945年mark 1已经升级为mark 2了,有一天格蕾丝敲代码的时候,电脑突然宕机了

​ 当时的计算机很大,于是他们排查庞大的处理器群,发现一只虫子受到光和热的吸引而导致的

​ 虫子当然也跪了,格蕾丝将它取下来粘在了记事本上,标注了"第一个出现bug的实例"

​ 后来有捉虫子意思的"debug",就成为了处理、修复漏洞的意思

为什么要规定数据的范围

​ 早在计算机还不发达的时候,计算机内存非常小,所以对于定义的数据,有严格的规定,不能浪费

​ 但是目前来说,内存已经不是天花板了,所以这个规定没有以前严格

​ 但是在开发中,对于以数值计算为主的应用,提升性能有很大好处

​ java有基本类型和引用类型(对象),如果使用对象,需要创建对象实例,这时内存的开销远远大于

​ 直接使用的基础数据类型,除此之外还有gc的一些操作,用来回收对象,都是开销

​ 经过大量的测试,明确肯定使用基本类型时的处理效率,明显大于使用引用类型(4倍或更多)

​ java为什么要保留基本类型:https://www.cnblogs.com/lbhym/p/11122716.html

day01 每日重点

  • 说出Java跨平台原理

    • 平台包含Windows、mac、Linux
      通过JVM完成跨平台,但是JVM本身不跨平台
      不同平台厂商提供对应的JVM虚拟机,去翻译相同的字节码文件
      
  • 说出JDK、JRE和JVM的作用及关系

    • JDK:java开发工具包
      JRE:java运行环境
      JVM:java虚拟机
      JDK包含JRE包含JVM(8以后我们安装JDK就拥有了所有)
      
  • 运用JDK的下载与安装

    • 官网下载,或者使用老师提供的安装包(往后各类软件安装包保存在自己的U盘)
      安装在develop文件夹下,保留Java文件夹(可能会装多版本,便于管理)
      
  • 配置JDK的环境变量

    • 首先需要安装JDK(以JDK11/12为例)
      我的电脑 - 属性 - 高级系统设置 - 环境变量
      	1. 新建变量名JAVA_HOME值为JDK的安装路径
      	2. 在原有变量Path中,新建变量%JAVA_HOME%\bin
      	*. 在原有变量Path中,配置bin文件夹的绝对路径
      
  • 会使用注释、关键字、常量

    • 注释:对代码进行解释说明的文字信息
      分类:单行//、多行/* */、文档 /** */
      	
      关键字:被java赋予了特殊含义的英文单词
      特点:小写、高亮
      
      常量:在程序运行过程中,其值不发生改变的量
      分类:
      	整数常量
      	小数常量
      	字符常量
      	字符串常量
      	布尔常量
      	空常量(不能直接打印)
      
  • 会使用变量进行编程

    • 变量:本质是内存中用于存储经常改变的量的一块可变区域
      定义:数据类型 变量名 = 变量值; 
      使用:直接使用"变量名"即可
      
  • 知道数据类型的分类,能写出八种基本数据类型

    • Java中的数据类型分为:
      	一、基本数据类型:今天关心
      	二、引用数据类型:String、[]、接口
      
      	基本数据类型分为:四类八种
      		整数 byte short int(默认) long 
      		浮点数 float double(默认)
      		字符 char
      		布尔 boolean
      				
      
  • 键盘录入对象Scanner

    • 使用步骤:
      	1.导包 improt java.util.Scanner;
      	2.创建对象 Scanner sc = new Scanner(System.in);
      	3.控制台提示 System.out.println("提示");
      	4.调用方法,接收数据 int i = sc.nextInt(); //拿到i以后,有后续操作
      
  • 会使用标识符

    • 标识符:用来给常量、变量、类等,起名字的符号
      
      组成规则:
      	1.由字母、数字、_、$组成
      	2.不能是Java的关键字
      	3.不能以数字开头    
      	4.严格区分大小写
      		命名约定:
      			大驼峰命名法:用于类 
      			小驼峰命名法:用于变量、方法
      
/*
	重点案例:一个三遍(必须)
	
        1.HelloWorld入门案例

        2.常量练习:在输出语句中,打印自我介绍信息,姓名(String)、性别(char)、年龄(int)、体重(double)、爱好(String)
			
        3.变量和键盘录入:使用键盘对象,提示用户输入姓名(String)、年龄(int)、成绩(double),接收并打印该用户信息,格式自拟     
       
       String name = sc.next();
       int name = sc.nextInt();
       double score = sc.nextDouble();
*/
这篇关于JAVA 基础学习第一天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!