Java每日一练哦

本文涵盖了Java的基础概念,如JDK与JRE的区别、基本数据类型、面向对象编程、方法重载、继承、包装类、线程安全与不安全类、排序与查找算法、数据结构选择以及对象初始化顺序。深入探讨了Java开发中的关键知识点,为理解Java编程提供了全面的指南。
摘要由CSDN通过智能技术生成

目录

 

8.19、JDK和JRE的区别

8.21、java的八个基本数据类型

8.24、选队长的逻辑

8.25、双色球的逻辑

8.26、什么是面向对象?

 8.27、什么是方法的重载?

8.31、什么是继承?

9.1、什么是包装类?

9.4、Java中为什么"10001000"输出为false,而"100100"输出则为true?

 9.7、final在java中有什么作用?

9.9、如何实现数组和List之间的转换?

9.10、讲一下String和StringBuilder的区别(final?)StringBuffer和StringBuilder的区别

 9.11、接口和抽象的区别?

9.14、Java中Math round(-1.5)等于多少?

9.16、二分查找  代码

9.17、javac命令和java命令做什么事情?

9.22、如何决定使用HashMap还是TreeMap?

9.23、Java对象的初始化顺序?

 9.24、写几个线程安全类,不安全的,支持排序的类名。

 


8.19、JDK和JRE的区别

JRE和JDK的区别:
JRE:Java Runtime  Environment.指的是Java的运行环境,包括JVM和Java类库,用户在运行Java程序时需要的环境。使用对象是需要运行Java程序的用户
JDK:Java  Development Kit.指的是Java的开发工具包,开发人员在编写Java程序时使用,使用对象是开发人员。

8.21、java的八个基本数据类型

8.24、选队长的逻辑

8.25、双色球的逻辑

双色球思路:

1、首先需要获取一组用户输入的号码,在这之中,可以先定义一个数组,先让用户输入6个红色数字,然后再单独输入一个蓝色数字。
2、使用随机数产生一组中奖号码将其保存在数组中。
3、先比较红色数字是否有相同的,如果有就定义一个变量i进行++。然后再单独比较蓝色数字是否相同,再用另一个变量来存储m进行++这个结果。
4、判断i和m的组合是属于几等奖,然后输出结果。

 

8.26、什么是面向对象?

面向对象是相对面向过程而言的,是用另一种方式来处理问题,即面向对象是通过一系列的类、对象、调用类中属性和方法来处理问题。
对象是类的一个实例。
类具有属性和方法。属性是相当于人的特征,方法相当于人的行为。

 8.27、什么是方法的重载?

我的回答:方法的重载是指同一个方法名可以有多个不同的实现方式,但是每个方法的参数,参数类型和参数类型顺序都必须不同

老师的:方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。 [1]  Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法。

8.31、什么是继承?

继承是指子类继承父类的特征和行为,使得子类具有父类的实例域和方法。
子类除去继承父类的属性和方法外也可以有自己独立的方法和属性。
子类只能调用父类中使用public和protected修饰的属性和方法。

9.1、什么是包装类?

8种数据类型都有对应的包装类,其中int、char的包装类是Integer、Character,其余包装类都是其对数据类型的首字母大写。例如:boolean -->Boolean

9.4、Java中为什么"10001000"输出为false,而"100100"输出则为true?

https://blog.csdn.net/LBJ_155207/article/details/108406285

 9.7、final在java中有什么作用?

9.9、如何实现数组和List之间的转换?

List转换成为数组:调用ArrayList的toArray方法。
数组转换成为List:调用Arrays的asList方法。

9.10、讲一下String和StringBuilder的区别(final?)StringBuffer和StringBuilder的区别

1、String是字符串常量,不能随意更改长度;用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。

2、StringBuffer是字符串变量 线程安全。可以使用toString()方法将其转为String类型。

3、StringBuilder是字符串变量 线程不安全。StringBuilder对象被当作是一个包含字符序列的变长数组

 9.11、接口和抽象的区别?

9.14、Java中Math round(-1.5)等于多少?

每日一练:
答案:-1
因为round()方法是返回一个最接近的int,long型的数值,算法是Math.floor(x+0.5)然后向下取整。即四舍五入法

9.16、二分查找  代码

9.17、javac命令和java命令做什么事情?

每日一练:
JAVAC是将编写好的JAVA代码文件编译为以.class结尾的字节码文件,然后再使用JAVA +生成的字节码文件名运行程序。

9.22、如何决定使用HashMap还是TreeMap?

TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。
HashMap<K,V>的Key值实现散列hashCode(),分布是散列的、均匀的,不支持排序;数据结构主要是桶(数组),链表或红黑树。适用于在Map中插入、删除和定位元素。因为HashMap中元素的排列顺序是不固定的,所以当需要得到一个有序的结果时就应该使用TreeMap

9.23、Java对象的初始化顺序?

 每日一练:静态变量、静态代码块、非静态变量、构造函数9.24

 9.24、写几个线程安全类,不安全的,支持排序的类名。

每日一练:
线程安全类:Vector,Hashtable,Stack
线程不安全类:ArrayList,LinkedList,HashSet,TreeSet,HashMap,TreeMap
支持排序的类:HashSet,TreeSet

【参考答案】

Ø线程安全类:Vector、Hashtable、Stack。

Ø线程不安全的类:ArrayList、Linkedlist、HashSet、TreeSet、HashMap、TreeMap等。

Ø支持排序的类有HashSet、LinkedHashSet、TreeSet等(Set接口下的实现都支持排序)

注:持续更新

 

 

 

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值