小白之Java学习笔记,欢迎大佬纠正错误
eclipse官网:https://eclipse.org
计算
1、变量的定义: <类型名称><变量名称>; (使用变量前必须声明变量)
2、变量名称:标识符识别不同的名字
构造规则:字母、数字、下划线组成,数字不能出现在第一位,不能使用Java关键字
3、赋值:a=b (等号右边变量赋值给左边变量,多变量赋值时从右往左赋值)
4、常量定义:final (值不可改变)
5、计算:整数与整数的计算结果为整数,整数与浮点数的计算结果为浮点数
整数可以做精确的计算,浮点数计算会有误差
6、运算符优先级:单目运算符优先级最高,不确定的用括号
7、强制类型转换(单目运算):(类型名称)变量
8、注释://单行注释 /*多行注释*/
判断
1、关系运算符:==(与赋值区分) != > >= < <=
1)关系运算符优先级低于算数运算符
2)判等(==、!=)运算在关系运算符中优先级最低,其余从左到右运算
3)关系运算最后得出的结果为true或false,true与false表达状态,不能比较大小
2、判断两个浮点数是否相等需要判断这两个浮点数的绝对值是否小于一个很小的数
3、if-else 判断
if(条件)
{
//满足条件的执行内容
}
else
{
//不满足条件的执行内容
}
4、if-else if-else 级联
if(条件1)
{
//满足条件1的执行内容
}
else if(条件2)
{
//不满足前面的条件,但满足条件2的执行内容
}
...
else if(条件n)
{
//不满足前面的条件,但满足条件n的执行内容
}
else
{
//不满足所有条件的执行内容
}
5、switch-case多路分支
switch(控制表达式){ //控制表达式只能是整数型的结果
case 常量1 : 执行内容1 ; break; //常量可以是常数也可以是常数计算结果的表达式
case 常量2 : 执行内容2 ; break;
...
case 常量n : 执行内容n ; break; //找到匹配的case,语句一直执行到break为止
default : 执行内同 ; break; //没有break将会执行下一个case的内容
}
循环
1、while 循环
while(条件){ //先判断后循环
//满足条件,执行内容
}
2、do-while循环
do{
//执行内容
}while(条件); //先循环后判断
3、for 循环
for(初始化;条件;每轮动作){
//执行内容
}
4、复合赋值:+= -= *= /= %=
int a=0,b=7;
a+=b; //a=7 等价于 a=a+b;
5、++ --
int a,b=7;
a=b++; //a=7,b=8 后做加法
a=++b; //a=8,b=8 先做加法
6、break 用于跳出循环 continue 用于开始下一轮循环
7、标号: <标号名>:
可以用标号表示循环,带标号的break与continue对标号表示的循环起作用
for(int i=0;i<n;i++){ //第一重循环
for(int j=0;j<m;j++){ //第二重循环
for(int k=0;k<l;k++){ //第三重循环
if(条件) break; //跳出第三重循环
}
}
}
/******************************************/
OUT:
for(int i=0;i<n;i++){ //第一重循环
for(int j=0;j<m;j++){ //第二重循环
for(int k=0;k<l;k++){ //第三重循环
if(条件) break OUT; //跳出第一重循环
}
}
}
8、布尔类型(boolean):值为true或false
逻辑非:! ( true!等于false false!等于true)
逻辑与:&& (两个都为true结果为true 只有一个或没有true结果为false)
逻辑或:|| (只要有一个true结果为true 两个false结果为false)
数组
1、数组创建:<类型>[ ]<数组名>=new int[大小];
int[] array=new int[77]; //默认值为0
int[] array1={1,2,3,4,5,6,7};
int[] array2={1,2,3,4,5,6,7}; //array2==array3为false 类似指针
int[] array3=array1; //array3==array1为true
2、数组是一种容器,其中所有元素具有相同的数据类型,一旦创建不能改变大小
3、数组下标从0开始,最大值为数组元素-1,编译器不检查是否超界,运行时异常
4、二维数组:
int[][] array=new int[n][m]; //n行m列,全为0
int[][] array1={
{1,2,3},
{4,5,6},
{7,8,9},
}; //创建+初始化
使用对象
1、字符类型(char):Unicode编码
2、逃逸字符(转义字符):
字符 | 字符 | ||
\b | 回退一格 | \" | 双引号 |
\t | 到下一个表格位 | \' | 单引号 |
\n | 换行 | \\ | 反斜杠 |
\r | 回车 |
3、包裹类型:Java提供了对应的包裹(wrap)类型,这些包裹类型将一个基本数据类型的数据转换成对象的形式,从而使得它们可以像对象一样参与运算和传递。下表列出了基本数据类型所对应的包裹类型:
基本类型 | 包裹类型 |
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
在Java的系统类库中,所有第一个字母大写的,都是类的名字
4、Math类:abs、random、round、pow、sqrt等
5、字符串 String(包裹类型):与其他类型相加时将其他类型转换为字符串
String s=new String("a string"); //字符串的创建
String s1="a string";
s.compareTo(s1); //s与s1比较大小
s.length(); //获取s的长度
s.charAt(n); //访问s的第n个字符,范围是0--length()-1
//不能用for-each访问
s.substring(n); //n到末尾的子串
s.substring(b,e); //包含b开始到不包含e结束的字串
s.indexOf(s1); //在s中找s1,找到返回第一个字母的位置,否则返回-1
s.indexOf(s1,n); //在s的第n位(包含)开始找s1
//其余函数不一一说明
无法修改字符串本身,只能创造新的字符串。
函数
1、定义方法:
<返回类型><方法名称>(<参数表>){
<方法体>
}
若返回值不为void,必须有return