JAVA中几个易混淆的基础知识点的比较

一、i++和++i的区别

1.如果是单独使用的话,没有区别
2.如果混合使用
(1)如果后++,先赋值,后自增
(2)如果前++,先自增,后复制

package com.hpe.cn;

public class Demo2 {
    public static void main(String arg[]) {
        //单独使用
        int num=10;
        //前++
        ++num;
        System.out.println("num="+num);//11
        
        //后++
        int num1=10;
        num1++;
        System.out.println("num1="+num1);//11
        System.out.println("=====================");
        //混合使用
        int a=10;
        System.out.println(++a);//11
        int b=10;
        System.out.println(b++);//10
        
        int x=10;
        int y=x++;
        System.out.println(y);//10
        
        int c=10;
        int e=10;
        int f=(--c)+(c--)+c+(++c)+(e++)+(++e)+(--e);//68
        System.out.println(f);
    }
}

运行结果:

num=11
num1=11
=====================
11
10
10
68

二、&与&&的区别

&:与,左边无论真假,右边都进行运算;
&&:短路与,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

package com.hpe.cn;
/*
 * 逻辑运算符
 * &(and) 所有的条件都为true,则为true,如果一个false
 * |(或者)有一个为true
 * ^(异或)相同为false,不同为true
 * !(非)  取反
 * 
 * &&(短路与)
 * ||(短路或)
 * 如果左侧已经判断最终结果,后面的判断不会再执行
 */
public class Demo5 {
  public static void main(String[] args) {
    System.out.println("&与&&区别");
    int num=10;
    System.out.println(3>4 & ++num>10);//false
    System.out.println(num);//11
    int num1=10;
    System.out.println(3>4 && ++num1>10);//false左侧能判断,不再继续执行
    System.out.println(num1);//10
    System.out.println("================");
    int num2=10;
    System.out.println(4>3 || ++num2>5);//true
    System.out.println(num2);//10
    
    int num3=10;
    System.out.println(4<3||+num3>7);//true
    System.out.println(num3);//11
}
}

运行结果:

&与&&区别
false
11
false
10
================
true
10
true
10

三、面向对象和面向过程

这里通过一个实例解释。

package day6;

import java.util.Arrays;

/**
 * 面向过程:c语言(中小型项目)
 * 面向过程:当开发一个功能的时候,面向过程看重中间的过程,看重每一步的步骤
 * 
 * 面向对象:java、php、js(大型)
 *        当开发一个功能的时候,不看重具体的过程和步骤,而是关心谁能完成这件事
 * 
 *
 */
public class Demo6 {
    public static void main(String arg[]) {
        int[] a=new int[]{10,20,76,90};
        //我想按照指定格式对数组进行遍历输出[10,20,76,90]
        //面向过程
        System.out.print("[");
        for (int i = 0; i < a.length; i++) {
            if(i==a.length-1){
                System.out.print(a[i]+"]");
            }else{
                System.out.print(a[i]+", ");
            }
        }
        System.out.println();
        //面向对象,找对象帮我做,jdk有一个对象叫Arrays,他可以把数组转成相应的格式输出
        System.out.println(Arrays.toString(a));
    }

}

运行结果:

[10, 20, 76, 90]
[10, 20, 76, 90]

你可能感兴趣的:(JAVA中几个易混淆的基础知识点的比较)