JAVA学习笔记-02
转义字符:通过 \ 来转变后面字母或者符号的含义
\n:换行
\b:退格,相当于backpace
\r:按下回车键 。windows系统中,回车符是由两个字符来表示的\r\n.
\t:制表符。相当于tab键
转义字符写在被转义字母的前面
instanceof检查是否是类的对象
逻辑运算符:连接布尔类型的表达式
&:两边都为true,其结果就是true,有一个为flase结果就是flase
|:两边只要有一个为true,其结果就是true。只有两边都为flase,其结果为flase
^:两边相同的结果为flase,两边不同结果为true
位运算符:
<<:其实就是乘以2的移动次幂
>>:其实就是除以2的移动次幂 如:6>>2=6/2的2次方 取整数。最高位补什么由原有数据的最高位来定。
>>>:最高位统统以0来补
if语句: 如果if后面没有大括号后,只执行一个结果语句不执行后面的语句
while语句:
定义初始化语句
while(条件表达式)
{循环体(执行语句)}
for语句:
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句}
执行方式 :第一步 执行初始化表达式,第二步执行循环条件表达式,第三步执行语句 第四步 循环后的操作表达式 然后再循环执行 第二步到第四步
再for前面定义初始化语句 再for语句内 初始化语句可以不写,
for语句内循环后的操作表达式也可以不写,执行语句当中写也可以
for语句中国,循环条件表达式也可以不写。默认为true
for嵌套循环中
for(){ 外面的for循环代表的是行数
for(){内部的for循环代表的是列数
}
函数:就是具有独立功能的一段小程序。 函数也是方法
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2){
执行语句
return 返回值
}
返回值类型:函数运行后结果的数据类型
参数类型:是形式参数的数据类型
实际参数:是一个变量,用于存储调用函数时传递给函数的实际参数
return:用于结束函数
返回值:该值会返回给调用者
如果函数运算后,没有具体的返回值时,这时返回值类型用一个特殊的关键字来标识
这个关键字就是void:代表的是函数没有具体的返回值的情况。这个时候可以省略return
如何定义一个函数:
1.既然函数是一个独立的功能,该功能的运算结果是什么先明确
2.在明确在定义该功能的过程中是否需要未知的内容参与运算。(顶一个函数功能的细节时,是自己能独立能编写还是要调用某些功能来是实现)
也就是:
1.明确函数返回值类型
2.明确函数的参数列表(参数的类型和参数的个数)
函数的重载:
在同一个类中允许存在相同的函数名,只是它们的参数类型和参数个数不一样。
函数的重载只能与参数列表有关系
数组:
同一类型数据的集合,其实数组就是一组容器
格式1:
元素类型[] 数组名=new 元素类型[元素个数或数组长度]
如:int[] arr=new int[5];
格式2:
元素类型[] 数组名=new 元素类型[]{元素,元素,元素。。。}
int[] arr=new int[]{1,3,4,5,6}
int[] arr={1,2,3,4,5}
栈内存特点:数据使用完毕,会自动释放。局部变量都是在栈内存当中。
凡是new出来的实体都是在堆内存当中,只要是new的就会在堆内存中开辟一个新的空间
堆内存中的数据是用来封装的。如果没有具体的值默认为该数据类型的初始值
两个引用指向同一数组,当一个改变的时候另外一个同样改变。
数组在运行时容易出现的两个问题:
1.arrayIndexOutOfBoundsException:操作数组时,访问到数组中不存在的角标
2.NullPointerException:空指针,当引用没有任何指向值的情况。
获取数组中的元素时数组最常见的操作。
数组排序没有返回值。是对同数组进行操作
选择排序:
public class ShuZuPaiXu {
public static void paiXu(int[] arr) {
for(int x=0;x<arr.length;x++) {
for(int y=x+1;y<arr.length;y++) {
if(arr[x]>arr[y]) {
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public static void printArray(int[] arr) {
for(int a=0;a<arr.length;a++) {
System.out.println(arr[a]);
}
}
public static void main(String[] args) {
int arr[]= {3,5,7,9,22,44,1,12,14};
printArray(arr);
System.out.println("_______________________________");
paiXu(arr);
printArray(arr);
}
}
冒泡排序:
相邻两个元素进行比较,如果符合条件就换位
public static void bubble(int[] arr) {
for(int a=0;a<arr.length-1;a++) {
for(int b=0;b<arr.length-a-1;b++) {
if(arr[a]>arr[a+1]) {
int temp=arr[a];
arr[a]=arr[a+1];
arr[a+1]=temp;
}
}
}
}
}
在实际开发过程中,java本身有帮助排序的。Arrays.sort(arr)
数组的查找操作:
存储数据的容器:
StringBuffer sb=new StringBuffer();
二维数组:
格式:int[][] arr =new int[3][5]:定义一个二维数组,二维数组中有三个一维数组,每一个一维数组中有5个元素。