JAVA 基础学习第一天
2021/4/19 14:25:11
本文主要是介绍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
- 编译:javac 文件名.java
-
正确效果:在控制台成功打印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
……
- 1B(字节) = 8bit
-
-
-
数据类型
-
Java是一门强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存
空间,所以它们表示的"数据大小"也是不一样的
-
分类:
- 1.基本数据类型(四类八种)
- 整数 byte、short、int(默认)、long
- 浮点数 double(默认) float
- 字符 char
- 布尔 boolean
- 2.引用数据类型
- 类 class
- 接口 interface
- 数组 []
- 1.基本数据类型(四类八种)
-
数据类型内存占用和取值范围(不需要死记硬背,真需要用到了查就行)
- 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及三个版本更多资料
-
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:在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为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 基础学习第一天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01后台管理开发学习:新手入门指南
- 2024-11-01后台管理系统开发学习:新手入门教程
- 2024-11-01后台开发学习:从入门到实践的简单教程
- 2024-11-01后台综合解决方案学习:从入门到初级实战教程
- 2024-11-01接口模块封装学习入门教程
- 2024-11-01请求动作封装学习:新手入门教程
- 2024-11-01登录鉴权入门:新手必读指南
- 2024-11-01动态面包屑入门:轻松掌握导航设计技巧
- 2024-11-01动态权限入门:新手必读指南
- 2024-11-01动态主题处理入门:新手必读指南