第一阶段学习笔记
了解JAVA课程体系
了解JAVA的发展
Tiobe ~~ 了解排行
Java :詹姆斯.高斯林
Sun -> Oracle(09年收购)
JAVA的技术版本
JavaSE(核心标准版)
JavaEE(企业级版)
JavaME(微型版-淘汰)
JAVA的技术特点
1.简单性
2.强类型语言
3.面对对象语言
4.一种与平台无关的语言
5.健壮性和安全性
6.多线程
JDK8安装及环境变量的配置
理解JDK、JRE、JVM的区别(重点)
Jdk:提供开发工具包
Jre:提供运行时环境(提供运行时核心类库)
Jvm:java虚拟机(执行.class文件~~~~)
编写简单HelloWorld
eclipse的安装 Eclipse的使用技巧
Mian+alt+/ 快速创建public static void main(String[] args){
Syso+alt+/ 快速创建system.out.println();
Ctrl+D:删除当前光标活动的行
Ctrl+Alt+上下键:快速复制当前行到下一行或上一行
Ctrl+Shift+Enter:快速在当前行的上方加入一空白行
Shift+Enter:快速在当前行的下方加入一空白行
Alt+上下键:把当前行移动到指定的位置
Ctrl+Shift+F: 整理代码
Ctrl + 1:快速导入包
代码的注释
// 单行注释
/*
*
/多行注释
/*
*
*
/*文档注释
标识符
1.标识符由字母,下划线“_”,美元符号和数字组成(系统强制检查)
2.标识符由字母,下划线,美元符号开头(系统强制检查)
3.Java标识符大小写敏感,长度无限制。
4.见名起意
5.约定俗成的规则
6.帕斯卡命名法
单位转换
1GB= 1024MB
1MB=1024KB
1KB=1024B
1B(字节)=8bit(位)
注:一个中文字符占两个字节
八大基本数据结构
类型 名称 内存 取值范围
byte 字节型 1个字节 -128~127
int 整型 4个字节 -231~231-1
short 短整型 2个字节 -215~215-1
Long 长整型 8个字节 -263~263-1
float 单精度浮点型 4个字节 -231~231-1
double 双精度浮点型 8个字节 -263~263-1
char 字符型 2个字节 -215~215-1
boolean 布尔型 true,false
使用频繁的非8大基本类型:String
变量声明
变量三要素:
变量类型
变量名称
变量值
变量名称:自定义
1.标识符由字母,下划线“_”,美元符号和数字组成(系统强制检查)
2.标识符由字母,下划线,美元符号开头(系统强制检查)
3.Java标识符大小写敏感,长度无限制。
4.见名起意
5.约定俗成的规则
6.去变量名需要满足驼峰定理(第一个单词不大写后面的单词首字母均达写)
数据之间的转换
自动转换:源数据类型(占用空间)<目标的数据类型
强制转换:源数据类型>目标的数据类型
Int a = 10;
Char ch = (char)a;
或者将两者类型改为 一致
Java中的运算符
1.赋值运算符 =
2.加法运算符
2个数值之间用+表示计算,数值与字符串之间+表示连接
3.减法运算符
4.乘法运算符
5.除法运算符
两个整数相除为整数型,一个整数与一个小数相除为小数浮点型。 2.0/0 infinity
一元运算符
1.a++ 先运算在自加
2.++a 先自加在运算
3.a–
4.–a
逻辑运算符
1.& 与 有假则为假
2.| 或 有真为真
3.&& 短路与
4.|| 短路或
5.! 取反
& 与 &&的区别:
&即使第一个为flase也会进行后面的运算。
&& 则不会
| 即使第一个为true也会进行后面的运算
|| 第一个为true 则不会进行后面的运算
运算优先级
!>()>算术运算符>关系运算符>&&> || > =
三元运算符
语法为:条件表达式 ? 表达式1 : 表达式2
Ps:前后两边的表达式类型应当一致。
If语句
1.单分支if结构
语法:
If(表达式){
代码块1
}
后续代码。。。。
执行过程:如果表达式为true,就执行代码块1,若后续有代码则继续执行,
如果条件表达式为flase,不执行代码块1,若后续有代码则继续执行
单分枝if语句
语法:if(表达式){
代码块1
}else{
代码块2
}
后续代码
执行过程:如果条件表达式为true,执行代码块1,否则执行代码块2.有后续代码也会接着执行。
多分支if语句
语法:if(表达式){语句块}
else if(表达式1){语句块1}
else if (表达式2){语句块2}
…
else {语句块n}
后续代码。。。
执行过程:条件表达式为ture,走语句块,否则判断条件表达式1,为ture,则执行语句块1,。。。。。。。。。。。如果所有条件表达式均不满足,那么执行else语句里面的语句块n,若还有后续代码接着执行后续代码。
嵌套if语句
语法:
If(条件表达式1){
If (条件表达式2){
代码块1
}else{
代码块2}
}
后续代码。。。。。
执行过程:如果条件表达式1为ture,继续判断条件表达式2,如果条件表达式2为ture,则执行代码块1.
如果条件表达式1为flase,则执行代码块2
switch语句
语法:
Switch(算术表达式){
case 1:
循环体;
执行过程:switch中等值比较,算术表达式的值和case后的常量表达式的值进行比较,如果满足算术表达式的值=case后的值,就走该case后面的语句块。如果都没有case对应的,就走默认的default语句块。
Ps:算术表达式的类型必须满足byte,short,int,String,char
Case后常量表达式的值,不能重复。
算术表达式和常量表达式进行的是等值比较
等值比较有相同的时候,进入当前的case代码中,如果有break关键字,终止switch。
如果没有关键字break,程序会继续向下执行,直到遇到break为止
Case代码块和default代码块位置可以任意放
while
语法: while(条件){
循环体
}
后续代码
先判断条件在执行
do{}while()
do{
循环体
}while()
后续代码。。。
先执行一次,在判断条件
for(int a = x;a<y;x++){
循环体}
先定义 在判断,在执行循环体,在变量自增或自减,在判断,在执行循环体,在变量自增或自减…
嵌套for
语法
for(int a = x;a<y;x++){
For(int b =z;b<c;b++){
…
}后续代码
break:跳出此循环不在执行此循环
continue:跳过本次循环但不跳出此循环。
多层for循环
语法for(初始值;条件;自增或者减){
}
数组
数组:数组是存储在一个连续内存块中存储相同数据类型的元素集合
数组的使用:
1.申明数组类型
2.分配数组的内存空间(设置数组的长度)
3.根据数组的下标索引访问数组或者给数组赋值
注意:
1.数组的类型必须是一致的
2.数组默认的下标从0开始计算,最后一个元素默认的下标是length-1,如果超过length-1就会出现数组下标越界异常
3.数组中球元素个数,是采用.length属性,注意length后面没有括号
4.数组一旦申明就不能改变他的内存大小 。如果改变其本质是新创建了一块内存空间
数组的初始值
基本数据类型 系统中的默认值
整数类型(byte,short,int,long) 0
小数类型(float,double) 0.0
字符型(char) ‘’
布尔型(boolean) false
字符串类型(String) null
数组遍历
for循环遍历
冒泡排序法:两个数据来比较:
两两比较小靠前,
外层循环n-1
内层循环n-1-i
Java.util.Arrays 数组工具类,一般提供数组操作
常用方法:
Arrays.sort(nums);//排序
System
fill ()将指定的布尔值分配给指定的布尔数组的每个元素
Copy
二维数组
Int [] [] arr= new int[3][3];规则的二维数组
Int[] [] arr={{1,2,3},{1,2,3},{1,2,3},};规则的二维数组
Ps:数组中定义数组一定要指定数组的长度,即内存空间大小。如果是二维数组或多维数组也必须指定一维数组的大小。
二维数组:其本质就是一维数组中又存放了以为数组
Int [] [] arr = new int[3] [2];
等于
Int [] []arr={{,},{,},{,}}; //不规则的二维数组
访问元素 arr[1][1];
遍历二维数组:
For(int i =0;i<arr.length;;i++){
For(int j=0;j<arr[i].length;j++){
多维数组(了解)
Int [] [] arr= new int[3][3][3];规则的二维数组
Int[] [] arr={{{1,2,3},{1,2,3},{1,2,3}}},{{1,2,3},{1,2,3},{1,2,3}},{{1,2,3},{1,2,3},{1,2,3}}};规则的二维数组
Arr[0][1][2]
遍历多维数组
: (多少维就有多少for)
for(int i =0;i<arr.length;i++){
for(int j =0;j<arr[i].length;f++){
for(int m =0;m<[i][j]arr.length;m++){
System.out.println(arr[i][j][m]);