s += 1 等价于 s = (s的数据类型)(s+1) 即进行了一次强制转换 &&与& 的区别:&&只要左边false,右边就不执行,同理||和|也是如此
三目运算符: 比较表达式?表达式1:表达式2 如果是true,就把表达式1作为结果,反之把表达式2作为结果
//得出三个数中的最大值 int max = (a>b)?((a>c)?a:c):((b>c)?b:c);即是能完成特定功能的代码块
class FunctionDemo{ public static void main(String[] args){ int x=10; int y=10; int result = sum(x,y); System.out.println(result); } //两数求和 public static int sum(int a,int b){ int c = a+b; return c } }方法注意事项: (1)不调用不执行 (2)方法与方法是平级关系,不能嵌套定义
方法重载: 在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可
定义格式:(效果是一样的,推荐第一种) (1)int [] a; 定义一个int类型的数组a变量 (2)int a[]; 定义一个int类型的a数组变量
数组属性: (1)获取数组的长度 格式:数组名.length (2)
数组初始化: (1)动态初始化:只指定长度,并为每个数组元素赋予值 格式:数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];(2)静态初始化:给出初始化值,由系统决定长度
int[] arr = {1,2,3};遍历数组:
public static void printArray(int[] arr){ for (int i=0; x<arr.length; i++){ if (i==arr.length-1){ System.out.println(arr[i]); } else:{ System.out.println(arr[i]+" "); } } }数组逆序:
public static void reverse(int[] arr){ for (int start=0, end=arr.length-1; start<=end;start++,end--){ temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } }定义格式:(效果是一样的,推荐第一种) (1)int [][] a = new int[m][n]; 定义一个int类型的二维数组a变量 n可以不填,之后在动态初始 (2)int a[][] = new int[m][n]; 定义一个int类型的a数组变量 (3)int [] a[] = new int [m][n];
二维数组的遍历:
//二维数组的length就是一维数组的个数 for(int x=0; x<arr.length; x++){ for (int y=0; y<arr[x].length; y++){ System.out.println(arr[x][y]+" "); } System.out.println(arr[x][y]); }打印杨辉三角: (1)任何一行的第一列和最后一列都是1 (2)从第三行开始,每一个数据时它上一行的前一列和它上一行的本列之和
public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入一个数据:"); int n = nextInt(); int [][] arr = new int[n][n]; //给这个二维数组的任何一行的第一列和最后一列赋值为1 for(int x=0; x<arr.length; x++){ arr[x][0] = 1; arr[x][x] = 1; } //按规律赋值 for (int x=2;x<arr.length;x++){ //空出最后一列和第一列 for (int y=1; y<=x-1; y++){ arr[x][y] = arr[x-1][y-1] + arr[x-1][y]; } } //遍历三角形 for(int x=0; x<arr.length; x++){ for (int y=0; y<=x; y++){ System.out.println(arr[x][y]+"\t"); } } }(1)栈:存储局部变量(方法定义中和方法声明上的都是局部变量) 栈内存中的数据用完(脱离作用域)就释放掉 (2)堆:存储new出来的东西
堆内存的特点:1.每一个new出来的东西都有地址值 2. 每个变量都有默认值(0, 0.0,‘\u0000’, false, null)3. 使用完毕就变成了垃圾,但是并没有立即回收,会在垃圾回收器空闲的时候回收。
(3)方法区 (4)本地方法区:和系统相关 (5)寄存器(给cpu使用)
