数组初始化默认值
数据类型 | 默认值 |
---|---|
整数 byte.short.int.long | 0 |
浮点数 float.double | 0.0 |
布尔 boolean | false |
字符 char | 空字符 |
引用数据类型 String | null |
静态初始化应用
如果数组的定义和初始化分开进行,那么只能使用完整版本来初始化数组,不能使用简化版
动态初始化VS静态初始化
动态初始化:手动指定数组长度,系统给出默认初始化值
需要确定数组的长度,内容确定不了的情况下使用动态初始化
静态初始化:手动指定数组元素,系统根据元素个数,自动计算数组长度
需要确认数组元素,个数不重要可以使用静态初始化
数组遍历
当数组的遍历条件是写死的时候希望能够动态的获取数组的长度,可以通过数组对象.length获取数组的长度
题目一
通过键盘录入的方式输入星期数(1-7的整数),显示今天的减肥活动,使用switch和if两种判断语句分别完成。(可写成2个方法)
周一:跑步
周二:游泳
周三:慢走
周四:动感单车
周五:拳击
周六:爬山
周日:好好吃一顿
public class Test1{
public static void main(String[] args) {
//键盘录入一个星期数,用一个变量接收
Scanner sc = new Scanner(System.in);
System.out.println(“请输入一个星期数:”);
int week = sc.nextInt();
//对星期数进行判断,这里用 if 语句实现
if (week < 1 || week > 7) {
System.out.println(“你输入的星期数有误”);
} else if (week == 1) {
System.out.println(“跑步”);
} else if (week == 2) {
System.out.println(“游泳”);
} else if (week == 3) {
System.out.println(“慢走”);
} else if (week == 4) {
System.out.println(“动感单车”);
} else if (week == 5) {
System.out.println(“拳击”);
} else if (week == 6) {
System.out.println(“爬山”);
} else {
System.out.println(“好好吃一顿”);
}
}
}
public class Test2{
public static void main(String[ ] args) {
//键盘录入一个星期数,用一个变量接收
Scanner sc = new Scanner(System.in);
System.out.println(“请输入一个星期数:”);
int week = sc.nextInt();
//对星期数进行判断,这里用 switch 语句实现
switch (week) {
case 1:
System.out.println(“跑步”);
break;
case 2:
System.out.println(“游泳”);
break;
case 3:
System.out.println(“慢走”);
break;
case 4:
System.out.println(“动感单车”);
break;
case 5:
System.out.println(“拳击”);
break;
case 6:
System.out.println(“爬山”);
break;
case 7:
System.out.println(“好好吃一顿”);
break;
default:
System.out.println(“你输入的星期数有误”);
}
}
}
题目二
朋友聚会的时候可能会玩一个游戏:逢七过。
规则是:从任意一个数字开始报数,当你要报的数字包含7或者是7的倍数时都要说:过。
为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1-100之间的满足逢七必过规则的数据。
这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。
public class Test3{
public static void main(String[ ] args) {
int count = 0;
int j = 1;
for (int i = 1; i < 101; i++) {
//i % 7 != 0是对七的倍数进行判断
//i / 10 != 7是对十位数含7的数进行判断
//i % 10 != 7是对个位数是七的数进行判断
if (i % 7 != 0 && i / 10 != 7 && i % 10 != 7){
if (j%10==0){
//每排显示十个数
System.out.print(i+" “);//取余是10的倍数输出并换行,也就是逢10就换行
System.out.println();
}else {
System.out.print(i+” ");
}
j++;
count++;
}
}
System.out.println();
System.out.println(“不是七的倍数也不含七的数有:”+count+“个”);
}
}
题目三
有一个很有名的数学逻辑题叫做不死神兔问题。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
public class Test4{
public static void main(String[] args) {
int[] arr=new int[20];
arr[0]=1;
arr[1]=1;
for(int i=2;i<arr.length;i++) {
arr[i] = arr[i-1] + arr[i-2];
}
System.out.println(“第二十个月的兔子对数为:”+arr[19]);
}
}
题目四
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
import java.util.Scanner;
public class Test5{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int money = sc.nextInt();
for(int i=1;i<=money/5;++i){
for(int j=1;j<(money-i5)/3;++j){
int k = (money-i5-j*3)*3;
if(i+j+k==money){
System.out.println("公鸡:"+i+"只,母鸡:"+j+"只,小鸡:"+k+"只");
}
}
}
}
}
}
}