when i use array,the variables that filled with those array unit will be byte but either 1 or zero.i only need 1 or zero for my purpose so is this true?]
What a weird question!
If you make an array if int[] and put values in it, then the values in it will be whatever you put there. If you only put ones and zeros in it, then that's what will be there. If you put something else there, then it will contain something else.
If you want an array of boolean true and false, then you can make a boolean array. If you want an array of HIGH and LOW, then you probably want a byte[] array, because digitalWrite is defined to take byte as an argument.