java每日一练

it2023-02-04  42

DayTest

day011.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些2.为什么要配置path环境变量?如何配置?3.常用的几个命令行操作都有哪些?(至少4个)4.创建如下的类,使得运行的话可以输出:5.编译和运行上述代码的指令 day021.标识符的命名规则有哪些? →不遵守,编译不通过。2. 标识符的命名规范有哪些? →不遵守,编译运行都可以通过3. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小4. 说明基本数据类型变量之间自动类型提升的运算规则。5. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。 day031.“&”和“&&”的异同2.程序输出 day041.switch后面使用的表达式可以是哪些数据类型的。2. 使用switch语句改写下列if语句:3. 谈谈你对三元运算符、if-else和switch-case结构使用场景的理解4. 如何从控制台获取String和int型的变量,并输出?使用代码实现5. 使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出。 day051.循环结构是如何最后退出循环的,有哪些不同的情况请说明。2.指出如下程序输出的结果:3.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程 找出1000以内的所有完数。(因子:除去这个数本身的其它约数)4. 说明break和continue使用上的相同点和不同点5. 从控制台输出如下结构: day061.写出一维数组初始化的两种方式2.写出二维数组初始化的两种方式3.如何遍历如下的二维数组4.不同类型的一维数组元素的默认初始化值各是多少5.一维数组的内存解析: day071.使用冒泡排序,实现如下的数组从小到大排序。 day081.面向对象思想编程内容的三条主线分别是什么2.面向对象的编程思想?3. 面向对象思想的体现一:类和对象的创建和执行操作有哪三步?4. 画出如下代码在执行时的内存分配情况5. 类的方法内是否可以定义变量?是否可以调用属性?是否可以定义方法?是否可以调用方法?

day01

1.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些

JDK=JRE+开发工具包 JRE=JVM+JavaSE标准类库

2.为什么要配置path环境变量?如何配置?

目的是为了cmd命令在任何地址下都能执行bin目录下的文件. 右键计算机→属性→高级系统设置→环境变量→新建变量(命名为:JAVA_HOME,值为bin目录所在文件夹地址),新建path,输入%JAVA_HOME%\bin.

3.常用的几个命令行操作都有哪些?(至少4个)

dir展示所在目录下文件 md 新建目录 cd 进入目录 cd…返回上一级 cd\返回根目录 del 删除文件 rd 删除目录

4.创建如下的类,使得运行的话可以输出:

class 9.8.2020{ public static void main(String[ ] args){//访问修饰符,静态方法,返回值类型为空,主方法(形式参数列表) System.out.println(“姓名:比企谷八幡”\n); //System.out.println(); System.out.println(“性别:男”); System.out.print(“家庭住址:日本千叶”) } } \n,转移字符.

class m9d8{ public static void main(String[ ] args){ System.out.println(“姓名:比企谷八幡\n\n性别:男\n家庭住址:日本千叶”);//不能有空格,有空格输出就会有空格. System.out.println();

}

}

5.编译和运行上述代码的指令

编译:javac 运行:java

day02

1.标识符的命名规则有哪些? →不遵守,编译不通过。

①由字母、数字、下划线_、$组成 ②不能以数字开头 ③不能包含空格. ④严格区分大小写 ⑤不能使用关键字,保留字,但可以包含关键字,保留字

2. 标识符的命名规范有哪些? →不遵守,编译运行都可以通过

平包子,大接口,小便量,大常量。 包名:xxxyyyzzz 类名、接口名:XxxYyyZzz 变量名、方法名:xxxYyyZzz 常量名:XXX_YYY_ZZZ

3. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小

我真的(boolean)爱你亿(整型)点点(浮点).字符 byte short int long 1248 char 2 1字符=2字节 float double48 boolean 注:String(字符串)不属于基本数据类型. 引用数据类型:类、接口、数组

4. 说明基本数据类型变量之间自动类型提升的运算规则。

byte、short、char (并列) →int →long →float →double 注:String不符合该规则.

5. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。

容量大 → 容量小 使用强转符:() 精度损失。

day03

1.“&”和“&&”的异同

短路与在执行程序过程中,当第一个程序为假时,在不再执行第二个程序,直接输出结果.

2.程序输出

class OperatorTest { public static void main(String[] args) { boolean x = true; boolean y = false; short z = 40; if ((z++ == 40) && (y = true)) { z++; }//后++,前为真,此时z = 41,后也为真,执行z++,z = 42 if ((x = false) || (++z == 43)) { z++; }//前为假,执行后面表达式,前++,z = 43, 后为真,执行z++,z = 44 System.out.println("z = " + z); } } 结果为:z = 44. 定义三个int型变量并赋值,使用三元运算符或者if-else获取这三个数中的较大数的实现. class Day03{ public static void main(Strings[] args){

int num1 = 10,num2 = 12,num3 = 15 ;

int max1 = (num1 > num2)?num1 : num2; int max2 = (max1 > num3)?max1 : num3; System.out.println(“max2 = ” + max2);

int max3; int max4; if(num1 > num2){ max3 = num1; }else{ max3 = num2; } if(max3 > num3){ max4 = max1; }else{ max4 = num3; } System.out.println(“max4 = ” + max4);

标准答案:

int num1 = 15,num2 = 14,num3 = 15 ; int max1 = (num1 > num2)?num1 : num2; int max2 = (max1 > num3)?max1 : num3; System.out.println("max2 = " + max2); int max;(变量初始化) if(num1 >= num2 && num1 >= num3){ max = num1; }else if(num2 >= num1 && num2 >= num3){ max = num2; }else{ max = num3; }

System.out.println("max = " + max); 结构: 变量类型 变量名; if (){;}else if (){;}else{;}

编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。

double a = 10.0; double b = 20.0; if(a > 10.0 && b < 20.0 /条件表达式不是语句./){ System.out.println(a + b); }else{ System.out.println(a * b); ()中无分号,{}中一定有分号. 交换两个变量值的代码的实现 int c = 10; int d = 20; int temp = c; c = d; d = temp;//前一行第二个与后一行第一个相等. System.out.println©; System.out.println(d); } }

day04

1.switch后面使用的表达式可以是哪些数据类型的。

byte 、 short 、char 、int 、枚举类型变量、String类型。

2. 使用switch语句改写下列if语句:

int a = 3; int x = 100; if(a==1) x+=5; else if(a==2) x+=10; else if(a==3) x+=16; else x+=34;

int a = 3; int x = 100; switch(a){ case 1: x+=5; break; case 2: x+=10; break; case 3: x+=16; break; default: x+=34; //break; }

3. 谈谈你对三元运算符、if-else和switch-case结构使用场景的理解

int c; if(a != b){ c = a; }else{ c = b; }

int c = (a != b)? a : b;

int c = a;

4. 如何从控制台获取String和int型的变量,并输出?使用代码实现

1.import java.util.Scanner;

Scanner scan = new Scanner(System.in);

String info = scan.next(); int id = scan.nextInt();

5. 使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出。

int sum = 0; for(int i = 1;i <= 100;i++){ if(i % 2 != 0){ Sysout(i); sum += i; } } syout(sum);

day05

1.循环结构是如何最后退出循环的,有哪些不同的情况请说明。

①不满足循环条件(即返回值为false) ②break;

return结束的是方法.

2.指出如下程序输出的结果:

label: for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 10; j++) { if (j % 4 == 0) { continue label; } System.out.print(j); } System.out.println(); }

正确结果:123123123123(考查的是标签的使用.原理: 在内循环中当j=4时,continue label,直接执行外循环下一个.依次类推,外循环执行4次,每次输出结果都是123)

3.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程 找出1000以内的所有完数。(因子:除去这个数本身的其它约数)

4. 说明break和continue使用上的相同点和不同点

break结束当前循环还可用于swtich-case, continue结束当次循环 break,continue后不能声明\语句

5. 从控制台输出如下结构:





** *

****** ***** **** *** ** * //外层循环控制行数 //内层循环控制列数 for(int i = 1;i <= 6;i++){ for(int j = 1;j <= 7 - i;j++){ System.out.print("*"); } System.out.println(); } //或 for(int i = 0;i < 6;i++){ for(int j = 0;j < 6 - i;j++){ System.out.print("*"); } System.out.println();

day06

1.写出一维数组初始化的两种方式

int[] arr = new int[5];//动态初始化

String[] arr1 = new String[]{“Tom”,“Jerry”,“Jim”};//静态初始化

数组一旦初始化,其长度就是确定的。arr.length 数组长度一旦确定,就不可修改。

2.写出二维数组初始化的两种方式

int[][] arr = new int[4][3];//动态初始化1 int[][] arr1 = new int[4][];//动态初始化2

int[][] arr2 = new int[][]{{1,2,3},{4,5,6},{7,8}};//静态初始化

3.如何遍历如下的二维数组

int[] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};

for(int i = 0;i < arr.length;i++){ for(int j = 0;j < arr[i].length;j++){ System.out.print(arr[i][j] + “\t”); } System.out.println(); }

4.不同类型的一维数组元素的默认初始化值各是多少

整型 : 0 浮点型:0.0 char:0 boolean :false 引用类型:null

5.一维数组的内存解析:

String[] strs = new String[5]; strs[2] = “Tom”; strs = new String[3];

day07

1.使用冒泡排序,实现如下的数组从小到大排序。

package com.yukino.java; public class Day07Test { public static void main(String[] args) { int[] arr = new int[] { 34, 5, 22, -98, 6, -76, 0, -3 }; // 1.使用冒泡排序,实现如下的数组从小到大排序。 for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length -1 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println(); /*快排时间复杂度:O(nlog2n); 冒泡时间复杂度:O(n^2) 堆排序、归并排序*/ // 2.如何反转上面的数组。请代码实现 for (int i = 0; i < arr.length / 2; i++) { int temp = arr[i]; arr[i] = arr[arr.length - 1 - i]; arr[arr.length - 1 -i] = temp; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } // 3. 复制上述数组,得到一个新的数组 vs 赋值操作(快捷方式) int[] arr1 = new int[arr.length]; for (int i = 0; i < arr1.length; i++) { arr1[i] = arr[i]; } for (int i = 0; i < arr1.length; i++) { System.out.print(arr1[i] + " "); } // 4. 使用线性查找,从上述数组中查找22是否存在。存在,返回所在位置 的索引。不存在,输出提示信息。 int dest = 45; //方式一: boolean isFlag = true; for (int i = 0; i < arr.length; i++) { if (dest == arr[i]) { System.out.println("索引值为" + i); isFlag = false; break; } } if(isFlag){ System.out.println("这哪里有嘛,奴家做不到啦!"); } //方式二: int i = 0; while (i < arr.length) { if (dest == arr[i]) { System.out.println("索引值为" + i); break; } i++; } if (i == arr.length) { System.out.println("没有找到"); } 5. 数组中常见的异常有哪些?请举例说明 ArrayIndexOutOfBoundsException:数组角标越界异常: 合理范围:[0,arr.length - 1] 越界: arr[-1],arr[arr.length] //空指针. NullPointerException:空指针异常 int[]arr = null; arr[0]; } }

day08

1.面向对象思想编程内容的三条主线分别是什么

① 类及类的成员:属性、方法、构造器;代码块、内部类 ② 面向对象的三大特征:封装、继承、多态 ③ 其它关键字:this,super,abstract,interface,static,final,package,import

2.面向对象的编程思想?

(类、对象;面向对象的三大特征;。。。) 谈谈你对面向对象中类和对象的理解,并指出二者的关系? 类:抽象的、概念上的内容 对象:实实在在存在的一个个体。 对象是由类派生出来的。

3. 面向对象思想的体现一:类和对象的创建和执行操作有哪三步?

① 创建类 ② 类的实例化 ③ 调用对象的结构:”对象.属性” “对象.方法”

4. 画出如下代码在执行时的内存分配情况

class Car{ String color = "red"; int num = 4; void show(){ int a = 10; System.out.println("color="+color+",num="+num); } } class CarTest { public static void main(String[] args) { Car c1 = new Car(); Car c2 = new Car(); c1.color = "blue"; c1.show(); c2.show(); } }

5. 类的方法内是否可以定义变量?是否可以调用属性?是否可以定义方法?是否可以调用方法?

是;是;否;是

最新回复(0)