Java 教程 Java 简介 Java 下载安装 Java 入门 Java 语法 Java 注释 Java 变量 Java 数据类型 Java 数据类型转换 Java 运算符 Java 字符串 Java 数学方法 Java 布尔值 Java If ... Else 语句 Java Switch 语句 Java While 循环语句 Java For 循环语句 Java Break 和 Continue 语句 Java 数组 Java 方法 Java 方法中的参数 Java 方法重载 Java 作用域 Java 递归 Java OOP 面向对象编程 Java 对象和类 Java 类属性 Java 类方法 Java 构造函数 Java 修饰符 Java 封装 Java 包(Packages) Java 继承 Java 多态 Java 内部类 (嵌套类) Java 抽象类 Java 接口 Java 枚举 Java 用户输入 (Scanner) Java 日期和时间 Java ArrayList 数组列表 Java 链表 Java HashMap Java HashSet 集合 Java 迭代器 Java 包装类 Java 异常 - Try...Catch Java 正则表达式 Java 线程 Java Lambda 表达式 Java 文件处理 Java 创建文件和写入文件 Java 读取文件 Java 删除文件 Java ArrayList Java ArrayList Java LinkedList Java 列表排序 Java HashMap Java HashSet Java 迭代器 Java 包装类 Java 异常 - Try...Catch Java 正则表达式 Java 线程 Java Lambda 表达式 Java 高级排序(Comparator 和 Comparable) Java 如何将两个数字相加 Java 如何将两个数字相加 Java 如何统计字数 Java 如何反转字符串 Java 如何计算数组元素的和 Java 如何将字符串转换为数组 Java 如何排序数组 Java 如何计算数组元素的平均值 Java 如何找到数组中的最小元素 Java 如何遍历 ArrayList Java 如何遍历 HashMap Java 如何遍历枚举 Java 如何计算矩形的面积 Java 如何判断数字的奇偶性 Java 如何判断数字的正负 Java 如何求一个数的平方根 Java 如何生成随机数 Java 关键字 Java String 方法 Java Math 方法 Java Output 方法 Java Arrays 类 Java ArrayList 方法 Java LinkedList 方法 Java HashMap 方法 Java Scanner 方法 Java 迭代器接口 Java 错误和异常类型 Java abstract 关键字 Java assert 关键字 Java boolean 关键字 Java break 关键字 Java byte 关键字 Java case 关键字 Java catch 关键字 Java char 关键字 Java class 关键字 Java continue 关键字 Java default 关键字 Java do 关键字 Java double 关键字 Java else 关键字 Java enum 关键字 Java exports 关键字 Java extends 关键字 Java final 关键字 Java finally 关键字 Java float 关键字 Java for 关键字 Java if 关键字 Java implements 关键字 Java import 关键字 Java instanceof 关键字 Java int 关键字 Java interface 关键字 Java long 关键字 Java module 关键字 Java native 关键字 Java new 关键字 Java package 关键字 Java private 关键字 Java protected 关键字 Java public 关键字 Java requires 关键字 Java return 关键字 Java short 关键字 Java static 关键字 Java super 关键字 Java switch 关键字 Java synchronized 关键字 Java this 关键字 Java throw 关键字 Java throws 关键字 Java transient 关键字 Java try 关键字 Java var 关键字 Java void 关键字 Java volatile 关键字 Java while 关键字 Java String 方法 Java String charAt() 方法 Java String codePointAt() 方法 Java String codePointBefore() 方法 Java String codePointCount() 方法 Java String compareTo() 方法 Java String compareToIgnoreCase() 方法 Java String concat() 方法 Java String contains() 方法 Java String contentEquals() 方法 Java String copyValueOf() 方法 Java String endsWith() 方法 Java String equals() 方法 Java String equalsIgnoreCase() 方法 Java String format() 方法 Java String getBytes() 方法 Java String getChars() 方法 Java String hashCode() 方法 Java String indexOf() 方法 Java String isEmpty() 方法 Java String join() 方法 Java String lastIndexOf() 方法 Java String length() 方法 Java String matches() 方法 Java String offsetByCodePoints() 方法 Java String regionMatches() 方法 Java String replace() 方法 Java String replaceAll() 方法 Java String replaceFirst() 方法 Java String split() 方法 Java String startsWith() 方法 Java String subSequence() 方法 Java String substring() 方法 Java String toCharArray() 方法 Java String toLowerCase() 方法 Java String toString() 方法 Java String toUpperCase() 方法 Java String trim() 方法 Java String valueOf() 方法 Java Math 方法 Java Math abs() 方法 Java Math acos() 方法 Java Math addExact() 方法 Java Math asin() 方法 Java Math atan() 方法 Java Math atan2() 方法 Java Math cbrt() 方法 Java Math ceil() 方法 Java Math copySign() 方法 Java Math cos() 方法 Java Math cosh() 方法 Java Math decrementExact() 方法 Java Math exp() 方法 Java Math expm1() 方法 Java Math floor() 方法 Java Math floorDiv() 方法 Java Math floorMod() 方法 Java Math getExponent() 方法 Java Math hypot() 方法 Java Math IEEEremainder() 方法 Java Math incrementExact() 方法 Java Math log() 方法 Java Math log10() 方法 Java Math log1p() 方法 Java Math max() 方法 Java Math min() 方法 Java Math multiplyExact() 方法 Java Math negateExact() 方法 Java Math nextAfter() 方法 Java Math nextDown() 方法 Java Math nextUp() 方法 Java Math pow() 方法 Java Math random() 方法 Java Math rint() 方法 Java Math round() 方法 Java Math scalb() 方法 Java Math signum() 方法 Java Math sin() 方法 Java Math sinh() 方法 Java Math sqrt() 方法 Java Math subtractExact() 方法 Java Math tan() 方法 Java Math tanh() 方法 Java Math toDegrees() 方法 Java Math toIntExact() 方法 Java Math toRadians() 方法 Java Math ulp() 方法 Java Output 方法 Java Output print() 方法 Java Output printf() 方法 Java Output println() 方法 Java Arrays 类 Java Arrays.compare() 方法 Java Arrays.equals() 方法 Java Arrays.fill() 方法 Java Arrays.sort() 方法 Java ArrayList 方法 Java ArrayList add() 方法 Java ArrayList addAll() 方法 Java ArrayList clear() 方法 Java ArrayList clone() 方法 Java ArrayList contains() 方法 Java ArrayList ensureCapacity() 方法 Java ArrayList forEach() 方法 Java ArrayList get() 方法 Java ArrayList indexOf() 方法 Java ArrayList isEmpty() 方法 Java ArrayList iterator() 方法 Java ArrayList lastIndexOf() 方法 Java ArrayList listIterator() 方法 Java ArrayList remove() 方法 Java ArrayList removeAll() 方法 Java ArrayList removeIf() 方法 Java ArrayList replaceAll() 方法 Java ArrayList retainAll() 方法 Java ArrayList set() 方法 Java ArrayList size() 方法 Java ArrayList sort() 方法 Java ArrayList spliterator() 方法 Java ArrayList subList() 方法 Java ArrayList toArray() 方法 Java ArrayList trimToSize() 方法 Java LinkedList 方法 Java LinkedList add() 方法 Java LinkedList addAll() 方法 Java LinkedList addFirst() 方法 Java LinkedList addLast() 方法 Java LinkedList clear() 方法 Java LinkedList clone() 方法 Java LinkedList contains() 方法 Java LinkedList getFirst() 方法 Java LinkedList forEach() 方法 Java LinkedList get() 方法 Java LinkedList indexOf() 方法 Java LinkedList isEmpty() 方法 Java LinkedList iterator() 方法 Java LinkedList lastIndexOf() 方法 Java LinkedList listIterator() 方法 Java LinkedList removeFirst() 方法 Java LinkedList remove() 方法 Java LinkedList removeAll() 方法 Java LinkedList removeIf() 方法 Java LinkedList removeLast() 方法 Java LinkedList replaceAll() 方法 Java LinkedList retainAll() 方法 Java LinkedList set() 方法 Java LinkedList size() 方法 Java LinkedList sort() 方法 Java LinkedList spliterator() 方法 Java LinkedList subList() 方法 Java LinkedList toArray() 方法 Java HashMap 方法 Java HashMap clear() 方法 Java HashMap clone() 方法 Java HashMap compute() 方法 Java HashMap computeIfAbsent() 方法 Java HashMap computeIfPresent() 方法 Java HashMap containsKey() 方法 Java HashMap containsValue() 方法 Java HashMap entrySet() 方法 Java HashMap forEach() 方法 Java HashMap get() 方法 Java HashMap getOrDefault() 方法 Java HashMap isEmpty() 方法 Java HashMap keySet() 方法 Java HashMap merge() 方法 Java HashMap put() 方法 Java HashMap putAll() 方法 Java HashMap putIfAbsent() 方法 Java HashMap remove() 方法 Java HashMap replace() 方法 Java HashMap replaceAll() 方法 Java HashMap size() 方法 Java HashMap values() 方法 Java Scanner 方法 Java Scanner close() 方法 Java Scanner delimiter() 方法 Java Scanner findInLine() 方法 Java Scanner findWithinHorizon() 方法 Java Scanner hasNext() 方法 Java Scanner hasNextBoolean() 方法 Java Scanner hasNextByte() 方法 Java Scanner hasNextDouble() 方法 Java Scanner hasNextFloat() 方法 Java Scanner hasNextInt() 方法 Java Scanner hasNextLine() 方法 Java Scanner hasNextLong() 方法 Java Scanner hasNextShort() 方法 Java Scanner locale() 方法 Java Scanner next() 方法 Java Scanner nextBoolean() 方法 Java Scanner nextByte() 方法 Java Scanner nextDouble() 方法 Java Scanner nextFloat() 方法 Java Scanner nextInt() 方法 Java Scanner nextLine() 方法 Java Scanner nextLong() 方法 Java Scanner nextShort() 方法 Java Scanner radix() 方法 Java Scanner reset() 方法 Java Scanner useDelimiter() 方法 Java Scanner useLocale() 方法 Java Scanner useRadix() 方法 Java 迭代器接口 Java 错误和异常类型 Java.io.BufferedInputStream 类 Java.io.BufferedOutputStream 类 Java.io.BufferedReader 类 Java.io.BufferedWriter 类 Java.io.ByteArrayInputStream 类 Java.io.ByteArrayOutputStream 类 Java.io.CharArrayReader 类 Java.io.CharArrayWriter 类 Java.io.Console 类 Java.io.DataInputStream 类 Java.io.DataOutputStream 类 Java.io.File 类 Java.io.FileDescriptor 类 Java.io.FileInputStream 类 Java.io.FileOutputStream 类 Java.io.FilePermission 类 Java.io.FileReader 类 Java.io.FileWriter 类 Java.io.FilterInputStream 类 Java.io.FilterOutputStream 类 Java.io.FilterReader 类 Java.io.FilterWriter 类 Java.io.InputStream 类 Java.io.InputStreamReader 类 Java.io.LineNumberInputStream 类 Java.io.LineNumberReader 类 Java.io.ObjectInputStream 类 Java.io.ObjectInputStream.GetField 类 Java.io.ObjectOutputStream 类 Java.io.ObjectOutputStream.PutField 类 Java.io.ObjectStreamClass 类 Java.io.ObjectStreamField 类 Java.io.OutputStream 类 Java.io.OutputStreamWriter 类 Java.io.PipedInputStream 类 Java.io.PipedOutputStream 类 Java.io.PipedReader 类 Java.io.PipedWriter 类 Java.io.PrintStream 类 Java.io.PrintWriter 类 Java.io.PushbackInputStream 类 Java.io.PushbackReader 类 Java.io.RandomAccessFile 类 Java.io.Reader 类 Java.io.SequenceInputStream 类 Java.io.SerializablePermission 类 Java.io.StreamTokenizer 类 Java.io.StringBufferInputStream 类 Java.io.StringReader 类 Java.io.StringWriter 类 Java.io.Writer 类 Java.io.Interfaces 接口 Java.io.Exceptions 接口 Java.lang Boolean 类 Java.lang.Byte 类 Java.lang.Character 类 Java.lang.Character.Subset 类 Java.lang.Character.UnicodeBlock 类 Java.lang.Class 类 Java.lang.ClassLoader 类 Java.lang.Compiler 类 Java.lang.Double 类 Java.lang.Enum 类 Java.lang.Float 类 Java.lang.InheritableThreadLocal 类 Java.lang.Integer 类 Java.lang.Long 类 Java.lang.Math 类 Java.lang.Number 类 Java.lang.Object 类 Java.lang.Package 类 Java.lang.Process 类 Java.lang.ProcessBuilder 类 Java.lang.Runtime 类 Java.lang.RuntimePermission 类 Java.lang.SecurityManager 类 Java.lang.Short 类 Java.lang.StackTraceElement 类 Java.lang.StrictMath 类 Java.lang.String 类 Java.lang.StringBuffer 类 Java.lang.StringBuilder 类 Java.lang.System 类 Java.lang.Thread 类 Java.lang.ThreadGroup 类 Java.lang.ThreadLocal 类 Java.lang.Throwable 类 Java.lang.Void 类 Java.lang.Interfaces Java.lang.Errors Java.lang.Exceptions Java.math.BigDecimal 类 Java.math.BigInteger 类 Java.math.MathContext 类 Java.math.RoundingMode 枚举 java.time.Clock 类 java.time.Duration 类 java.time.Instant 类 java.time.LocalDate 类 java.time.LocalDateTime 类 java.time.LocalTime 类 java.time.MonthDay 类 java.time.OffsetDateTime 类 java.time.OffsetTime 类 java.time.Period 类 java.time.Year 类 java.time.YearMonth 类 java.time.ZonedDateTime 类 java.time.ZoneId 类 java.time.ZoneOffset 类 java.time.Month 枚举 Java.util.ArrayDeque 类 Java.util.ArrayList 类 Java.util.Arrays 类 Java.util.BitSet 类 Java.util.Calendar 类 Java.util.Collections 类 Java.util.Currency 类 Java.util.Date 类 Java.util.Dictionary 类 Java.util.EnumMap 类 Java.util.EnumSet 类 Java.util.Formatter 类 Java.util.GregorianCalendar 类 Java.util.HashMap 类 Java.util.HashSet 类 Java.util.Hashtable 类 Java.util.IdentityHashMap 类 Java.util.LinkedHashMap 类 Java.util.LinkedHashSet 类 Java.util.LinkedList 类 Java.util.ListResourceBundle 类 Java.util.Locale 类 Java.util.Observable 类 Java.util.PriorityQueue 类 Java.util.Properties 类 Java.util.PropertyPermission 类 Java.util.PropertyResourceBundle 类 Java.util.Random 类 Java.util.ResourceBundle 类 Java.util.ResourceBundle.Control 类 Java.util.Scanner 类 Java.util.ServiceLoader 类 Java.util.SimpleTimeZone 类 Java.util.Stack 类 Java.util.StringTokenizer 类 Java.util.Timer 类 Java.util.TimerTask 类 Java.util.TimeZone 类 Java.util.TreeMap 类 Java.util.TreeSet 类 Java.util.UUID 类 Java.util.Vector 类 Java.util.WeakHashMap 类 Java.util.Interfaces 接口 Java.util.Exceptions 接口 java.util.Formatter.BigDecimalLayoutForm 枚举 Java 正则表达式 - 概述 Java 正则表达式 - groupCount 方法 Java 正则表达式 - MatchResult 接口 Java 正则表达式 - 模式 Java 正则表达式 - Matcher 匹配器类 Java 正则表达式 - PatternSyntaxException 类 Java 正则表达式 - 匹配字符的示例 Java Regex - 匹配字符类 匹配预定义的字符类 匹配 POSIX 字符类 匹配 JAVA 字符类 匹配 Unicode 字符类 java 正则表达式 - 边界匹配器示例 Java 正则表达式的贪婪量词 勉强量词的示例 占有量词的示例 Java Regex - 逻辑运算符示例 java.util.zip - Adler32 类 java.util.zip - CheckedInputStream 类 java.util.zip - CheckedOutputStream 类 java.util.zip - CRC32 类 java.util.zip - Deflater 类 java.util.zip - DeflaterInputStream 类 java.util.zip - DeflaterOutputStream 类 java.util.zip - GZIPInputStream 类 java.util.zip - GZIPOutputStream 类 java.util.zip - Inflater 类 java.util.zip - InflaterInputStream 类 java.util.zip - InflaterOutputStream 类 java.util.zip - ZipEntry 类 java.util.zip - ZipFile 类 java.util.zip - ZipInputStream 类 java.util.zip - ZipOutputStream 类 Java Zip - 异常 Java Zip - Errors

Java 迭代器接口

Java 错误和异常类型

Java.io 包教程

Java 教程

浏览10071
更新时间2025-07-22

在本教程中,您将学习如何使用Java 数据类型

Java 数据类型

如前一章所述,Java中的变量必须是指定的数据类型:

实例

int myNum = 5;               // 整数(整数)
float myFloatNum = 5.99f;    // 浮点数
char myLetter = 'D';         // 字符
boolean myBool = true;       // Boolean
String myText = "Hello";     // 字符串

运行实例 »

点击 "运行实例" 按钮查看在线实例

数据类型分为两组:

  • 基本数据类型 - 包括 byte, short, int, long, float, double, boolean 和 char
  • 非基本数据类型 - 例如 String, Arrays 和 Classes (您将在后面的章节中了解更多)

基本数据类型

基本数据类型指定变量值的大小和类型,并且没有其他方法。

Java 中有八种基本数据类型:

数据类型 大小 描述
byte 1 byte 存储从 -128 到 127 的整数
short 2 bytes 存储从 -32,768 到 32,767 的整数
int 4 bytes 存储从 -2,147,483,648 到 2,147,483,647 的整数
long 8 bytes 存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数
float 4 bytes 存储小数。 足以存储 6 到 7 个十进制数字
double 8 bytes 存储小数。 足以存储 15 位十进制数字
boolean 1 bit 存储 true 或 false 值
char 2 bytes 存储单个字符/字母或 ASCII 值

数字

原始数字类型分为两组:

整数类型 存储整数、正数或负数(例如 123 或 -456),没有小数。 有效类型为 byte, short, int 和 long。 您应该使用哪种类型,取决于数值。

浮点类型 表示带有小数部分的数字,包含一个或多个小数。 有两种类型: float 和 double。

尽管 Java 中有许多数字类型,但最常用于数字的是 int (整数)和 double(浮点数)。 但是,当您继续阅读时,我们将对其进行全部描述。



整数类型

Byte

byte 数据类型可以存储从 -128 到 127 的整数。当您确定值将在 -128 和 127 之间时,可以使用它代替 int 或其他整数类型来节省内存:

实例

byte myNum = 100;
System.out.println(myNum);

运行实例 »

点击 "运行实例" 按钮查看在线实例

Short

short 数据类型可以存储从 -32768 到 32767 的整数:

实例

short myNum = 5000;
System.out.println(myNum);

运行实例 »

点击 "运行实例" 按钮查看在线实例

Int

int 数据类型可以存储从 -2147483648 到 2147483647 的整数。通常,在我们的教程中,当我们使用数值创建变量时,int 数据类型是首选数据类型。

实例

int myNum = 100000;
System.out.println(myNum);

运行实例 »

点击 "运行实例" 按钮查看在线实例

Long

long 数据类型可以存储从 -9223372036854775808 到 9223372036854775807 的整数。这用于 int 不足以存储值的情况。 请注意,您应该以"L"结束值:

实例

long myNum = 15000000000L;
System.out.println(myNum);

运行实例 »

点击 "运行实例" 按钮查看在线实例


浮点类型

当您需要带小数的数字时,您应该使用浮点类型,例如 9.99 或 3.14515。

Float

float 数据类型可以存储从 3.4e−038 到 3.4e+038 的小数。 请注意,您应该以"f"结束值:

实例

float myNum = 5.75f;
System.out.println(myNum);

运行实例 »

点击 "运行实例" 按钮查看在线实例

Double

double 数据类型可以存储从 1.7e-308 到 1.7e+308 的小数。 请注意,您应该以"d"结束值:

实例

double myNum = 19.99d;
System.out.println(myNum);

运行实例 »

点击 "运行实例" 按钮查看在线实例

使用浮点数还是双精度数?

浮点值的精度表示该值在小数点后可以有多少位。 float 的精度只有 6 位或 7 位十进制数字,而 double 变量的精度约为 15 位。 因此,在大多数计算中使用 double 会更安全。

科学数字

浮点数也可以是科学数字,带有"e"来表示 10 的幂:

实例

float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);

运行实例 »

点击 "运行实例" 按钮查看在线实例


布尔值

布尔数据类型使用 boolean 关键字声明,并且只能取值 true 或 false:

实例

boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);     // 输出 true
System.out.println(isFishTasty);   // 输出 false

运行实例 »

点击 "运行实例" 按钮查看在线实例

布尔值主要用于条件测试,您将在后面的章节中了解更多信息。


字符

char 数据类型用于存储单个字符。 字符必须用单引号括起来,例如 'A' or 'c':

实例

char myGrade = 'B';
System.out.println(myGrade);

运行实例 »

点击 "运行实例" 按钮查看在线实例

或者,您可以使用 ASCII 值来显示某些字符:

实例

char a = 65, b = 66, c = 67;
System.out.println(a);
System.out.println(b);
System.out.println(c);

运行实例 »

点击 "运行实例" 按钮查看在线实例

提示: 所有 ASCII 值的列表可以在我们的 ASCII 参考 中找到。


Strings 字符串

String 字符串数据类型用于存储字符序列(文本)。 字符串值必须用双引号括起来:

实例

String greeting = "Hello World";
System.out.println(greeting);

运行实例 »

点击 "运行实例" 按钮查看在线实例

String 类型在 Java 中被大量使用和集成,以至于有人称它为"特殊的第九种类型"。

Java 中的 String 实际上是一种非原始数据类型,因为它引用了一个对象。 String 对象具有用于对字符串执行某些操作的方法。 如果您还不了解"对象"一词,请不要担心。 我们将在后面的章节中学习更多关于字符串和对象的知识。


非原始数据类型

非原始数据类型称为引用类型,因为它们引用对象。

原始数据类型和非原始数据类型之间的主要区别是:

  • 原始类型在 Java 中是预定义的(已经定义的)。 非原始类型由程序员创建,不是由 Java 定义的(String除外)。
  • 非原始类型可以用来调用方法来执行某些操作,而原始类型不能。
  • 原始类型始终有一个值,而非原始类型可以为 null。
  • 原始类型以小写字母开头,而非原始类型以大写字母开头。
  • 原始类型的大小取决于数据类型,而非原始类型的大小都相同。

非原始类型的示例有 Strings, Arrays, Classes, Interface等。您将在后面的章节中了解有关这些的更多信息。



相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

65万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.8万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.2万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.4万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.3万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.5万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载