东软java课后作业

 

Java基础语法作业

1.标识符的命名规则需要注意哪几点?

答:由字母、数字、下划线、美元符组成;不能以数字开头,不能中间有空格。

尽量准守阿里规范:包名小写,类与接口名大驼峰命名规则,变量名与方法名小驼峰命名规则,见名知意。常量名全大写并下划线隔开。

 

2.基本数据类型有哪几类?包含String吗?

答:基本数据类型包含:数值型(整数类型(byte、short、int、long)、浮点类型(float、double))、字符型(char)、布尔型(boolean)。不包含String,因为它是引用类型。

 

3.整型默认的是什么类型,浮点型(实数型)默认的是什么类型?

答:整型默认是int类型,浮点型默认是double类型。

 

4.对于包名,类名接口名,变量名和函数名,常量名我们习惯如何格式来命名?

答:

  • 包名:多单词组成时所有字母都小写:xxxyyyzzz

  • 类名、接口名:(大驼峰)多单词组成时,所有单词的首字母大写:XxxYyyZzz

  • 变量名、方法名:(小驼峰)多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

 

5.char型变量中能不能存贮一个中文汉字?为什么?

答: 能、Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。

 

6.定义float f=3.4;是否正确?

答:不正确、应该是 float f =3.4f。单精度·的·浮点类型必须结尾跟上f。

 

7.用最有效的的方法算出2乘以8等于几

答:与2相关的运算,则位运算最快:2<<3; 表示bai2 向左移 3位:2 * 2^3(2的3次方) = 2 * 8;

 

8.表达式15/2*2的值是多少

答:4

 

9.说出以下代码运行的结果,为什么?

public static void main(String[] args) {
char x = 'x';
int i = 10;
System.out.println(true? x : i);
System.out.println(true? 'x' : 10);
}

答:120 x。三目运算,条件为真,这执行第一个冒号前的代码。第一个是x 变量,它的值是字符x,所以打印他的ASCII码,120。第二个是字符'x',所以直接打印这个字符。

 

10.从键盘分别输入年、月、日,判断这一天是当年的第几天

答:

public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入年份:");
       int year = sc.nextInt();
       System.out.println("请输入月份:");
       int month = sc.nextInt();
       System.out.println("请输入日期:");
       int day = sc.nextInt();

       //判断输入年份的二月是29天的还是28天的
       int twoMonthDay=0;
       if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
           twoMonthDay=29;
      }else {
           twoMonthDay=28;
      }
       int[] days = {31,twoMonthDay,31,30,31,30,31,31,30,31,30,31};
       int resultDay=day;
       for (int i = 0; i < month - 1; i++) {
           resultDay +=days[i];
      }
       System.out.println(year+"年的第:"+resultDay+"天");
}

 

 

11.根据从键盘分别输入的指定月份,打印该月份所属的季节

答:

  public static void main(String[] args) {
       // 根据从键盘分别输入的指定月份,打印该月份所属的季节
       String[] jiJie = {"春季", "夏季", "秋季", "冬季"};
       Scanner input = new Scanner(System.in);
       System.out.print("请输入月份(1-12):");
       int month = input.nextInt();
       boolean spring = (month == 3 || month == 4 || month == 5);
       boolean summer = (month == 6 || month == 7 || month == 8);
       boolean autumn = (month == 9 || month == 10 || month == 11);
       boolean winter = (month == 12 || month == 1 || month == 2);
       if (spring){
           System.out.println(jiJie[0]);
      }else if (summer){
           System.out.println(jiJie[1]);
      }else if (autumn){
           System.out.println(jiJie[2]);
      }else {
           System.out.println(jiJie[3]);
      }
  }

 

 

 

12.随机生成一个100以内的整数,猜数字游戏:从键盘输入数,如果大了提示,大了,如果小了,提示小了,如果对了,就不再猜了,并统计一共猜了多少次?

答:

public static void main(String[] args) {
       //1. random生成一个随机数(0-99)
       Random random = new Random();
       int randomNum = random.nextInt(100); //范围:[0,100)

       int number = 0; //猜数的次数,每猜一次,累加1

       Scanner input = new Scanner(System.in);
       while (true) {
           System.out.print("请输入你要猜的数字:");
           int inputNumber = input.nextInt();
           if (inputNumber > randomNum) {
               System.out.println("猜大了,请重新猜\n");
               number++;
          } else if (inputNumber < randomNum) {
               System.out.println("猜小了,请重新猜\n");
               number++;
          } else {
               System.out.println("恭喜你,猜对了");
               number++;
               break;
          }

      }
       System.out.println("你一共猜了" + number + "次");
  }

 

 

13.怎么知道数组的长度?

答:数组名.length;就可以获取这个数组的长度。

 

14.创建一个长度为6的int型数组,要求取值范围为1-30,同时元素值各不相同

答:

 public static void main(String[] args) {
       int[] arr = new int[6];
       for (int i = 0; i < arr.length; i++) {
           arr[i] = (int) (Math.random() * 30 + 1);
           for (int j = 0; j < i; j++) {
               if(arr[i] == arr[j]){
                   i--;//如果新的和以前的一个值相同,就指针移到这个新的指针,重新赋值。直到不一致为止。
                   break;
              }
          }
      }
       System.out.println(Arrays.toString(arr));
  }

 

15.下面数组定义正确的有:

A. String strs[] = { ‘a’ ‘b’ ‘c’};

B. String[] strs = {“a”, “b”, “c”};

C. String[] strs = new String{“a” ”b” ”c”};

D. String strs[] = new String[]{“a”, “b”, “c”};

E. String[] strs = new String[3]{“a”, “b”, “c”};

答:B、D

 

15.用数组求出斐波那契数列的前20项值。

答:

 public static void main(String[] args) {
       //波那契数列:1、1、2、3、5、8、13、21、34、……在数学上:后一项等于前两项之和。
       int fibonacciArr[] = new int[20];
       fibonacciArr[0]=1;
       fibonacciArr[1]=1;
       for (int i = 2; i < fibonacciArr.length; i++) {
               fibonacciArr[i]=fibonacciArr[i-1]+fibonacciArr[i-2];
      }
       System.out.println(Arrays.toString(fibonacciArr));
  }

 

```

 

 

posted on   白嫖老郭  阅读(278)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示