语法结构、数组、二维数组知识点总结

本文主要内容:

**交换两个变量的值
**数组相关知识点
**二维数组相关知识点
**main方法
**常见的异常

1.交换两个变量的值

int a = 1;
int b = 2;
方法一:
int c = a;
a = b;
b = c;
方法二:
a = a + b;
b = a - b;
a = a - b;
方法三:
a = a ^ b;
b = a ^ b;
a = a^ b;
//一个数字异或同一个数字两次,值不会改变。

2.java的语法结构
顺序结构、分支结构、循环结构
3.循环结构
(1)for循环:程序想要执行一个正常的循环,需要满足三个条件(初始值、终点判定条件、变化量),允许将三个条件都写在括号内。
变化量放置在循环内执行,可能会因为变化量的位置,影响执行的最终结果。
初始值的位置也可能引起最终结果不同,特别是在两重循环中。

(2)while循环、do while 循环
(3)continue、break关键字
continue:跳出本次循环
break:终止本次循环
4.数组
(1)数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来。
(2)数组本身是一个引用数据类型,数组内存存储的类型可以是基本类型,也可以是引用类型。
(3)数组是存储在堆内存的一串连续的地址。
(4)如果需要用变量来进行储存,变量空间的栈内存中,变量中存储的是数组引用(地址)。
(5)数组在初始化时必须指定长度及内部存储元素的类型。
(6)数组的长度一旦确定是不能再次发生改变的
(7)数组的定义:

静态初始化:有长度、有元素
int[] array = new int[]{10,20,30,40,50};
int[] array = {10,20,30,40,50};
动态初始化:有长度、没有元素
int[] array = new int[5];//采用的是默认值

(8)数组元素的访问:
通过元素在数组中的位置来访问,存值、取值,位置是下标索引,如果下标越界,会出现ArrayIndexOutOfBoundException。
(9)数组元素的遍历(轮询)
通过循环的方式访问数组的每一个元素。
JDK1.5之后新的特性,增强for循环

for(自己定义的变量(接收数组内每一个元素):遍历的数组array){}
区别:
正常for:有三个必要的条件,index的索引,找到某一个元素的位置,可以通过index直接访问数组的某一个位置,存值、取值都可以,不好在于写法比较麻烦。
增强的for:有两个条件,用来取值的变量(用来遍历数组),没有index索引写法相对比较容易,
只能取值、不能存值,没有index索引,找不到元素到底是哪一个。

(10)变量之间的赋值与数组间赋值的不同

int a = 10;
int b = a;
b = 100;
System.out.println(a);//10
//==========================
int[] x = {10,20,30};
int[] y = x;
y[0] = 100;
System.out.println()x[0]);//100
int[] x = new int[]{10,20,30};
//栈内存的小容器,类型定义只能储存这种东西,容器只能存一份。x存储在栈上,里面
//储存的元素为地址,见到new关键字相当于在堆内开辟一块新的内存,数组在堆内存的
//空间形态是一串连续的地址

(11)基本数据类型与引用数据类型在内存结构上的区别
所有的变量空间都存储在栈内存上,变量空间可以存储基本数据类型,也可以存储引用数据类型。如果变量空间存储的是基本数据类型,存储的是值,一个变量值改变不会影响其他,如果变量空间存储的是引用数据类型,存储的是引用(地址),一个变量地址对于的值改变,另一个也会跟着改变(在赋值过程中)。
5.二维数组
(1)定义:int[][] array;
(2)初始化:静态——有长度、有元素 动态——只有长度、没有元素
(3)元素访问:通过元素在数组中的位置——index
(4)遍历轮询:正常for循环嵌套完成

(5)数组赋值

int[][] array = new int[3][2];
array[0][0] = 10;
array[0][1] = 20;
array[1] = array[0];
array[0] = new int[4];
array[0][0] = 100;
System.out.println(array[1][0]);//10

(6)引用类型在内存中的储存

//二维数组在内存中的存储
int[][] array = new int[3][2];
//3表示有3个小数组,2表示每一个小数组有2个元素(表示小数组的长度),注意不要发生
//数组越界,会出现空指针异常

(7)常见的运行时异常
inputMisMatchException:输入类型不匹配
ArrayIndexOutOfBoundException:数组索引越界
NegativeArraySizeException:数组长度不合法
NullPointerException:空指针异常
6.main方法

public static void mian(String[] args){
    
}
//public:访问修饰限定符(公有的)
//static:特征修饰符
//void:方法执行没有返回值
//main:方法名字,主要的

main方法中的args参数,可否传递?
(1)主方法不是我们调用的,JVM虚拟机启动的时候,虚拟机调用的
(2)主方法里面有args参数,是一个String[]类型,我们可以传递参数给JVM

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值