`

java中的常用类

    博客分类:
  • java
阅读更多

一、如何产生一个随机数?

 

    需要使用java.lang包中的Math类,Math类有一个产生随机数的方法是:random();

 

    例如:

    int i = (int)(Math.random()*4);

    Math.random()返回的是大于等于0小于1的随机数,带正号的double值。如果乘以一个正整数,则会返回0——正整数之间的随机数,而并不包括这个正整数,是为什么呢?

 

    就是因为这个方法返回的是0-1之间的随机数,随机数不会返回1,因此乘上一个整数还是只会返回0——这个整数之间的随机值。

 

二、Math类的常用方法

package com.changyongclass;

public class MathTest {
public static void main(String[] args) {
int i = -123;
//绝对值
System.out.println(Math.abs(i));
//正平方根
System.out.println(Math.sqrt(3.33));
//多少次幂
System.out.println(Math.pow(2d, 3));
//两数较大者
System.out.println(Math.max(3d, 2d));
//两数较小者
System.out.println(Math.min(3d, 5d));
//double转long
System.out.println(Math.round(5.555555d));
}
}

 

三、基本数据类型的包装类

 

1、为什么需要给基本数据类型提供包装类?

 

    因为Java语言中“一切皆对象”,但是基本数据类型有些违背这个原则。对象有方法,有属性,基本数据类型没有啊。

所以为了体现面向对象的思想,就为每一个基本类型提供了包装类,包装类提供了很多方法,可以简化程序的编写。

 

2、使用基本数据类型与使用封装类型有些什么不同呢?

    基本数据类型的特点是存储范围较小,但在程序中会大量的使用。我们知道new出来的对象是在堆中创建的,但在堆中分配内存的效率要远低于栈空间,因此,Java对于这些小的简单的变量给予特殊的对待,即,将其放在栈空间,这样就会更加高效。

 

3、基本数据类型与包装类的对应关系是怎样的?

boolean-----------------Boolean

byte----------------------Byte

short---------------------Short

char----------------------Character

int------------------------Integer

long----------------------Long

float----------------------Foat

Double-------------------Double

 

4、javaSE5的规范中实现了基本类型与包装类的自动拆装箱

例:

Character ch = 'x';//自动装箱

charc = ch; //自动拆箱

 

五、Enum枚举类

 

1、为什么要使用枚举?

 

    有些时候我们想让变量的取值在一个有限的集合内,如果变量的值没有限定在有限的集合内,就有可能在变量中保存一个错误的值。

 

2、下面是我对枚举类知识点的总结:

package com.lesson5;

 

import java.util.ArrayList;

import java.util.List;

 

public class Card {

/**

* 定义在类里面的枚举,相当于java里面的类部类一样

*/

/**

* DEUCE...相当于Rank类的一个实例

*

*1 枚举生成类的实例的方式与生成普通类的实例的方式有些区别

* 也就是说,放在枚举类型里面的变量,它们都是我们枚举类型

* 里面的实例

*

* 2、如果不对一个普通类做限制可以生成任意多个实例, 对于枚举

* 来说,在定义枚举的时候已经定义好了,也就是说,枚举的实例

* 数量是有限的

*/

public enum Rank{

DEUCE,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING,ACE;

}

public enum Suit{

CLUBS,DIAMONDS,HEARTS,SPADES

}

/**

* 定义枚举类型的变量

*/

private final Rank rank;

private final Suit suit;

/**

* 定义构造方法 Ranksuit赋值 ,初始化

* 此构造方法是private类型的,也就是说,我们不能在类的外面

* 去使用这个类的构造方法,private的构造方法,最多的用在单

* 态,也就是singleton的设计模式里面,用来保证一个类只有一

* 个实例

* @param rank

* @param suit

*/

private Card(Rank rank,Suit suit){

this.rank = rank;

this.suit = suit;

}

/**

* 用于返回我们定义的的的ranksuit

* @return

*/

public Rank rank(){

return rank;

}

public Suit suit(){

return suit;

}

/**

* 重写toString()

* java里面所有类的顶层类都是Object的,

*/

public String toString(){

//此处rank suit又会调用它们的toString()方法,打印出来。

return rank + " of " + suit;

}

private static final List<Card> protoDeck = new ArrayList<Card>();

/**

* 静态代码块

* 执行的时机是在类被加载之后,执行的,它只执行一次,且仅执行一次

* 它是早于构造方法去执行的,并且仅仅在类进行实例化的时候,执行一次,

* 以后再实例化的时候,这个静态代码块就永远不会再去执行了。

*/

static {

for(Suit suit : Suit.values()){

for(Rank rank : Rank.values()){

protoDeck.add(new Card(rank,suit));

}

}

}

/**

* 定义静态方法 执行一个集合拷贝

*/

public static ArrayList<Card> newDeck(){

//它会将protoDeck对象的一个拷贝,构造ArrayList的时候,将之前的构造的ArrayList

//作为参数传进去了,它会直接拷进新的集合里面去,然后返回

return new ArrayList<Card>(protoDeck);//return copy of prototype deck

}

public static void main(String[] args) {

for(Card card:protoDeck){

//打印card实际上是调用card.toString()方法,在这里面已经将toString()进行重写

//

System.out.println(card);

}

}

}

package com.lesson5;

 

public enum Coin {

/**

* 定义枚举里面的元素

*/

/**

* 定义枚举里面的变量,这里面的每一个都是Coin这样一个类型

* 相当于它的一个实例,给它提供了一个构造方法,对于枚举来

* 说,这里面跟类是一样的,对于我们不提供一个类的构造方法

* 来说,jdk在编译的时候,会给它生成一个不带参数的默认构造方法

* 这个构造方法什么都不做。

*

* 枚举也是一样的,对于没有枚举构造方法,在编译之后,java

* 自动的给它生成一个不带参数的构造方法

*

* 在此类中,我们给它提供了一个构造方法,一个带参数的构造方法,

* 因此下面的相当于实例的元素,也需要带上构造方法。

* 相当于之前我们做new Student(12);

*/

penny(1),nickel(5),dime(10),quarter(25);

/**

* 枚举可以定义任何的变量,任何的方法,

*/

private int value;

 

public int getValue() {

return value;

}

/**

* 枚举实际上也是一种特殊的类

* 枚举也有构造方法

* @param value

*/

Coin(int value){

this.value = value;

}

public static void main(String[] args) {

//用枚举的某一个实例给枚举进行赋值

Coin coin = Coin.quarter;

//赋值时,就已经将25赋给了value,再通过getValue()得到值。

System.out.println(coin.getValue());

}

}

package com.lesson5;

 

分享到:
评论

相关推荐

    JAVA常用类总结

    JAVA常用类,java封装类,String类和StringBuffer类......

    Java类库 java中常用的类 可以参考

    本文档旨在介绍 Java 中一些常用的类库,帮助初学者更好地理解和使用这些类库。尽管文档内容并不全面,但包含了大多数常用的类库,对于新手来说较为易懂。 #### 二、Java 常用类库详解 ##### 1. `java.applet` - ...

    java常用系统类库实验

    ### Java常用系统类库实验详解 #### 实验概述与目标 本次实验主要聚焦于Java的预定义类,尤其是那些在日常编程中频繁使用的系统类库。实验旨在加深学生对Java预定义类的理解,掌握常用类的运用技巧,以及熟练方法...

    实验5 JAVA常用类.doc

    实验5的Java常用类主要涵盖了Java编程中的一些核心概念和常用工具类的使用。以下是这些知识点的详细说明: 1. **String、StringBuffer(StringBuilder)**: - **String** 类在Java中是不可变的,这意味着一旦创建了...

    JAVA中集合类一些常用类的总结

    本文将对Java中一些常用的集合类进行总结。 首先,ArrayList是List接口的一个实现,它允许我们在列表中按索引存取元素。在上述代码中,创建了一个ArrayList对象`list`并添加了不同类型的元素,包括字符串和自定义的...

    一些java常用的工具类

    以下是对"一些java常用的工具类"的详细说明。 首先,工具类通常包含静态方法,这些方法不依赖于类的实例,可以直接调用,减少了对象创建的开销。这些类通常以“Utils”或“Helper”结尾,如Apache Commons Lang中的...

    Java中String类中的常用方法.TXT

    简单总结可以下Java中String类中的常用方法

    java常用工具类

    "java常用工具类"这个主题涵盖了Java开发中常用的类和方法,这些工具类可以帮助我们简化编程工作,提高代码的可读性和可维护性。在Java中,`java.util`包就是这样一个包含大量工具类的包,提供了很多实用的功能。 1...

    java常用的工具类整理28个

    下面我们将详细探讨Java中28个常用的工具类,主要涉及`IO`相关的开发工具。 1. **java.lang.Math**:这个类提供了许多基础数学函数,如求平方根、最大值、最小值、随机数生成等。 2. **java.util.Arrays**:用于...

    JAVA课件 常用类

    介绍JAVA常用类,Object类 System类 基本类型的包装类 日期类 随机数类Random 枚举类型 泛型

    java 常用工具类

    下面将详细讨论Java工具类中的关键知识点。 1. **集合框架**: `java.util`包下的集合框架是Java中处理数据结构的核心。它包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和...

    Java常用工具类

    Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...

    Java常用工具类大全,工作5年精心整理.zip

    "Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...

    java常用集合类总结

    Properties类是Java集合类中的一种特殊类,以键值对的形式存储数据,但只能存储字符串对。Properties类提供了两个方法:setProperties()和getProperties(),用于操作键值对。 在线程安全的集合类中,Vector、Stack...

    Java常用类总结

    Java常用类总结: 总结了java中各种常用的类以及方法的使用

    Java常用类.ppt

    Java常用类.pptJava常用类.ppt

    Java常用工具类集合

    在Java编程语言中,工具类集合是一系列实用的类,它们提供了各种通用功能,帮助开发者更高效地编写代码。这些工具类通常包含在Java的`java.util`以及其他相关的包中,如`java.text`,`javax.imageio`,`javax.xml`等...

    项目中常用java常用封装类

    这里,我们重点讨论的是在项目中经常使用的Java封装类,这些类通常是开发人员为了简化常见任务而创建的工具类或者实用类。下面,我们将详细探讨String类的封装、分页封装、Servlet的封装以及其他一些常见的封装实践...

Global site tag (gtag.js) - Google Analytics