java从入门到精通
2023-06-10 18:40:54 11 举报
AI智能生成
Java
作者其他创作
大纲/内容
初识Java
Java简介
Java是Sun公司推出的能够跨越多平台的、可移植性最高的一种面向对象的编程语言,也是目前最先进、特征最丰富、功能最强大的计算机语言
Java语言的特性
1. 面向对象 Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。 为了简单起见,Java 只支持类之间的单继承,但是可以使用接口来实现多继承。 ...<br>2. 平台无关性 平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run any Where)”的语言 ,因此 采用 Java 语言编写的程序具有很好的可移植性, 而保证这一点的正是 Java 的虚拟机机制。 ...<br>3. 简单性 Java 语言的语法与 C 语言和 C++ 语言很相近,使得很多程序员学起来很容易。 ...<br>4. 解释执行 Java 程序在 Java 平台运行时会被编译成字节码文件,然后可以在有 Java 环境的操作系统上运行。 ...
搭建Java环境
JDK下载和配置环境变量
熟悉Eclipse开发工具
熟悉Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境
使用Eclipse
程序调试
Java语言基础
Java主类结构
Java语言是面向对象的程序设计语言,Java程序的基本组成单元是类
基本数据类型
整数类型
整数类型简称整形,用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整数数据根据他所占内存的大小,也可分为byte,short,int,long4种类型
浮点类型
浮点类型简称浮点型,用来存储含有小数部分的数值。Java语言中浮点类型分为单精度浮点类型和双精度浮点类型
字符类型
char型,字符类型(char)用于存储单个字符,占用16位的内存空间<br>转义字符,是一种特殊的字符变量,以反斜杠“\”开头,后跟一个或者多个字符
布尔类型
布尔类型又称逻辑类型,简称布尔型,通过关键字boolean来定义布尔类型变量。布尔类型只有trne和false两个值,分别代表布尔逻辑中的"真"和"假"
变量与常量
标识符和关键字
标识符可以简单理解为一个名字,用来标识类名,变量名,方法名,数组名,文件名的有效字符序列<br><br>关键字又称保留字,是Java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来使用
声明变量
变量的使用是程序设计中一个十分重要的环节。声明变量就是要告诉编译器这个变量的数据类型,作业编译器才知道需要配置多少空间给它,以及它能存放什么样的数据
声明常量
在程序运行过程中一直不会改变的量称为常量,通常也称为“final变量”。常量在整个程序中只能被赋值一次
变量的有效范围
由于变量被定义出来只是暂存在内存中,等到程序执行到某一个点,该变量会被释放掉,也就说变量有他的生命周期,因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误
运算符
赋值运算符
赋值运算符用“=”表示,它是一个二元运算符,其功能是将右方操作数所含的值赋给左方的操作数
算术运算符
Java中的算术运算符主要有+ - * \ %,它们都是二元运算符
自增和自减运算符
自增,自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后,操作元必须是一个整形或浮点型变量。自增,自减运算符的作用是是变量的值增1或减1。符号在前,先运算后使用,符号在后,先使用后运算。
比较运算符
比较运算符属于二元运算符,用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。
逻辑运算符
返回类型为布尔型的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式,这是通过逻辑运算符来实现的(&& 两者都为真,结果才是真。||只要有一者为真,结果就是真)非真即假,非假即真(&两者都是1,结果才是1。只要有一者为1,结果就是1)
位运算符
按位取反运算,运算符为“~”1为0,0为1<br>按位异或运算,运算符是“^”两者相同为0,不相同为1<br>移位操作,<<左移:整体左移,空位补0,溢出去掉<br>>>右移:整体右移,正数补0,负数补1,溢出去掉<br>>>>无符号右移:整体右移,空位补0,溢出去掉
三元运算符
返回值=判断公式?结果1:结果2
运算符优先级
优先级由高到低的顺序依次是<br>增量和减量运算<br>算术运算<br>比较运算<br>逻辑运算<br>赋值运算
数据类型转换
隐式类型转换
隐式类型转换,又叫自动类型转换,一定不会丢失数据
显式类型转换
显示类型转换,又叫强制类型转换,有可能会丢失数据
代码注释与编码规范
代码注释
单行注释://<br>多行注释:/* */<br>文档注释:/** */
编码规范
流程控制
复合语句
条件语句
if条件语句
if(布尔表达式){<br> 语句序列<br>}
switch条件语句
switch语句中表达的值必须是整型,字符型,字符串类型或枚举类型,常量值1~n的数据类型必须与表达式的值的类型相同
循环语句
while循环语句
while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句
do...while循环语句
do...while循环语句与while循环语句类似,他们之间的区别是while语句为先判断条件是否成立再执行循环,而do...while语句是先执行一次循环再判断条件是否成立
for循环语句
for循环是Java程序中最有用的循环之一,一个for循环可以用来重复执行某条语句,直到某个条件得到满足
循环控制
break语句
使用break语句可以跳出switch结构,在循环语句中,同样也可用break语句跳出当前循环体,从而中断当前循环
continue语句
continue语句是针对break语句的补充,continue语句不是跳出当前循环,而是跳过本次循环,回到循环的条件测试部分,重新开始执行循环
数组
数组概述
数组是具有相同数据类型的一组数据的集合,数组中的每个元素具有相同的数据类型在Java中同样将数组看做一个对象,虽然基本数据类型不是对象,但由基本数据类型组成的数组确是对象。在程序设计中引入数组可以更有效的管理和处理数据。可根据数组的维数将数组分为一维数组,二维数组......
一维数组
创建一维数组
先声明,再用new关键字进行内存分配。声明一维数组有以下两种方式<br> 数组元素类型 数组名字【】;<br> 数组元素类型【】 数组名字;
初始化一维数组
数组与基本数据类型一样可以进行初始化操作,数组的初始化可以初始化数组中的每个元素
二维数组
创建二维数组
数组的声明:<br>数组元素的类型【】 数组名;<br>数元素的类型 数组名 【】;
初始化二维数组
子主题
数组的基本操作
遍历数组
遍历数组就是获取数组中的每个元素,通常遍历数组都是用for循环来实现
填充替换数组元素
数组中的元素定义完后,可以跳过Array类的静态方法fill()来对数组中的元素进行替换,fill()方法有两种参数<br>填充替换语法:<br>fill(数组名,值)<br>填充替换部分元素语法:(前改后不改)<br>fill(数组名,前索引,后索引,值)
对数组进行排序
通过Array类的静态方法sort()可以对数组进行排序<br>语法:<br>Array.sort(数组名)
复制数组
Array中的copyOf()方法与copyOfRange()方法可以实现对数组的复制<br>复制语法:(空位补0,溢出去掉)<br>copyOf(数组名,复制的长度)
查询数组
Array中的binarySearch()方法,可以用二分搜索法来搜索指定数组,以获得指定对象,它有两种方法<br>查询语法:(先排序再查询)<br>binarySearch(数组名,值)
数组排序算法
冒泡排序
是最常用的数组排序算法之一,它排序数组元素的过程总是将小的数往前放,较大的往后放,类似水中冒泡往上升的动作,所以叫冒泡排序
直接选择排序
属于一种选择排序,排序速度要比冒泡排序快点,也是常用的排序
反转排序
以相反的顺序把原有数组的元素重新排序,也是经常用到的一种排序方法
类和对象
面向对象概述
对象
对象是事物存在的实体,世间万物皆对象。对象分为两个部分,即静态部分与动态对象部分
静态部分:不能动的部分,称为“属性"
动态部分:对象可执行的动作,称为“行为”
类
类是统一事物的统称,如果将现实世界中的一事物抽象成对象,类就是这类对象的统称。 类是对象的设计图;类是封装对象的属性和行为的载体,具有相同属性和行为的一类实体被称为类。类对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,所以类包括对象的属性和方法。
封装
面向对象程序设计具有以下特点:封装性、继承性和多态性。<br>封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。
继承
类与类之间同样具有关系,这种关系被称为关联。两个类之间的关系有很多种,继承是关联中的一种。设计软件时,使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的概率。
多态
将父类对象应用与子类的特征就是多态
类
成员变量
在Java中,对象的属性也称为成员变量,成员变量可以是任意类型,整个类中均为成员变量作用范围。
成员方法
在Java语言中,使用成员方法对应于类对象的行为。定义成员方法的语法格式如下:<br>权限修饰符 返回值类型 方法名(参数类型 参数名){<br>.... //方法体<br>return 返回值;<br>}
权限修饰符
Java中的权限修饰符主要包括public、protect、default、private,这些修饰符控制着对类和类的成员变量以及成员方法的访问
局部变量
如果在成员方法内定义一个变量,那么这个变量被称为局部变量。在实际上,方法中的形参也可以作为一个局部变量。<br>
局部变量的有效范围
可以将局部变量的有效范围称为变量的作用域
this关键字
this关键字用于表示本类当前的变量当前对象不是某个new出来的实体对象,而是正在编辑的类,this关键字只能在本类中使用
类的构造方法
在类中,出成员方法外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。<br>构造方法的特点:<br>构造方法没有返回值。<br>构造方法的名称要与本类的名称相同。<br> 构造方法的定义语法格式:(public :构造方法修饰符;Name:构造方法的名称)<br>public Name(){<br>..... //构造方法体<br>}<br>
静态变量和静态方法
由static修饰的变量和方法被称为静态变量和动态方法。被声明为static的变量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和”.“运算符调用静态成员。语法如下:<br>类名.静态类成员
类的主方法
主方法是类的入口点,它定义了程序从何处开始。主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。<br>在主方法的定义中可以看到其具有以下特点:<br>主方法是静态的,所以如要直接在主方法中条用其他方法,则该方法必须也是静态的。<br>主方法没有返回值。
对象
对象的创建
对象可以认为是在一类事物中抽象出某一个特例,可以通过这个特例来处理这类事物出现的问题
访问对象的属性和行为
使用new操作符创建一个对象后,可以使用"对象.类成员"来获取对象的属性和行为
对象的引用
在Java中,尽管一切都可以看作是对象,但真正的操作标识符实质上是一个引用引用表现方式:<br>类名 对象的引用变量
对象的销毁
每个对象都有生命周期,当对象的生命周期结束,分配给该对象的内存地址需要被回收
继承,多态,抽象类与接口
类的继承
继承在面向对象开发思想中是一个非常重要的概念,它使整个程序架构具有一定的弹性,在程序中复用已经定义完善的类不仅可以减少软件开发周期,还可以提高软件的可维护性和可扩展性。
父类Parent
子类Child
Object类
学习使用class关键字定义类时 ,就应用了继承原理 ,因为在Java中,所有的类都直接或间接继承了java.lang.Object类。Object类是比较特殊的类,它是所有类的父类,是Java类层中的最高层类
对象类型的转换
向上转型
向上转型可以理解为将子类类型的对象转换为父类类型的对象,即把子类类型的对象直接赋值给父类类型的对象,进而实现按照父类描述子类的效果
向下转型
向下转型可以被理解为将父类类型的对象转换为子类类型的对象。但是,运用向下转型,如果一个较抽象的类的对象转换为一个较具体的类的对象,这样的转型通常会出现错误
使用instanceof关键词判断对象类型
instanceof是Java语言的关键字,在Java语言中的关键字都为小写
方法的重载
构造方法的名称由类名决定,构造方法只有一个名称,但如果希望以不同的方式来实例化对象,就需要使用多个构造方法来完成。由于这些构造方法都需要根据类名进行命名,为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”
final关键词
final变量
final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量
final方法
定义为fǐnal的方法不能被重写。<br>将方法定义为fǐnal类型可以防止子类修改该类的定义与实现方式,同时定义final的方法的执行效率要高于非final方法
final类
定义为fǐnal的类不能被继承。如果希望一个类不允许任何类继承,并且不允许其他人对这个类进行任何改动,可以将这个类设置为fǐnal形式
多态
利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行通用的处理<br>假如现在要编写一个绘制图形的方法 draw(),如果传入正方形对象就绘制正方形,如果传入圆形对象就绘制圆形,这种场景可以使用重载来实现,定义如下:
抽象类与接口
抽象类
Java中定义抽象类时,需要使用abstract关键字,其语法如下:<br>[权限修饰符] abstract class 类名 { 类体 }<br>使用abstract关键字定义的类称为抽象类,而使用abstract关键字定义的方法称为抽象方法。<br>抽象方法的定义语法如下:<br>[权限修饰符] abstract 返回参数 方法名 (传入参数);<br>
接口
接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所有方法都没有方法体。可以将draw)方法封装到一个接口中,这样可以让一个类既能继承图形类,又能实现draw)方法接口,这就是接口存在的必要性。在下图中描述了各个子类继承图形类后使用接口的关系。
包和内部类
Java类包
类名冲突
在Java中,我们可以使用class关键字来进行定义一个类,在程序被编译后就会产生一个.class文件。类的定义是规定类名不能重复的,如果程序内只定义了少量的类,那自然不用担心这个问题。<br>但是,随着类的数量增多,那么难免会出现这个问题,如果根据需求需要定义两个名字相同但是程序逻辑不同的类时,那么该如何解决呢,最好的方法就是将这个两个类放置在不同的包下面。<br>
完整的类路径
如果一个程序内存在多个同名不同包的max类,在使用该类时使用该类的类路径,也成为绝对路径。
创建包
在进行创建包的时候需要注意的是,Java包的命名规则建议使用全小写字母进行命名
导入包
在Java中,如果需要使用到其它包内的类的话,除了使用该类的绝对路径之外,我们还可以使用Java中 import 关键字来指定。例如,如果在其它包内也定义了一个Math,那么假如我们只想使用该Math类的话,那么我们可以使用import关键字进行导包
内部类
成员内部类
定义在一个类成员位置的内部类,称为成员内部类,在成员内部类中可以使用外部类的的任意成员变量与成员方法,即使该外部类成员变量被private所修饰
匿名内部类
匿名内部类本质是一个隐藏了名字的内部类。匿名类是只有在创建时才会编写类体的一种写法。<br>语法格式:<br>new 继承/实现(){<br> //重写的方法<br>};<br>匿名内部类在一对大括号 { } 的范围内是一个类,整体却是一个new出来的对象
异常处理
异常概述
在程序中,可能会因为各种程序员预料不到的异常出现,也可能由超过程序员可控范围的环境因素产生,如用户的坏数据,试图打开一个根本不存在的文件等,在java中,被称为异常
异常的抛出与捕捉
抛出异常
通常,为了保证程序有效的运行,需要对抛出的异常进行相应的处理
捕捉异常
try,catch语句就是用来捕捉和处理异常的
Java常见的异常类
自定义异常
用户只需要继承Exception类即可自定义异常类,大体可以分为以下几个步骤:<br>1.创建自定义异常类<br>2.在方法中通过throw关键字抛出异常对象<br>3.如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throw关键字指明要抛出给方法调用者的异常,继续进行下一步操作<br>
在方法中抛出异常
使用throws关键字抛出异常
throws关键字通常被用于声明方法时,用来指定可能抛出的异常,多个异常可使用逗号分隔
使用throw关键字抛出异常
throw通常用于方法体中,并且抛出一个异常对象,程序在执行到throw语句立刻中断,它后面的语句不会执行
运行时异常
RuntimeException异常时程序运行中抛出的异常,java类库的每个包中都定义了异常类所有这些类都是Throwable类的子类,Throwable类派生了两个子类,分别是Exception类和Error类,Error类及其子类用来描述java运行系统中的内部错误以及资源耗尽的错误,这类错误比较严重,Exception类称为非致命性类,可以通过捕捉处理来使程序继续执行,Exception类又根据错误发生的原因分为 RuntimeException异常和除 RuntimeException异常之外的异常。<br>
异常的使用原则
java异常强制用户考虑程序的强健性和安全性,异常处理不应用来控制程序的正常流程,其主要作用是捕获程序在运行时发生的异常并进行相应处理,编写代码处理某个方法可能出现异常时,可遵循以下几条原则:<br>1.在当前方法声明中使用try-catch语句捕获异常<br>2.一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或者异常的子类<br>3.如果父类抛出多个异常,则覆盖方法必须抛出那些异常的一个子类,不能抛出新异常<br>
字符串
String类
声明字符串
在Java语言中,字符串必须包含在一堆双引号("")之内。<br>例如:"23.23"、"ABCDE"、"你好"<br>可以通过以下语法格式莱声明字符串变量:<br>String str;<br>String:指定该变量为字符串类型。<br>str:任意有效的标识符,表示字符串变量的名称<br>声明字符串变量s,代码如下 :<br>String s;<br>
创建字符串
在Java语言中,将字符串作为对象来处理,因此可以像创建其他类对象一样来创建字符串对象。创建对象要使用类的构造方法。String类的常用构造方法如下:<br>1.String(char a[])<br>该方法用一个字符数组a创建String对象
连接字符串
连接多个字符串
使用“+”运算符可实现连接多个字符串的功能。“+”运算符可以连接多个String对象并产生一个新的String对象。
连接其他数字类型
字符串也可同其他基本数据类型进行连接。如果将字符串同其他数据类型进行连接,会将其他数据类型的数据直接转换成字符串
获取字符串信息
获取字符串长度
使用String类的length()方法可获取声明的字符串对象的长度。语法如下:<br> str.length();<br>str为字符串对象
字符串查找
String类提供了两种查找字符串的方法,是indexOf()与lastIndexOf方法。<br>1.indexOf(String s)<br>该方法用于但会参数字符串s在指定字符串中首次出现的索引位置<br>语法:str.indexOf(substr)<br>str:任意字符串对象<br>substr: 要搜索的字符串<br>查找字符a在字符串str中的索引位置,代码如下;<br>String str ="We are students";<br>int size = str.indexOf("a") //变量size的值是3<br><br>2.lastIndexOf(String str)<br>该方法用于但会指定字符串最后一次出现的索引位置<br>语法:str.lastIndexOf(substr)<br>str:任意字符串对象<br>substr:要搜索的字符串<br>注意:如果lastIndexOf()方法中的参数是空字符串""(注意没有空格),则返回的结果与调用length()方法的返回结果相同。<br>
获取指定索引位置的字符
使用charAt()方法可将指定索引处的字符返回。<br>语法:str.charAt(int index)<br>str:任意字符串。<br>index:整型值,用于指定要返回字符的下标
字符串操作
获取子字符串
通过String类的substring()方法可对字符串进行截取。substring()方法被两种不同的重载形式,来满足不同的需要
去除空格
trim()方法返回字符串的副本,忽略前导空格和尾部空格<br>语法:str.trim()<br>str为任意字符串对象
字符串替换
replace()方法可实现将指定的字符或字符串替换成新的字符或字符串。<br>语法;str.replace(CharSequence target,CharSequence replacement)<br>target:要替换的字符或字符串<br>replacement:用于替换原来字符串的内容<br>replace()方法返回的结果是一个新的字符串,如果字符或字符串oldChar没有出现在该对象表达式中的字符串序列中,则将原字符串返回。<br>
判断字符串的开始与结尾
stsrtsWith()方法与endsWith()方法分别于判断是否以指定的内容开始或结束。这两个方法的返回值都为boolean类型。<br>1.stsrtsWith()方法<br>该方法用于判断当前字符串对象的前缀是否为参数指定的字符串<br>语法:str.stsrtsWith(String prefix) //prefix是指作为后缀的字符串<br>2.endsWith()方法<br>该方法用于判断当前字符串是否为以给定的子字符串结束<br>语法:str.endWith(String suffix) //suffix是指作为后缀的字符串<br>
判断字符串是否相等
对字符串对象进行比较不能简单地使用比较运算符“==”
按字典顺序比较两个字符串
compareToO方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将String对象表示的字符序列与参数字符串所表示的字符序列进行比较。<br>如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为0。 <br>
字母大小写转换
String 类的toLowerCase()方法可将字符串中的所有大写字母改写为小写字母,而toUpperCase()方法可将字符串中的所有小写字母改写为大写字母。
字符串分割
1.split(String sign)<br>该方法可根据给定的分割符对字符串进行拆分<br>语法:str.split(String sign) //sign为分割字符串的分割符,也可以使用正则表达式 <br>2.split(String sign,int limit)<br>该方法可根据给定的分割符对字符串进行拆分,并限定拆分的次数<br>语法:str.split(String sign,int limit)<br>sign:分割字符串的分割符,也可以使用正则表达式<br>limit:限制的分割次数<br>
格式化字符串
日期和时间字符串格式化
常规类型格式化
常规类型格式化可应用于任何参数类型,可通过表中的转换符来实现。
使用正则表达式
正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有-些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。例如,“\\d”表示数字0~9中的任何一个,“\d”就是元字符。正则表达式中的元字符及其意义如表中所示。
字符串生成器
创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的 String 实例,会在内存中创建新的字符串对象。如重复地对字符串进行修改,将极大地增加系统开销。而JDK 新增了可变的字符序列 StringBuilder类大大提高了频繁增加字符串的效率。<br>
常用类库
包装类
integer类
Integer 类在对象中包装了一个基本数据类型 int 的值,该类的对象包含了一个 int 类型的字节。
Double类
Double 类在对象中包装一个基本数据类型为 double 的值,每个 Double 类的对象都包含一个 double 类型的字段。此外,该类还提供了多个方法,可以将 double 类型转换为 String 类型,将 String 类型转化为 double 类型。
Boolean类
Characterleiq
该提供了多种方法,以确定字符的类别(小写字母、数字等),并可以很方便地将字符从大写转化为小写,反之亦然。
Number类
前面介绍了 java 中的包装类,对于数值型的包装类,它们有一个共同的父类——Number 类,该类是一个抽象类。<br>数值型包装类共有方法:
数字处理
数字格式化
数字格式化操作主要针对的是浮点型数据,包括 double 型和 float 型数据。在 Java 中使用 java.textDecimalFormat 格式化数字。
Math类
Math 类 提供了众多数学函数方法。主要包括三角函数方法,指数函数方法,取整函数方法,取最大值、最小值,以及平均值函数方法。这些方法都被定义为 static 形式,所以在程序中应用比较简便。
Random类
Random 类是 JDK 中的随机数生成器类,可以通过实例化一个 Random 对象创建一个随机数生成器,语法如下:<br>Random r = new Random();<br>也可以设置随机数生成器的种子。语法如下:<br>Random r = new Random(seedValue); <br>
BigInteger类
BigInteger 类的数字范围教 Integer 类的数字范围大的多。<br>在 BigInteger 类中封装了多种操作,除了基本的加、减、乘、除操作,还提供了绝对值、相反数、最大公约数以及判断是否为质数等操作。<br>使用 BigInteger 类。可以实例化一个 BigInteger 对象,并自动调用相应的构造函数。BigInteger 类具有很多构造函数,但最直接的一种方式是参数以字符串形式代表要处理的数字。<br>
BigDecimal类
BigDecimal 类和 BigInteger 类都能实现大数字的运算,不同的是 BigDecimal 类加入了小数的概念。
System类
控制台输出字符
1. 不会自动换行的 print() 方法<br>System.out.print("Hello");<br>2.可以自动换行的 println() 方法<br>System.out.println("Hello");
计时
System.currentTimeMillis() 方法可以获取自1970年1月1日零点至今的毫秒数
Scanner类
使用Scanner 类首先要引入该类,其语法如下:<br>import.java.util.Scanner;
使用 Scanner 类扫描控制台的代码如下:<br>Scanner sc = new Scanner(System.in);
日期时间类
Date类
Date 类用于表示日期时间,使用该类表示时间需要使用其构造方法创建对象
日期时间格式化
如果在程序中直接输出Date对象,显示的是“Mon Feb 29 17:39:50 CST 2016”这种格式的日期时间,将其显示成另外的“2016-02-29”或者“17:39:50”这样的格式Java中提供了DeatFormat类来实现类似的功能
Calendar类
Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR MONTH等日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Runtime类
执行本地命令
本地命令指的是操作系统的命令,例如在Linux系统下就表示shell命令,在Windows系统下就表示cmd命令
查看内存
Runtime类可以通过freeMemory()方法查看当前Java虚拟机可用内存的剩余量
收藏
0 条评论
下一页