我怎么知道数组的长度?
.length属性获取
数组有没有length()这个方法? String有没有length()这个方法
答:数组没有length()这个方法,有length的属性。String有length()这个方法
Java中的任何数据类型都可以使用System.out.pritln方法显示
对基本数据类型而言,输出的往往是变量的值;
对于像数组这一类复杂的数据类型,输出的是其堆空间中存储位置的hashCode值
操作二维数组的注意点
操作二维数组不应使用常数来控制维数。具体方法是array.length表示行数,
array[row].length来表示row行的列数。这样当数组行数和列数不相等时,
代码可以自动调整为正确的值。
显示输出
String[] stringArray = new String[3]; // 各元素的值默认为null
for (int i = 0; i < stringArray.length; i++) { // 对各元素进行初始化,但没有赋值。
stringArray[i] = new String();
System.out.println(stringArray[i]);
}
答案:空 (有别于null)
面试题目:创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同
public static void main(String[] args){
int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) {// [0,1) [0,30) [1,31)
arr[i] = (int) (Math.random() * 30) + 1;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i--;
break;
}
}
}
//遍历数组
for (int i = 0;i < arr.length;i++){
System.out.println(arr[i]);
}
}
每日一练
- “&”和“&&”的异同
答:单”&”时,左边无论真假,右边都进行计算
双”&”时,如果左边为真,右边参与运算,如果左边为假,右边不参与运算
2.程序输出
class OperatorTest { public static void main(String[] args) { boolean x = true; boolean y = false; short z = 40; if ((z++ == 40) && (y = true)) { z++; } if ((x = false) || (++z == 43)) { z++; } System.out.println("z = " + z); } } |
结果为:44
- 定义三个int型变量并赋值,使用三元运算符或者if-else获取这三个数中的较大数的实现
答:
public static void main(String[] args){
int num1 = (int)(Math.random()*9)+1;//1-9
int num2 = 2;
int num3 = 3;
System.out.println("num1="+num1+",num2="+num2+",num3="+num3);
int max = (num1 > num2 ? num1 : num2) > num3 ? (num1 > num2 ? num1 : num2) : num3;
System.out.println(max);
}
- 编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。
答:
public static void main(String[] args){
double num1 = 1.1;
double num2 = 2.2;
if(num1 > 10 && num2 < 20){
System.out.println(num1+num2);
}else {
System.out.println(num1*num2);
}
}
5. 交换两个变量值的代码的实现
public static void main(String[] args){
int x = 1;
int y = 2;
System.out.println("交换前:x="+x+",y="+y);
int temp = x;
x = y;
y = temp;
System.out.println("交换后:x="+x+",y="+y);
}