标签:java基础
1.定义一个函数,函数功能是动态提取int[]中元素的最大值。
public class Main {
/**
* 定义一个函数,函数功能是动态提取int[]中元素的最大值。
*/
public static void main(String[] args) {
//定义数组
int[] nums = new int[5];
//初始化数组
for(int i= 0;i<5;i++){
nums[i] = i;
}
int max = getMax(nums);
System.out.println("数组中最大的值为:"+max);
}
/**
* 获取一个整型数组中最大的元素
*/
public static int getMax(int[] nums){
int tmp = 0;
for(int i = 0;i<nums.length;i++){
if(nums[i]>tmp){
tmp = i;
}
}
return tmp;
}
}2.定义一个函数,从数组中查询指定的元素首次出现的位置。
public class Main {
/**
* 定义一个函数,从数组中查询指定的元素首次出现的位置。
*/
public static void main(String[] args) {
char[] strs = {‘h‘,‘e‘,‘l‘,‘l‘,‘o‘};
char c = ‘e‘;
int index = indexOf(strs,c);
System.out.println("字符"+c+"首次出现的位置为:"+index);
}
public static int indexOf(char[] strs,char c){
for(int i =0;i<strs.length;i++){
if(strs[i]==c){
return i;
}else{
System.out.println("没有找到对应的元素");
}
}
return -1;
}
}3.定义函数,完成冒泡排序,大数下沉。
public class Main {
/**
* 定义函数,完成冒泡排序,大数下沉。
*/
public static void main(String[] args) {
int[] nums = new int[5];
//初始化数组(降序)
for(int i=4,n=0; i>=0 ;i--,n++){
nums[n] = i;
}
System.out.println("排序前");
printNums(nums);
//排序
nums=order(nums);
System.out.println("排序后");
printNums(nums);
}
public static int[] order(int[] nums){
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums.length-(i+1);j++){
if(nums[j]>nums[j+1]){
int tmp;
tmp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=tmp;
}
}
}
return nums;
}
public static void printNums(int[] nums){
for(int j =0;j<5;j++){
System.out.print(nums[j]);
}
System.out.println();
}
}4.折半查找
public class Main {
/*
* 折半查找
*/
public static void main(String[] args) {
int[]nums = new int[10];
for(int i=0;i<10;i++){
nums[i] =i;
}
find(nums,10,0,nums.length-1);
}
public static void find(int[] nums,int n,int begin,int end){
int mid = (nums[begin]+nums[end])/2;
if(mid == n){
System.out.println("找到了");
}
if(n>mid){
begin = mid;
find(nums,n,begin,end);
}
if(n<mid){
end = mid;
find(nums,n,begin,end);
}
}
}5.没明白题意?
6.定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的
public class Main {
/**
* 定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的
*/
public static void main(String[] args) {
int[][] nums= new int[3][3];
int num = 0;
for(int i = 0; i<3; i++){
for(int j =0 ;j<3;j++){
nums[i][j] = num;
num++;
}
}
System.out.println("转换前");
printNums(nums);
nums=reverse(nums);
System.out.println("转换后");
printNums(nums);
}
public static int[][] reverse(int[][]nums){
int[][] nums2= new int[3][3];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
nums2[i][j] = nums[j][i];
}
}
return nums2;
}
public static void printNums(int[][]nums){
for(int i = 0; i<3; i++){
for(int j =0 ;j<3;j++){
System.out.print(nums[i][j]);
}
System.out.println();
}
}
}7.遍历三维组数,横向输出三维数组的每一个层。
public class Main {
/**
* 遍历三维组数,横向输出三维数组的每一个层
*/
public static void main(String[] args) {
int[][][] nums = new int[3][3][3];
int num = 0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
for(int k=0;k<3;k++){
nums[i][j][k] = num++;
}
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
for(int k=0;k<3;k++){
System.out.print(nums[i][j][k]);
}
System.out.println();
}
System.out.println();
}
}
}8.定义一个类:Dog 有名称 color age cry();
public class Dog {
private String color;
private int age;
public void cry(){
System.out.println("汪汪汪");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}9.阐述出来堆区,栈区,何时出现溢出,如何解决。
答:堆是虚拟机中存放对象的区域,栈是一个先进后出的数据结构,在java虚拟机中有方法栈,栈中放的方法帧,一个程序至少要有一个栈作为main函数的栈.
如果在构造函数中new对象就会出现堆栈溢出,防止堆栈溢出就要仔细写代码,不要出现死循环的创建对象的场景,资源使用完毕后要及时进行释放.
10.oop
答:oop是面向对象编程,将数据作为类的属性进行封装,面向对象的好处在于,扩展性强,不会出现"二次造车轮的现象".
标签:java基础
原文地址:http://pwitachi.blog.51cto.com/5057345/1775460