Java基础
12月29日复习内容:
一些基本概念
- JDK: Java开发工具包
- JRE: JavaSE运行时环境,提供运行Java应用程序所必须的软件环境。
- javac.exe :编译器,将高级语言代码翻译成字节码文件
- java.exe 解释器 ,主要用于启动JVM对字节码文件进行解释并执行。
equals和 == 的区别
- equals 是基于内容的比较。默认情况下比较的也是内存地址,但是可以进行重写。
- ==是基于内存地址的比较。如果内存地址不同返回的结果就是不同的。
for each遍历 方法
public static void translant(int[] Array){
for(int e:Array){ //其他语言中用的比较少,但是还挺方便的。
System.out.print(e+" ");
}
System.out.println("");
}
数组中的一些官方方法
-
使用Java官方提供的拷贝功能。
//表示将数组arr下标从1开始的三个元素拷贝到数组brr中下表从0开始的三个元素值中 System.arraycopy(arr,1,brr,0,3);
-
数组工具类
java.util.Arrays static String toString(int[]a)//遍历数组元素 static void fill(int[]a,int val)//用val填充整个数组。 static boolean equals(boolean[]a,boolean[]a2) //判断俩个数组是否一致。 static void sort(int[] a)//升序排列。 static int binarySearch(int[]a,int key)//查找key在数组中所在的位置。
-
二维数组
int[][] arry3=new int[3][];//声明一个具有三行不知道多少列的二维数组/ arry3[0] = new int[3]; arry3[1] = new int[4]; arry3[2] = new int[5]; // 案例,用户输入行数实现杨辉三角: // 根据用户输入行数实现杨辉三角。 import java.util.*; public class yanghui{ public static void main(String[] args){ System.out.println("请输入行数。"); Scanner sc = new Scanner(System.in); int row = sc.nextInt(); int[][] array = new int [row][]; for(int i=0;i<row;++i){ array[i]=new int[i+1]; for(int j=0;j<i+1;++j){ if(j==0||j==array[i].length-1){ array[i][j] = 1; }else{ array[i][j]=array[i-1][j-1]+array[i-1][j]; } } } for(int i=0;i<row;++i){ for(int j=0;j<=i;++j){ System.out.print(array[i][j]+" "); } System.out.println(""); } } }
-
一个简单的复习题
// 练习题:用户输入年月日信息,判断这一天是这一年中的第几天。 import java.util.*; public class homework{ public static boolean judge(int year){// 判断结果是平年还是闰年。 if(year%100==0){ if(year%400==0) return true; else return false; }else{ if(year%4==0) return true; else return false; } } public static void main(String[] args){ while(true){ int month1[]={31,28,31,30,31,30,31,31,30,31,30,31}; int month2[]={31,29,31,30,31,30,31,31,30,31,30,31}; Scanner sc = new Scanner(System.in); System.out.println("请输入年份"); int year = sc.nextInt(); System.out.println("请输入月份"); int month = sc.nextInt(); System.out.println("请输入日"); int day = sc.nextInt(); int totaldays=0; if(judge(year)){// 闰年 for(int i=0;i<=month-2;++i){ totaldays+=month2[i]; } totaldays+=day; }else{ for(int j=0;j<=month-2;++j){ totaldays+=month1[j]; } totaldays+=day; } System.out.println("这一天是这一年的第"+totaldays+"天"); } } }