JAVA学习笔记-02

时间:2023-02-26 17:49:42

转义字符:通过  \ 来转变后面字母或者符号的含义

\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个元素。