第三节数据类型

1.Java程序基本结构

package Mr;定义了 Java程序中类所在的包是Mr,其中Mr是一个标识符

public class Example是创建类的语句,其中public是Java程序的关键字,这里用于修饰类;class是用于创建类的关键字

static int ONE = 1;定义了类的成员变量,其中static是Java程序的关键字,这里用 于修饰成员变量;int也是一个关键字,是Java程序中的整数数据类型,用于定义常量和变量,这里定义的是类的成员变量;ONE是一个标识符,是该类的成员变量,其名称由程序员自己定义,该成员变量的数据类型是整数类型

public static void main(String[] args)是类的主方法,是Java应用程序的入口点,Java 程序是从该方法开始执行的,其中main是主方法的名称,程序员不可以更改;public是Java程序的关键字,这里用于修饰主方法;static是Java程序的关键字,这里用于修饰主方法;void也是一个关键字, 用于修饰方法,表示方法没有返回值;String也是一个类,用于创建字符串对象,这里用于修饰主方法 的形参,在String后跟上一对方括号“[”和“]”表示主方法的形参是一个字符串数组;args是一个标 识符,是主方法的形参数组,其数据类型是String类型

String var = "Hello;在主方法内定义了一个局部变量,其中String是一个类,用于 创建字符串 对象,这里创建了一个局部变量;var是局部变量的名称,是程序自己定义的一个标识符, "Hello"是局部变量var的值,是一个字符串常量;等号“=”是赋值运算符,用于将等号右边的字符串 常量赋值给等号左边的变量var,这样变量var的值就是Hello 了.

System.out.println(ONE);是一个输出语句,可以在命令行或控制台输出信息,其中 System.out.println()是输出语句的固定写法,其中System是一个系统类的名称,其第一个字母必须大写,out是System类提供的一个标准输出流,println是标准输出流out提供的方法,用于输出信息;println()方法内部的ONE是要输出的内容,这里的ONE是类的一个成员变量,其值是1,所以执行该语句将输出1。

最后一条语句System.out.println(var);是一个输出语句,其含义同第6条语句,这里的var是主方法内定义的一个局部变量,其值是"Hello",所以执行该语句将输出Hello

2.标识符和关键字

2.1 标识符

标识符 可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

【例2.1】 定义变量i并赋值为100.

int i = 100;

System.out.println(i);//在控制台输出信息

变量名i就是标识符,由程序员所起,但并不是随便取的,也有一定的规则。下面将介绍标识符 的命名规则

2.2 关键字

关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。Java 中的关键字如表3.1所示。

JDK 1.8 中,共有 50 个关键字

访问控制

关键字

含义

private

私有的

protected

受保护的

public

公共的

类、方法和变量修饰符

关键字

含义

abstract

表明类或者成员方法具有抽象属性

class

声明一个类

extends

表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口

final

用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量

implements

表明一个类实现了给定的接口

interface

接口

native

本地,原生方法(非 Java 实现);用来声明一个方法是由与计算机相关的语言(如 C/C++/FORTRAN 语言)实现的

new

用来创建新实例对象

static

表明具有静态属性

strictfp

用来声明 FP_strict(单精度或双精度浮点数)表达式遵循 [IEEE 754](https://baike.baidu.com/item/IEEE 754) 算术规范

synchronized

表明一段代码需要同步执行

transient

声明不用序列化的成员域

volatile

表明两个或者多个变量必须同步地发生变化

程序控制语句

关键字

含义

break

提前跳出一个块

case

用在 switch 语句之中,表示其中的一个分支

continue

回到一个块的开始处

default

默认,例如,用在 switch 语句中,表明一个默认的分支。Java 8 中也作用于声明接口函数的默认实现

do

用在 do-while 循环结构中

else

用在条件语句中,表明当条件不成立时的分支

for

一种循环结构的引导词

if

条件语句的引导词

instanceof

用来测试一个对象是否是指定类型的实例对象

return

从成员方法中返回数据

switch

分支语句结构的引导词

while

用在循环结构中

错误处理

关键字

含义

assert

断言,用来进行程序调试

catch

用在异常处理中,用来捕捉异常

finally

用于处理异常情况,用来声明一个基本肯定会被执行到的语句块

throw

抛出一个异常

throws

声明在当前定义的成员方法中所有需要抛出的异常

try

尝试一个可能抛出异常的程序块

包相关

关键字

含义

import

表明要访问指定的类或包

package

基本类型

关键字

含义

boolean

基本数据类型之一,声明布尔类型的关键字

byte

基本数据类型之一,字节类型

char

基本数据类型之一,字符类型

double

基本数据类型之一,双精度浮点数类型

float

基本数据类型之一,单精度浮点数类型

int

基本数据类型之一,整数类型

long

基本数据类型之一,长整数类型

short

基本数据类型之一,短整数类型

变量引用

关键字

含义

super

表明当前对象的父类型的引用或者父类型的构造方法

this

指向当前实例对象的引用

void

声明当前成员方法没有返回值

保留关键字

关键字

含义

goto

是关键字,但不能使用

const

是关键字,但不能使用

注意: const 和 goto 是保留字 注意: true 、false、null 不是关键字,而是常量标识

3.基本数据类型

在Java中有8种基本数据类型,其中6种是数值类型,另外两种分别是字符类型和布尔类型,而

6种数值类型中有4种是整数类型,另外两种是浮点类型

3.1 整数类型

整数类型用来存储整数数值,即没有小数部分的数值,可以是正数、负数,也可以是零。根据所占 内存的大小不同,可以分为byte、short、int和long****4种类型。它们所占的内存和取值范围如表3.1所示, 表**3.1整数类型

数据类型

内存空间(****8位等于1字节)

取值范围

byte

8位(1个字节)

-128〜127

short

16位(2个字节)

-32768〜32767

int

32位(4个字节)

-2147483648〜2147483647

long

64位(8个字节)

-9223372036854775808〜9223372036854775807

1. byte 型

使用byte关键字来定义byte型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。 byte型是整型中所分配的内存空间最少的,只分配1个字节;取值范围也是最小的,只在-128-127 之间,在使用时一定要注意,以免数据溢出产生错误。

【例3.2】 定义byte**型变量。

byte x = 48,y = -108,z; //定义 byte 型变量 x、y、z,并赋初值给 x、y

2. short 型

short型即短整型,使用short关键字来定义short型变量,可以一次定义多个变量并对其进行赋值, 也可以不进行赋值。系统给short型分配2个字节的内存,取值范围也比byte型大了很多,在-32768〜 32767之间,虽然取值范围变大,但还是要注意数据溢出。

3. int 型

int型即整型,使用int关键字来定义int型变量,可以一次定义多个变量并对其进行赋值,也可以 不进行赋值。int型变量取值范围很大,在-2147483648〜2147483647之间,足够一般情况下使用,所 以是整型变量中应用最广泛的。

【例3.3】定义int型变量。

Int x = 450,y = -462,z; //定义int型变量x、y、z,并赋初值给x、y

4. long 型

long型即长整型,使用long关键字来定义long型变量,可以一次定义多个变量并对其进行赋值, 也可以不进行赋值。而在对long型变量赋值时结尾必须加上"L”或者“1”,否则将不被认为是long型。当数值过大,超出int型范围时就使用long型,系统分配给long型变量8个字节,取值范围则更 大,在-9223372036854775808~9223372036854775807 之间。

【例3.4】 定义long型变量。

long x = 4556824L,y = -4624477161,z;〃定义 long 型变量 X、y、z.并赋初值给 X、y

在定义long型变量时最好在结尾处加“L”,因为“1”非常容易和数字“1”弄混.

【例3.5]在项目中创建类Number,在主方法中创建不同的整数类型变量,并将这些变量相加, 将结果输出。

public class Number{

public static void main (String[] args) {

byte mybyte = 124;

short myshort = 32564;

int myint = 45784612;

long mylong = 46789451L;

long result = mybyte+myshort+myint+mylong;

System.out.println("四种类型相加的结果为:"+result);

}

}

上面的4种整数类型在Java程序中有3种表示形式,分别 为十进制表示法、八进制表示法和十六进制表示法。

十进制表示法。十进制的表现形式大家都很熟悉,即 逢十进一,每位上的数字最大是9,如120、0、-127 都是十进制数。

八进制表示法。八进制即逢八进一,每位上的数字最大是7,且必须以0开头。例如,0123 (转换成十进制数为83)、-0123 (转换成十进制数为-83)都是八进制数。

十六进制表示法。中国古代使用的就是十六进制数,所谓半斤八两就是如此,逢十六进一, 每位上最大数字是f (15),且必须以0X或0x开头。例如,0x25 (转换成十进制数为37)、 0Xb01e (转换成十进制数为45086)都是十六进制数。

3.2 浮点类型

浮点类型表示有小数部分的数字。在Java语言中,浮点类型分为单精度浮点类型(float)和双精

度浮点类型(double),他们具有不同的取值范围,如表3.2.1所示。

表3.3浮点类型

数据类型

内存空间(8位等于1字节)

取值范围

float

32位(4个字节)

1.4E-45〜3.4028235-E38

double

64位(8个字节)

4.9E-324~1.7976931348623157E-308

3.2.1 float 型

float型即单精度浮点型,使用float关键字来定义float型变量,可以一次定义多个变量并对其进行 赋值,也可以不进行赋值。在对float型进行赋值时在结尾必须添加“F”或者“f”,如果不加,系统自动将其定义为double型变量。float型变量的取值范围在1.4E-45和3.4028235E-38之间。

定义float型变量。

float x = 12.521F,y = -5.264f,z;//定义 float 型变量 x、y、z,并赋初值给 X、y

2. double 型

double型即双精度浮点型,使用double关键字来定义double型变量,可以一次定义多个变量并对 其进行赋值,也可以不进行赋值。在给double型赋值时,可以使用后缀“D"或“d”明确表明这是一 个double类型数据,但加不加并没有硬性规定,可以加也可以不加.double型变量的取值范围在4.9E-324 和 1.7976931348623157E-308 之间。

定义double型变量。

double x = 12.521D,y = -5.264d,z=5.115,p;//定义 double 型变量 X、y、z、p.并赋初值给 X、y、z

在项目中创建SumNumber类,在类的主方法中声明字符型变量,然后进行加法运算, 并将运行结果输出

public class SumNumber( //创建类

public static void main(String[] args) { //主方法

float f1 = 13.23f; //定义float型变量

double d1 = 4562.12d; //定义double型变量

double d2 = 45678.1564; //定义double型变量

double result = f1+d1+d2; //获得各数相加后的结果

System.out.println("浮点型相加达到结果为:"+result);

}

} //将以上变資相加的结果输出

3.3 字符类型

char型即字符类型,使用char关键字进行声明,用于存储单个字符,系统分配两个字节的内存空间。在定义字符型变量时,要用单引号括起来。例如,'s'表示一个字符,且单引号中只能有一个字符,多了就不是字符类型了,而是字符串类型,需要用双引号进行声明。

【例3.3.1] 声明char型变量。

char x = 'a';

由于字符a在Unicode表中的排序位置是97,因此允许将上面的语句写成:

char x = 97;

说明:与C、C++语言一样,Java语言也可以把字符作为整数对待.由于Unicode编码采用无符 号编码,可以存储65536个字符(OxOOOO-Oxffif),所以Java中的字符几乎可以处理所有国家的语 言文字.若想得到一个0〜65536之间的数所代表的Unicode表中相应位置上的字符,也必须使用char 型显式转换

【例3.3.1] 在项目中创建类Export,实现将Unicode表中某些位置上的字符以及一些字符在Unicode表中的位置在控制台上输出。

public class Export (

public static void main(StringO args) (

int i = 'd';

char c = 97;

System.out.println("字符 d 的 Unicode 码是:"+i);

System.out.println("Unicode 码 97 代表的字符是:"+c);

}

}

转义符

\ddd

1〜3位八进制数据所表示的字符,如\456

\dxxxx

4位十六进制所表示的字符,如\0052

\’

单引号字符

\\

反斜杠字符

\t

垂直制表符,将光标移到下一个制表符的位置

\r

回车

\n

换行

\b

退格

\f

换页

public class Number{

public static void main(String[] args){

char char1 = '\\';

char char2 = '\u2605';

System.out.println("输出反斜杠" +char1);

System.out.println("输出五角星" +char2);

}

}

布尔类型

逻辑类型,只有true和鱼false两个值,分别代表布尔逻辑中的“真”和“假”。使用boolean关键字声明布尔类型变量,通常被用在流程控制中作为 判断条件。

声明boolean型变量。

boolean b1 = true,b2 = false,b3;//定义布尔型变量 b1、b2、b3.并给 b1、b2 赋初值

变量与常量

运算符

类型转换

代码注释和编码规范

经典范例

实战练习

java 数字1类型_java-1.基础与数据类型相关推荐

  1. java程序设计基础知识点_Java编程语言基础知识的要点

    原标题:Java编程语言基础知识的要点 很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.下面就说说Java零基础学习Java编程语言基础知识的几个要点.希望能 ...

  2. java 数组 字符串 编程_Java语言基础知识之字符串数组

    Java语言基础知识之字符串数组 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素.数组有 ...

  3. java 无符号 类型_java中符号类型和无符号类型的问题分析

    一 参考博文 二 java中的无符号数和有符号数 在计算机中,可以区分正负的类型,称为有符号类型,无正负的类型,称为无符号类型. 使用二进制中的最高位表示正负 计算机中用补码表示数值:另外,用二进制的 ...

  4. java不可变类型_Java中的值类型:为什么它们不可变?

    java不可变类型 值类型不必是不变的. 但是他们是. 在上一篇文章中,我讨论了Java中指针与引用之间的区别以及如何传递方法参数(按值传递或按引用传递). 这些与Java中尚不存在的值类型密切相关( ...

  5. java自动推断类型_Java 7的类型推断

    java自动推断类型 每个优秀的程序员都喜欢编写简洁但有效且经过优化的代码. 类型推断是JDK 7中引入的一种方法,它肯定会为您带来更少键入的好处. 您以以下方式使用Java代码已有很长时间了. 但是 ...

  6. java ref 应用类型_Java四种引用类型

    Java四种引用类型 在java中,类型就分为两种,基本类型和引用类型或自定义类型. 引用类型又分为四种: 强引用 StrongReference 软引用 SoftReference 若引用 Weak ...

  7. java协变返回类型_Java中的协变返回类型

    java协变返回类型 协变返回类型 (Covariant return type) The covariant return type is that return type which may va ...

  8. java中map类型_Java中Map类型遍历的两种方式对比

    Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...

  9. java 整型类型_Java基本类型-整型解读

    java的基本类型包括以下几类: 整型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean 它们都有对应的包装类型(如果没有特殊说明,下 ...

最新文章

  1. mysql数据没有真正提交,转MySQL 批量提交优化
  2. Android APK方式换肤实现原理
  3. Efficient Graph-Based Image Segmentation
  4. mysql嵌入式语句_MySQL/MariaDB 语句速查笔记
  5. TIS教程04-客户端
  6. 前端学习(1174):repeat方法
  7. java每过一段时间执行一次代码(方法)
  8. gtone eclipse plugin install
  9. HDU 6183 2017广西邀请赛:Color it(线段树)
  10. Sublime Text 3快捷键
  11. FTOUR2 - Free tour II
  12. 母函数 经典题目汇总
  13. Filenet基金会发放第一期打包节点公开激励
  14. 2017VS2018年非工作日日期大集合
  15. error: You must be logged in to the server (Unauthorized)
  16. 金融信创爆发年,优炫数据库高可用高性能解决方案
  17. 完备性的定义(ZZ)
  18. 大数据入门:Scala大数据黄金语言
  19. linux系统虚拟鼠标的实现
  20. net::ERR_ABORTED 404 (Not Found)

热门文章

  1. python股票相关性分析_python处理时间序列数据股票数据,并进行相关性分析
  2. 大数据综合实验(一)
  3. 报错:Misplaced alignment tab character 的解决办法以及参考文献的书写方式、There were undefined citations.解决办法
  4. 基于java的中文分词工具ANSJ
  5. android程序ping服务器
  6. 数据挖掘中的分类与预测
  7. matlab标线,如何在matlab中以方位角画线?
  8. python绘制动漫人物图片女生可爱_绘画动漫人物图片女生唯美
  9. Outlook邮箱满了不用删除清理,快速转移保存到本地
  10. pe能用的固态硬盘测试软件,通用pe工具箱教你如何让硬盘4K对齐