初识Java
背景知识
- Java是美国SUN公司在1995年推出的一门计算机高级编程语言
- Java早期称为Oak,后期改名为Java
- Java之父:詹姆斯·高斯林 (James Gosling)
- 2009年sun公司被Oracle公司收购
Java用途
- 桌面应用开发
- 企业级应用开发
- 移动应用开发
- 服务器系统
- 大数据开发
- 游戏开发
Java技术体系
| 技术体系 | 说明 |
|---|---|
| Java SE(Java Standard Edition):标准版 | Java技术的核心和基础 |
| Java EE(Java Enterprise Edition):企业版 | 企业级应用开发的一套解决方案 |
| Java ME(Java Micro Edition):小型版 | 针对移动应用的解决方案 |
JDK的安装与下载
- 要使用java,必须先在Oracle官网安装JDK(Java Development Kit),即开发者工具包
- 最好下载JDK的LTS(长期支持版)版本
- 在命令行窗口,输入
java -version、javac -version看版本号 - JDK中最重要的2个命令程序:
- javac:编译工具
- java:执行工具
DOS窗口常见命令的使用
| 常用命令 | 作用 |
|---|---|
| D: | 切换到某个盘符下:D:、C: |
| dir | 查看当前路径下的文件信息 |
| cd | 进入单级目录:cd 笔记 进入多级目录:d F:\笔记 回退到上级目录:cd.. 回退到盘符根目录:cd\ |
| cls | 清屏 |
Java程序开发的三个步骤
- 三个步骤:
- 编写代码:
- 编译代码:使用
javac编译,生成后缀名为.class的字节码文件 - 运行代码
- 注意事项:
- 第一个java程序建议使用记事本书写
- 建议代码文件全英文,首字母大写,使用驼峰命名法,源代码文件后缀必须是
.java - 文件名称必须与代码的类名称一致
JDK的组成、跨平台原理
JDK组成
- JVM(Java Virtual Machine):java虚拟机,真正运行java程序的地方
- 核心类库:Java自己写好的程序,给程序员自己的程序调用
- JRE(Java Runtime Environment):Java的运行环境,JVM和核心类库合称JRE
- JDK(Java Development Kit):Java开发工具包,包含上面所有
跨平台
- Java一次编译、处处可用
- Java程序只需要开发一次,就可以在各种安装了JVM的系统平台上运行
基础语法
注释
什么是是注释:
写在程序中对程序进行解释说明的文字
语法:
- 单行注释:
// 单行注释 - 多行注释:
/* 多行注释 */ - 文档注释:
/** 这是文档注释 */
- 单行注释:
注释的特点:
不影响程序的执行,编译后的字节码文件已经没有注释了
注释的快捷键:
Ctrl + /对选中的内容进行单行注释
字面量
什么是字面量:
计算机中用来处理数据的,字面量就是告诉程序员:数据在程序中的书写格式。
常用数据
常用数据 写法 说明 整数 666,88 小数 13.14 字符 ‘A’、'好'必须使用单引号,有且仅能一个字符 字符串 "坚持"必须使用双引号,内容可有可无 布尔值 true、false 只有两个值:true代表真,false代表假 空值 null 转义字符 \n、\t
变量
变量是什么,完整的定义格式语法
- 变量是用来储存一个数据的,本质是内存中的一块区域
- 语法:
数据类型 变量名称 = 数据;
为啥要用变量,变量有啥好处?
使用变量记要处理的数据,编写代码更灵活,管理代码更方便
变量特点:变量里面装的数据可以被替换
注意:
- 变量要先声明。才能使用
- 什么类型的变量,只能储存什么类型的数据
- 变量存在访问范围,同一个范围内,多个变量的名字不能一样
- 变量定义时可以不给赋初始值;但在使用时,变量里必须有值。
- 变量的赋值必须写在方法里面
关键字、标识符
- 关键字:
- 关键字就是Java自己要用到的词,并且有特殊含义的一些词。
- 我们不能将关键字用来做为:类名、变量名,否则会报错
- 标识符:
- 标识符就是名字
- 标识的规则:由数字、字母、下划线、美元符等组成,且不能数字开头,不能用关键字作为名字
变量
变量里的数据在计算机中的存储原理
数据在计算机底层都是采用二进制存储的
计算机底层表示数据的最小单元时字节,一个字节等于8个二进制位
字符数据在计算机中时怎么存的:
字符存的是ASCII码表中对应的数字的二进制形式
数据类型
- 基本数据类型:4大类8种
- 整形:byte、short、int、long
- 浮点型:float、double
- 字符型:char
- 引用数据类型:String
- 注意:
- 定义long类型数据要在数字后面加L/l
- 定义float类型数据要在后面加F/f
- 八进制数据以0开头
- 十六进制数据以0x开头
类型转换
自动类型转换
为什么要进行类型转换?
存在不同类型的变量赋值给其他类型的变量
什么是自动类型转换?
类型范围小的变量,可以直接赋值给范围大的变量
表达式的自动类型转换
表达式的自动类型转换是什么样的?
低精度的类型会自动转换成高精度的类型运算
表达式的最终结果类型是由谁决定的?
最终类型由表达式中的最高类型决定
byte、short、char是直接转换成int类型参与运算
强制类型转化
- 什么是强制类型转换?
- 默认情况下,高精度的变量直接赋值给低精度的变量会报错
- 可以强行将高精度的变量、数据赋值给类型范围小的变量
- 语法:
数据类型 变量 = (数据类型)变量/数据
- 强制类型转换有哪些需要注意的?
- 可能出现数据丢失
- 小数强制转换成整数直接截断小数保留整数
运算符
基本的算术运算符
符号 作用 补充 + 加 除了加法外,”+”还可以用来连接字符串 - 减 * 乘 / 除 在Java中两个整数相除结果还是整数 % 取余 自增自减运算符:只能操作变量,不能操作字面量
符号 作用 ++ 自增,对变量自身的值加1 – 自减,对变量自身的值减1 赋值运算符
- 基本运算符:
= - 复合赋值运算符:
+=、-=、*=、/=、%= - 补充:复合赋值运算符自带强制类型转换
- 基本运算符:
关系运算符
运算符 描述 == 判断内容是否相等,满足为True,否则为False != 判断内容是否不相等,满足为True,否则为False > 判断内容左侧内容是否大于右侧,满足为True,否则为False < 判断内容左侧内容是否小于右侧,满足为True,否则为False >= 判断内容左侧内容是否大于等于右侧,满足为True,否则为False <= 判断内容左侧内容是否小于等于右侧,满足为True,否则为False 逻辑运算符
符号 叫法 运算逻辑 & 逻辑与 多个条件都需都是true,结果方为true | 逻辑或 多个条件有一个是true,结果就是true ! 逻辑非 取反 ^ 逻辑异或 相同为false,不同为false 注意:
- &:有一个为false,结果为false
- &&:有一个为false,结果为false,但前一个为false后,后一个条件就不执行了
- |:有一个为true,结果是true
- ||:有一个为true,结果是true,但前一个为true后,后一个条件就不执行了
三元运算符
- 格式:
条件表达式?值1:值2 - 执行流程:首先计算条件表达式的值,如果值为true,返回值1,如果为false,返回值2
- 格式:
API介绍、Scanner
- API是什么?API文档是什么?
- Application Programming Interface,应用程序编程接口:Java写好的程序,可以直接调用
- Java提供的程序使用说明书
- Scanner:
- 作用:接收用户键盘输入的数据
- 使用步骤:
- 导包:
import java.util.Scanner; - 创建对象:
Scanner sc = new Scanner(System in); - 定义变量接收用户输入的数据:
int age = sc.nextInt();、String name = sc.next();
- 导包: