??
?1.
public class 逆序输出数组 {
public static void main(String[] args) {
String[] names={"yzk","zack","yang"};
for (int i=names.length-1;i>=0;i--)
{
System.out.println(names[i]);
}
}
}
2.
import java.util.Arrays;
public class 数组逐位相加 {
public static void main(String[] args) {
int nums1[]={3,8,9};
int nums2[]={5,2,8};
int nums3[]=new int[3];
int sum;
for (int i=0;i<=nums1.length-1;i++)
{
sum=nums1[i]+nums2[i];
nums3[i]=sum;
}
String s =Arrays.toString(nums3);
System.out.println(s);
}
}
优化写法
int nums1[]={3,8,9};
int nums2[]={5,2,8};
if(nums1.length!=nums2.length)
{
System.out.println("长度不一样");
return;
}
int nums3[]=new int[nums1.length];
for (int i=0;i<nums1.length;i++)
{
nums3[i]=nums1[i]+nums2[i];
}
System.out.println(Arrays.toString(nums3));
3.求最大值,普通算法:for,if……不用第三方,内置的库。
public class 数组求最大值 {
public static void main(String[] args) {
int nums[]={3,5,999,2,12};
int max=nums[0];
for (int i=0;i<=nums.length-1;i++)
{
if (nums[i]>max)
{
max=nums[i];
}
}
System.out.println(max);
}
}
int nums[] = { 3, 5, 999, 2, 12 };
int max = nums[0]; // nums[0]默认为最大值“当前最大值”
for (int i = 1; i < nums.length; i++) // 下标从 1 开始
{
// 如果遍历到的数比如“当前最大值”还大,则把“当前最大值”更新成为这个更大的数
if (nums[i] > max) // 元素大小比较
{
max = nums[i]; // 保存最大值
}
}
System.out.println("max=" + max); // 输出最大值
优化
public class 数组求最大值 {
public static void main(String[] args) {
int nums[]={-3,-5,-999,-2,-12};
int max=nums[0];
for (int i=0;i<=nums.length-1;i++)
{
int n=nums[i];
if (n>max)
{
System.out.println(n+"比目前最大值"+max+"大,因此更新最大值为"+n);
max=n;
}
else
{
System.out.println(n+"不比目前最大值"+max+"大");
}
}
System.out.println(max);
}
}
?
?
?
|