记录一下曾经学习java的过程-仅供个人参考
java学习-day01
环境-基础知识
JDK1.8下载
https://www.oracle.com/technetwork/java/javase/archive-139210.html
开发工具:
Notepad++、Sublime Text3 、eclipse 、idea
配置环境Java
解释一下什么是环境变量:系统变量、用户变量
系统变量:是使用当前操作系统都可以引用的变量
用户变量:只有当前用户可以使用的变量
可以通过CMD命令打开终端:
set 查看所有的环境变量
set 变量名=变量值 =>这样的配置只对当前终端生效
可以通过这样的方式来临时设定环境变量,一般脚本中这么去做
设定永久环境变量:
新增变量JAVA_HOME
设定Path变量的值
重新打开终端测试环境变量配置是否OK
java常识
Java之父 : 詹姆斯 高斯林
Sun 公司
后来被 Oracle收购了
JDK1.8 是最后一个非商业版
Jdk 开发平台,3中开发标准
J2SE 标准版 嵌入式
J2ME 单机应用
J2EE 分布式
Helloworld.java
编译:
Java语言的特性:高级语言(相对于初级语言) 一次编译处处运行=跨平台
JVM = java虚拟机
Java的源程序 .java文件
Java的可执行程序 .class文件 又叫做(字节码文件)
了解C语言的开发和运行简单理解
了解一下java程序的运行原理
JVM 的三大任务(记住): 加载代码(.class文件)、校验代码、运行代码
如何执行java程序
Java 主类
什么叫做主类:包含main方法的类叫做主类
编写一个HelloWorld类 和Student类 在HelloWorld类的main方法中调用 Student类中的show方法
HelloWolrd类
Student类
编译运行:
类定义的注意事项:
变量
可变的量,称之为变量。在java语言中一般都是通
过变量来表示一个值。
变量名的命名规则:
1、见名知义: 具有可读性
2、可以是 $ _ 字母开头 后面跟上 $ _ 字母和数字 ,变量名可以以大写字母开始,实际开发中都是以小写开头
3、变量名可以是中文,但是不允许用中文
4、变量名通常使用驼峰命名 userName
user_name
数据类型
java中数据类型被分为:基本数据类型和引用数据类型
基本数据类型
8种数据类型
java中定义8中基本数据类型,其本质是通过类型的限定来划分内存空间。
整数类型
一位符号位,剩下的是数值位
类型 | 数值范围 |
---|---|
byte 字节型 | -128~127 |
short 短整型 | -215~215-1 |
int 整形 | -231~231-1 |
long 长整型 | -263~263-1 |
java中一般定义整数类型都使用int ,因为java在运算的过程中,将字面量缺省为int类型
浮点类型
float : 单精度浮点型 32位 1位为符号位, 指数8位, 尾数23位。
double :双精度浮点型 64位 1位符号位,11位指数,52位尾数。
布尔
boolean : 布尔类型 只有2个值 true false
主要用于逻辑判断
字符型
char :字符型 16位
char类型其本质保存的是字符对应的unicode码,
每一个字符都对应着一个unicode码,键盘的128个
键对应的ASCII码 和unicode是重叠部分
String(特殊的引用数据类型)
String :是一个引用数据类型,叫做字符串,字符的有序排列
引用类型
后续再了解
运算符
类型 | 举例 |
---|---|
算术运算符 | +、 -、 *、 /、 =、 %、 ++、 --、 +=、 -=、 *= |
位运算符(运算规则是二进制的) | &、 |、 ^、 ~、 <<、 >> |
比较运算符(得到都是一个boolean值) | >、 <、 == 、>= 、<= 、!= |
逻辑运算符(运算的左右两侧一定是一个布尔值,或者返回布尔值的表达式,会有短路现象) | && 、|| 、& 、| 、! |
三元运算符(三目、条件) | 表达式1?表达式2:表达式3 |
流程控制
流程控制就是控制代码的执行过程
类型 | 举例 |
---|---|
顺序结构 | 代码从上往下依次执行 |
分支结构 | if,else,switch等,多个选择,满足一定条件执行 |
循环结构 | for/while/do…while 满足一定条件循环执行代码 |
break/continue/return
break 终止当前代码块的执行,继续执行代码块后面的业务代码
continue 跳出当前循环,继续后面的循环
return 终止当前方法,继续后面的方法
数组
数组定义
一组相同数据类型,固定长度的数据集合称之为数组
// 数组的格式 , int类型
// {1,2,3,4} = 正确的
// {1,2,3,"4"} = 错误的 因为 "4" 是一个 String
声明数组
//创建数组
// 方式1 int[] arr; 推荐用这种方式
// 方式2 int arr[];
// 方式3 int []arr;
数组的初始化方式
静态初始化
int[] arr = {1,2,3,4};
PS: 静态初始化 在声明的时候进行初始化,必须是声明的同时进行初始化,给定每个元素初始值。
动态初始化
int[] arr ; // 声明数组 数据类型已经固定
arr = new int[5]; // 5是他的长度
// 也可以在声明的时候进行初始化
int[] arr = new int[5];
动态初始化在初始化的同时会将数组中的元素初始
化为当前数据类型的缺省值
byte、short、int、long = 0
float、double = 0.0
boolean = false
char = ‘\u0000’
String = null
引用数据类型(对象类型) = null
数组的特性
- 数组的数据类型固定
- 数组的长度固定有一个属性叫做length =>arr.length
- 数组中通过index (0…length-1) 来标记数组中的每一个元素 arr[index]
int[] arr = {6,7,5,4,3,2}; // length = 6
arr[0]; // 6
arr[arr.length-1]; // 2
数组遍历
for循环遍历
数组的一些练习:
- 求数组中出现次数超过一半的元素
- 求数组中元素的最短距离
- 求两个有序数组的共同元素
- 求三个数组的共同元素
- 找出数组中唯一的重复元素
- 找出出现奇数次的元素
- 求数组中满足给定和的数对
- 最大子段和
- 最大子段积
- 数组循环移位
- 组合问题 :合并两个数组