语言:人与人交流沟通的表达方式
计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言
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 程序可以在任意操作系统上运行
总结Java跨平台原理:在需要运行 Java 应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机
(JVM Java Virtual Machine)即可
注意:JVM 虚拟机本身不允许跨平台,允许跨平台的是 Java 程序
开发 Java 程序的三个步骤
JRE、JDK、JVM的作用
JDK:JDK(Java Development Kit):java开发工具包,针对开发人员使用
JRE(Java Runtime Environment):是运行基于Java语言编写的程序所不可缺少的运行环境
JVM(Java Virtual Machine):就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部
分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行
JDK、JRE 和 JVM 的关系:JDK包含JRE包含JVM
JDK、JRE、JVM及三个版本更多资料
下载:类似于JDK这种安装包,以后都要保存起来,安装包是一个程序员必备的工具,硬盘就是工具箱
安装:修改安装目录,安装在develop文件夹下即可
学习目的:为了能够使用JDK的bin目录中的(javac.exe)编译和(java.exe)运行工具
注意:JDK 提供的编译和运行工具,并不是双击运行去使用的,正确使用方式:在 DOS 中通过指令去运行
如何打开DOS窗口:按下 Win + R ,在运行输入框中,输入cmd,敲回车
常用命令:盘符:、cd 目录、dir、cd …、cls、exit
快速在DOS打开某目录:打开目标文件夹,在最上面路径单击,全选,直接输入cmd回车
为什么配置:能够在任意目录(文件夹路径)下, 都能访问到bin目录中的javac和java工具
配置位置:Win键+E,找到计算机右键属性,高级系统设置,环境变量,在系统变量中配置
新建系统变量 变量名为JAVA_HOME,变量值为jdk文件夹全路径
双击Path,新建变量%JAVA_HOME%\bin
三个确定都要点
在DOS中直接输入java或者javac检测是否配置成功,如果出现一堆堆命令行,则为配置成功;如果显示"不是内部或者外部命令…"则为配置失败,回头检查上述几个步骤
HelloWorld中文意思是[你好世界,该程序的效果就是在控制台打印一段文字,内容为 HelloWorld,程
序员在学习任何一门编程语言,第一个入门案例,都是 HelloWorld
回顾开发Java程序的三个步骤:编写代码,编译代码,运行代码
操作流程:
新建文本文档文件,修改名称为HelloWorld,文件后缀为java,弹框点确定
用记事本打开HelloWorld.java文件,输写正确代码,Ctrl+S保存
打开DOS窗口,进入到HelloWorld.java所在的目录,输入指令编译和执行
正确效果:在控制台成功打印HelloWorld
报错:查看报错提示,检查对应的代码,修改错误并保存,重新编译运行(写代码报错是很常见的,
不要害怕报错)
Bug是一个英文单词,中文意思是指[昆虫、小虫、损坏、缺陷等意思],现在一般是指在程序中,出现的
缺陷或问题,简称程序漏洞 bug的由来
入门案例常见错误:
文件名与类名不一致
单词拼写错误:String、System首字母是大写;public、class、static、void都是纯小写
使用了中文标点:我们编码过程中,必须使用英文小写标点符号
括号丢失:所有类型的括号,都是成双成对出现的
安装:修改安装目录,安装在develop文件夹下即可
初始配置:设置 - 首选项 - 左边单击新建 - 默认语言选择Java - 编码选择ANSI(避免中文乱码)- 关闭
高级记事本高级在哪?
使用小技巧
概念:注释是在程序指定位置添加的说明性信息, 简单理解,就是对代码的一种解释说明
分类:
注释内容不参与编译与运行,也是说计算机不识别注释信息
注意:多行注释不能嵌套使用
概念:被Java赋予了特殊含义的单词
特点:小写高亮
我们使用过的关键字:
其他单词扩展:
main不是关键字,main是方法名,是Java开发人员起的
String不是关键字,是字符串,基础班后面就会学到
args这个位置是参数列表,args是参数名,也是Java开发人员起的,改变不影响程序运行,但是不允
许改变,并没有意义
System是一个类,就业班会学到
println是打印的意思,打印并且换行,还可以写为print,是打印不行换的意思(一行打印)
概念:在程序的执行过程中,其值不会发生改变的量(数据)
常量分类:
概念:变量就是内存中的存储空间,空间中存储着经常发生改变的量(数据)
常量本质:内存中的一片可变区域
变量定义格式:数据类型 变量名 = 数据值; 例如 int num = 10;
计算机存储单元:
计算机存储设备的最小信息单元叫:位(bit),也称为"比特位",用小写的字母”b”表示
计算机中最小的存储单元叫:字节(byte),用大写字母"B"表示,1个字节是由连续的8个位组成
其他常用的存储单位:
Java是一门强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存
空间,所以它们表示的"数据大小"也是不一样的
分类:
数据类型内存占用和取值范围(不需要死记硬背,真需要用到了查就行)
定义:数据类型 变量名 = 数据值;
使用:使用变量名即可
使用注意:
变量名不允许重复定义
一条语句可以定义多个变量(不建议)
变量在使用之前一定要进行赋值
定义float结尾加F、long结尾加L
变量的作用域范围
为什么使用键盘录入:为了让我们操作的数据,变得更加灵活,更能模拟真实
使用步骤(文本文档编码)-> 死记硬背
面向对象的思想就是,只关注对象能做什么,而不关心它是怎么做的。这里我们只关心sc的nextInt()方法
能帮我们获取用户,在键盘录入的整数即可,不用关心它怎么完成这件事的,等有一定基础了再去翻源码
概述:是给类,方法,变量等起名字的符号
标识符定义规则:
由数字、字母、下划线(_)和美元符($)组成
不能以数字开头
不能是关键字
区分大小写
标识符命名约定:
小驼峰命名法
约定1:标识符是一个单词的时候,首字母小写
范例1:name
约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
范例2:firstName
大驼峰命名法
约定1:标识符是一个单词的时候,首字母大写
范例1: Student
约定2:标识符由多个单词组成的时候,每个单词的首字母大写
范例2: GoodStudent
前提:了解数据范围,我们的基本类型除了boolean,都有自己的范围,有大有小
范围小到大:byte -> short(char) -> int -> long -> float -> double
注意:
隐式转换:也叫自动转换,计算机自动完成
强制转换:需要手动转
常量优化机制:
byte d = 3 + 4; //3+4结果为int的7,赋值给byte不报错么?
在编译时(javac),就会将3和4计算出一个7的结果,并且会自动判断该结果是否在byte取值范围内,
在则编译通过,不在则编译失败
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(Java Development Kit):java开发工具包,针对开发人员使用;它是整个java的核心,包含了JRE一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)
JRE(Java Runtime Environment):是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用
JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件
与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
JVM(Java Virtual Machine):就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机(相当于中间层)间接与操作系统交互,由虚拟机将程序解释给本地系统执行
只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
所有的程序只要有java虚拟机的支持,那么就可以实现程序的执行,并且不同的操作系统上会有不同版本的jvm。
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(漏洞)
该词语的创始人,是世界上第一台计算机mark 1的第三名程序员格蕾丝赫伯
1945年mark 1已经升级为mark 2了,有一天格蕾丝敲代码的时候,电脑突然宕机了
当时的计算机很大,于是他们排查庞大的处理器群,发现一只虫子受到光和热的吸引而导致的
虫子当然也跪了,格蕾丝将它取下来粘在了记事本上,标注了"第一个出现bug的实例"
后来有捉虫子意思的"debug",就成为了处理、修复漏洞的意思
早在计算机还不发达的时候,计算机内存非常小,所以对于定义的数据,有严格的规定,不能浪费
但是目前来说,内存已经不是天花板了,所以这个规定没有以前严格
但是在开发中,对于以数值计算为主的应用,提升性能有很大好处
java有基本类型和引用类型(对象),如果使用对象,需要创建对象实例,这时内存的开销远远大于
直接使用的基础数据类型,除此之外还有gc的一些操作,用来回收对象,都是开销
经过大量的测试,明确肯定使用基本类型时的处理效率,明显大于使用引用类型(4倍或更多)
java为什么要保留基本类型:https://www.cnblogs.com/lbhym/p/11122716.html
说出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(); */