因为这部分基本知识点讲的人很多,我自己也比较熟悉,所以只简单记录一下。
二、 JDK里包括 工具+类库+jre(java运行环境)
外置JRE给客户看程序用的包括:类库+JVM
三、javac 编译生成字节码文件
java调用虚拟机
四.环境变量为windows提供的接口变量
五、java程序
1.类
注意:public修饰的类名需与文件名一致
2.打印输出:
3./** 注释内容 */
文档注释:可以生成帮助文档。
只能在声明类和方法之前用文档注释,否则不识别
在类之前加,和属性前加可以被识别
命令名 |
解析内容 |
-public |
只解析public的 |
-protected |
解析public和protected |
-package |
解析public,protected,默认 |
-private |
全部:public protected,默认, |
(1)
javadoc -位置 -author -version 文件名.java |
会解析@author和@version |
javadoc -private -d 位置 -author -version 文件名.java (-d不能少,即使是在C盘下,d表示存放说明文档的目标地址) |
加-private的命令会解析所有访问修饰符修饰的成员的文件注释。 |
javadoc -位置文件名.java |
不加-author -version不会解析 |
加注释的应用场合1)代码修改过;2)代码有不太明确的地方;3)独特的算法;4)for ,if分支语句。5)自定义方法,类。
4.命名里的符号只能有$和_,不能以数字开头。
5.命名:
1)变量:驼峰命名法(详见单独一章讲命名的);
6.数据类型包括基本数据类型和引用数据类型。
(一)引用数据类型存储的不是值,是地址。包括
1)字符串 String 如String name=”张三”
2)数组 []
3)类 class
4)接口 interface
(一)基本数据类型(四类八种)
(1)整型: Java里有个字节型,byte 一个字节,-128到127;
Short 两个字节,-32768到32767;
int 四个字节,
(给实际数字时,系统默认识别为int类型)
long 八个字节(赋值时需加L)
(2)浮点类型 float 四个字节(赋值时需加F)
double八个字节
(给实际浮点数时,默认识别为double)
注意:由于浮点型存储的方式是整数部分加小数位数来表示,不是太精确,所有存储范围比long大,所以当long不够时,用float。再不够时用double。
(3)字符: char 2个字节16位的Unicode字符,用单引号引起来。‘a’,’中’,‘3’
序号 |
编码名称 |
解释 |
注意 |
1 |
ASCII码 |
只有128个; |
|
2 |
ISO-8859-1 |
是在ASCII码基础上扩充的 |
|
3 |
Windows-1252 |
|
|
4 |
GB2312 |
简体中文 |
|
5 |
GBK |
是在GB2312的基础上扩充的,增加了繁体字 |
(用的最多); |
6 |
GB18030 |
在GBK的基础上增加了少数民族的文字, |
这三种文字都是兼容个的 |
7 |
Big5 |
|
|
8 |
Unicode编码 |
全世界文字编码,共65536个 |
范围:\u0000到\uffff |
UTF-32(用的少) |
|
|
|
UTF-16, |
|
|
|
UTF-8 |
变长存储,英文就一个字节,越南就是2个,汉字3个等变长规则 |
|
(4)布尔类型 Boolean true faise(java里不用0和1,用true 和false)
可通过Byte类来查看其长度: Byte.MIN_VALUE, Byte_MAX_VALUE
其他类型类似。
(二)进制
1)二进制表示:0B 0b 如果二进制数太长,可以用下划线分割。如0b0011_0000_1111
2)八进制: 0开头
3)十进制:直接开始
4)十六进制0X
(三)运算
(1)算术运算
1)取余%结果的正负号和被除数有关,与除数无关。如-5%2,结果是-1.但是5/-2结果是1.除法正常。
2)类型自动转换(低类型向高类型转换)
Bytàshortàintàintàlongàfloatàdouble
charàintà……àdouble
3)类型提升,只有在运算时才会进行类型提升。
4)强制类型转换:类型高的向类型低的转换:用括号
(2)关系运算(==,!=,>=,<=,>,<)和逻辑运算(&&,||,!)返回结果是boolean类型。
(3)常用运算优先级
|
|
|
|
()
|
|
|
!
|
|
|
算术运算符: * / % + -
|
|
|
关系运算符: > >= < <= == != 逻辑运算符 && ||
|
|
|
条件运算符 ? :
|
必须前面有赋值语句 |
|
赋值运算符 =
|
|
|
|
|
7.流程控制
(1)顺序
(2)条件分支
8.控制台输入
System.out.println
9.Switch 语句表达式可支持String。
//byte, short, int, char, String,枚举
(1) 等值判断用swith和if 都可以,
(2) switch只能判断等值
等值条件判断,优先使用switch;
10.判断字符串是否相等用equals :如判断s1和s3是否相等:s1.equals(s3)
11.格式化输出
DecimalFormat f1 = newDecimalFarmat(000.000);
System.out.println(f1.format(sum));
DecimalFormat f2 = newDecimalFormat(“###.###”);
12.berak 只能用在训话和switch 语句中。
多重循环每个循环可以加标签,break加标签名可以结束该循环。
13.continue
跳过本次循环,进行下次循环
四、数组
Int [] arr前面int和[]都是类型,数组名是arr; 这种表达式比int arr[]好些。
(系统给数组分配的默认值:整型:0;浮点:0.0;布尔:false;String:null)
1. 动态初始化:我们指定数组大小,不初始化值,系统规定默认初始化值为各种类型的0.
1)int [] arr = new int[5];
2) int [] arr; //或者int arr[];
arr = new int [5]; //这句话相当于系统给初始化
2. 静态初始化:一次把值给完,我们不给数组大小。可以直接用arr.length获取数组长度。
Int [] arr = {11,22,33};
Int[] arr = new int[]{44.55}; 等价于 int[]arr; arr = new int[] {44,55};
3.多维数组每降一次维,里面存的都是下一维的起始地址。只有最后一维存的才是数值。
4.不规则数组:即二维数组中每个一维数组的元素数不同。
五、栈Stack
是作为构思算法的辅助工具,不是完全的数据存储工具。是插入和删除操作被限制在表的一端进行的线性表。
1. 存放基本数据和引用数据类型的引用地址。
2. 小
3. 存放频繁存放的数据类型。
六、堆
1.存放对象,
2.大
3.内容不会频繁创建和销毁。
七、增强for循环:按顺序遍历数组
For( int n;arr) //这时n就是arr里的数值 int为arr里存储的数据的类型
普通for循环和增强for 循环区别:
1) 普通for循环比较灵活,可以倒序等,条件内容自己定
2) 增强for循环不能指定范围,只能顺序全部遍历。
3) 普通for循环可以改变数组元素值,增强for循环不行