一、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]