Java基础
1.常见的cmd命令
cd 进入目录
md 创建目录
cd… 出目录
cd/ 出到根目录
del 删除文件
del 1.doc
del *.txt
rd 删除目录
2.JVM
跨平台
垃圾回收
3.JDK
java开发工具
4.JRE
运行时环境
5.注释
// 单行注释
/* */ 多行注释
单行多行注释 注释的内容不参与编译 字节码文件没有注释内容
/** */ 文档注释 可以被javac解析
-d mydoc -author -version HelloWorld.java
6.JavaAPI
API java提供的基本编程接口
7.集成开发环境
eclipse 日食 sum公司
IntelliJ IDEA JetBrains公司开发
8.关键字
java具有特殊含义的单词,都是小写
9.保留字
可能具有特殊含义的的字符串
10.标识符
10.1 java对变量,方法,类进行命名的字符串序列
10.2自己起名的
10.3标识符命名规则:
- 不能是关键字和保留字
- 数字不能开头
- 字母数字_$ 可以构成关键字
- 区分大小写
- 不遵守编译不通过
10.4 java命名规范
包名:都是小写
类名:单词首字母大写单词
变量名:第一个单词都小写其余单词首字母大写
常量名:所有单词都大写单词间用_连接
11.变量
变量: 内存单元
变量名: 定义变量的标识符
11.1. 变量的定义
变量类型 变量名
11.2 变量的赋值‘
变量名 = 值
11.3变量的数据类型
基本数据类型:
- 数值型:
- 整数: byte(1字节8位) short(2字节16位) int(4字节32位) long(8字节64位)
- 小数: float(4字节 32位) double(8字节64位)
- 字符型
- 字符:char(2字节16位)
- 布尔型
- boolean:只有两个值true和false
引用数据类型
- class
- interface
- 数组
- enum
- 注解(annotation)
11.4变量的类型转换
-
自动类型转换
条件:
- 两种数据类型必须兼容
- 目标类型的取值范围大于源类型的取值范围
-
强制类型转换
强制转换也称为显示类型转换,两种数据类型转换需要进行显式的声明
11.5变量的作用域
作用域外的变量不能使用
12 Java运算符
12.1运算符分类
算数运算符 + - * / % 正负号 ++ – 结果是数值
逻辑运算符 & && | || ^ ! 结果为boolean
赋值运算符 = += -+ *= /= %=
比较运算符 == >= <= != > < 结果为boolean
12.2运算符优先级
13 选择结构语句
13.1选择语句:满足条件执行的语句
13.2 if条件语句
- if语句
- if - else
- if - else if - else if
- 3switch语句
switch(){
case 1:
..;
break;
case 2:
..;
break;
default:
..;
break;
}
jdk5.0之前,switch语句中的表达式只能是byte short char int 类型的值,jdk5可以接收枚举类型数据,jdk 7.0可以接收一个String类型的数值
14 循环结构语句
14.1 循环语句: 将一段代码重复执行
14.2while循环
-
语法
while(循环条件){ 执行语句 }
-
循环条件为true则执行 false跳出循环
14.3 for循环
-
语法
-
for(初始化表达式;循环条件;操作表达式) { 执行语句; }
-
循环条件为true执行循环语句;为false跳出循环
14.4 do while循环
-
语法
do{ 执行语句 }while(循环条件)
-
循环条件为true执行循环语句,为false跳出循环,do-while循环最少执行一次执行语句
15 跳转语句(break、continue)
- break语句
- switch语句中,完成case,跳出switch结构
- 循环语句中,跳出循环,不执行循环
- continue语句
- 终止本次循环,继续下一次循环
16 方法
16.1什么是方法: 也可叫函数,实现需求
16.2方法声明
修饰符 返回值类型 方法名(参数类型1 参数名1, 参数类型2 参数名2, ... ...){
执行语句
return 返回值;
}
16.3方法重载
方法名相同,其他不全都相同
17 数组
17.1 数组理解
数组(Array),是相同数据类型的数据元素组成集合,逻辑结构和存储结构相同,可以用下标直接访问元素。
17.2 数组相关概念
- 数组名:用来表示数组的引用
- 元素: 基本数据
- 下标:索引,角标
- 数组长度:创建数组时设定,不可变
- 创建数组对象会在内存中开辟一整块连续的空间
17.3 数组分类
-
维数:一维,二维,多维
-
数组元素类型: 基本数据元素,引用数据元素
17.4 一维数组使用
-
创建数组:
-
方式一
/* 数据类型[] 数组名 = new 数据类型[数组长度]; */ int[] arr1 = new int[10]; int[] arr2; arr2 = new int[10];
-
方式二
/* 数据类型[] 数组名 = {数据元素1,数据元素2}; 数据类型[] 数组名 = new 数据类型[]{元素1,元素2}; */ int[] arr1 = {1,2,3}; //数组长度默认为3 int[] arr2 = new int[]{1,2,3}; //数组长度默认为3
-
-
数组初始化
-
静态初始化:定义数组时为每个数组元素赋值
-
动态初始化:只定义数组,系统自动为数组元素赋默认值
数据类型 默认初始化表 整数(byte,short,int long) 0 小数(float,double) 0.0 字母(char) \u0000(空字符) 布尔(boolean) false 引用数据类型 null,不含任何对象
-
17.5 数组创建内存图
17.6 数组常见操作
-
取值:
//数组名[下标] //小标范围0~(数组长度-1) arr[arr.length-1];
-
遍历
for(int i=0;i<arr.length;++i){ System.out.println(arr[i]); }
-
数组最值
for(int i =0;i<arr.length;++i){ if(max<arr[i]){ max = arr[i]; } } System.out.println(max);
-
数组排序(冒泡排序)
for(int j =arr.length-1;j>0;j--){
for(int i =j;i>0;i--){
if(arr[i]<arr[i-1])
{
temp = arr[i];
arr[i] = arr[i-1];
arr[i-1] = temp;
}
}
}
17.7 多维数组的创建
-
方式一
//数据类型[][] 数组名 = new 数据类型[数组个数][数组长度] int[][] arr = new int[3][4];
-
方式二
//数据类型[][] 数组名 = new 数据类型[数组个数][] int[][] arr = new int[3][]
-
方式三
//数据类型[][] 数组名 = {{1,2},{3,4,5,6},{7,8,9}} int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};