前期算错了一个

                if (Math.abs(temp-target) > Math.abs(target - num)) {//接近程度
                    temp =  Math.abs(target - num));//值越小 越接近 应该赋值为temp = num;
                }

进行修改代码

class Solution {
    public int threeSumClosest(int[] nums, int target) {
        int temp = nums[0] + nums[1] + nums[2];//接近指数
        Arrays.sort(nums);
        //负-> target <-正 转化为相减取整数最小
        for (int i = 0; i < nums.length; i++) {
            int j = i + 1;
            int z = nums.length - 1;
            while (j < z) {
                int num = nums[i] + nums[j] + nums[z];
                if (Math.abs(temp-target) > Math.abs(target - num)) {//接近程度
                    temp = num;//值越小 越接近
                }
                if (target - num > 0) {
                    j++;
                } else if (target - num < 0) {
                    z--;
                } else return target;
            }
        }
        return temp;
    }
}

在这里进行优化 超过87%

        for (int i = 0; i < nums.length-2; i++) {...}