Java学习03
1、java面试一些问题
一、什么是变量
变量是指在程序执行期间可变的数据。类中的变量是用来表示累的属性的,在编程过程中,可以对变量的值进行修改。变量通常是可变的,即值是变化的
二、什么是函数
1、实现特定功能的一段代码2、可以多次循环使用。
三、什么是数组
数组是用来存储相同数据类型的数据集合,可使用共同的名称来应用数组中的数据。数组可以存储任何类型的数据,包括原始数据类型和对象。
2、循环阅读的技巧
外层循环做一次,内层循环做一遍
3、1234转变为4321
int right;
int value =1234;
while(Value!=0){
right=value%10;
System.out.print(right);
Value=value/10;
}
4、数组
数组的声明
int[] a ;
int a[] ;
数组的空间分配
a = new int[5];
int[] a ;
a = new int[5];
int[] a = new int[5];
数组的初始化
一种是:先声明在赋值
int [ ] a=new int[2];
a[0]=1;
a[1]=2;
另一种是:直接声明赋值
int [ ] a={1,2};
注意:
l 数组所创建的内存空间只能存储相同类型的数据
l 数组所分配内存空间是连续的
l 数组所分配的内存空间不可扩充
若对一个int型数组越界输出不报错输出0
若对一个String型数组越界输出不报错输出null
其它如下图所示:
数组的扩充
一、第一种方式
int[ ] a={1,2,3};
int[ ] b=new int[a.length*2];
for(int i=0;i<a.length;i++){
b[i]=a[i];
}
a=b;
二、第二种方式System.arraycopy()
int[ ] a={1,2,3};
int[ ] b=new int[a.length*2];
System.arraycopy(a,0,b,0,a.length);
//a指原始数组,0原始数组下标,b目的数组,0目的数组下标,a.length原始数组的长度
a=b;
三、第三种方式java.util.Arrays.copyOf()
int[ ] a={1,2,3};
int[ ] b=java.util.Arrays.copyOf(a,a.length*2); //a指原始数组
a=b;
二维数组
声明二维数组:
int [ ][ ] a;
创建二维数组:
int[][] a = new int[2][3]
二维数组的遍历:
a[i].length:第i行数组的长度
二维数组就是数组中嵌套一维数组
数组排序
sort函数是升序排列,可以将数组全部排序,也可以在指定范围内将元素排序。
Arrays.sort(数组);
或者
Arrays.sort(数组,开始下标,结束下标);
5、如何创建一个二维数组,第1行3列第2行2列
a[0]=new int[3];//声明一个一维数组放入二维数组的第一行
a[1]=new int[2];
a[0][1]=1;//第1行第2列赋值
6、java一些编程实例
一、如果一个数等于其所有因子之和,我们就称这个数为"完数",例如 6的因子为1,2,3 6=1+2+3 6就是一个完数.请编程打印出1000以内所有的完数
/**
*
*/
package com.oracle.it.day3;
/**
* @author admin
* @version 1.0
* @date2015年7月24日
* 打印1000以内的所有完数
*/
public class work1 {
public static void main(String[] args){
for(int num=1;num<=1000;num++){
wanshu(num);
}
}
public static void wanshu(int num){
int sum=0;
for(int i=1;i<=num/2+1;i++){
if(num%i==0)
sum=sum+i;
}
if(sum==num)
System.out.println(num+"是完数");
}
}
二、 输出99乘法表
三、 编程输出所有的三位水仙花数 水仙花数:各位数字的立方数相加等于该数本身例如:153 1*1*1+5*5*5+3*3*3=153,153就是一个三位水仙花数。