java笔记
Tips
浮点数有误差(所以判断浮点数相不相等就是用浮点数的差值的绝对值与很小的数进行比较)
eg:
System.out.printfln(Math.abs(a-b)<1e-6);
关系运算的结果只能是 ture 或者false
boolean 值只能是 ture 或者 false
ture和false与c语言不同,不是1与0,而是状态
优先级
1.单目取正取负自增自减取非 从右到左
2.乘除取余加减 从左到右
3.关系运算符(等于不等于优先级最低) 从左到右
4.等于 不等 从左到右
5.&& 从左到右
6.|| 从左到右
7.赋值 从右到左
强制类型转换
直接加(类型) 当成单目运算符的优先级
验证
1.测试程序常使用边界数据,如有效范围两端的数据、特殊的倍数等
2.个位数
3.10
4.0
5.负数
标号
在循环前可以放一个标号来标示循环.
eg: label:
brack label;
带标号的break和continue对那个循环起作用
数组
Scanner in = new Scanner(System.in);
数组初始化方式一:
<类型>[] <名字> = new <类型>[元素个数]; (=表赋值[]表数组类型.表示什么的)
int[] numbers = new int[100];
java new创建的数组默认会给数组初始化为0;
数组初始化方式二:
int[] scores = {
87,98,69,54,65,76,87,99};
直接用大括号给出数组所有元素的初始值
不需要给出数组大小,编译器会数
数组内部有个名为length的内部成员,会告诉你它的元素数量.
java数组变量是指针(管理者)
int[] a = new int[10];
int[] b = a;
数组变量之间的比较是判断是否指向(管理)同一个数组
复制数组(比较两个数组)必须遍历源数组将每一个元素逐一拷贝给目的数组
二维数组
二维数组的初始化:
int[][] score = new int[3][5];
int[][] a = {
{
1,2,3,4},
{
1,2,3},
};
编译器数数
每行一个{
},逗号分开
最后的逗号可以存在
如果省了,都补0
二维数组长度 行 a.length
列a[i].length
a[i,j]在java里不存在
For -Each 循环
for(<类型><变量>:<数组>)
{
}
for(int k : data)
{
if( k==X )
{
found =TRUE;
brea k;
}
}
对于data数组当中的每一个元素,循环每一轮拿出来复制给k.
.运算符
当需要一个类或者对象做事情时候,用.运算符
包裹类型
Boolean
Character
Integer
Double
有很多函数可以用
Math类
提供一些函数,比如
Math.abs(-12)
Math.round(10.645)
Math.random()
Math.pow(2,3)
字符串变量