只要一篇就能看懂的变量和数据类型

变量与数据类型


主要内容


  1. 标识符与关键字

  2. 变量与常量

  3. 数据类型

  4. 类型转换

  5. 转义字符与进制问题

第一节 关键字和标识符


1. 编程规范


Ø 任何地方的名字都需要见名知意;

Ø 代码适当缩进

Ø 书写过程成对编程

Ø 对代码进行合理注释

2. 关键字


2.1、定义

是被系统征用的特殊单词(标识符),而且是被广大程序员所认知的。


在这里插入图片描述

2.2、特点

全部小写

2.3、注意事项

A:goto和const作为保留字存在。

B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记

2.4、Java所有关键字和保留字

在这里插入图片描述

2.5、常用关键字

在这里插入图片描述

3. 标识符


3.1 定义

就是给类,接口,方法,变量等起名字的字符序列。用来查找、定位、标明、唯一确认内容。

在这里插入图片描述

3.2 组成规则:

A:英文大小写字母(字符统称-->中英文皆可,强烈不推荐使用中文)
B:数字
C:$和_

3.3 注意事项:

A:不能以数字开头

B:不能是java中的关键字

C:区分大小写


在这里插入图片描述

3.4)常见的命名规范——见名知意

A:包 全部小写

单级包:小写

举例: com,shsxt,helloworld

多级包:小写,并用.隔开

举例:com.shsxt.helloworld

域名倒着写+模块名称

B:类或者接口

一个单词:首字母大写

举例:Student,Demo

多个单词:每个单词首字母大写

举例:HelloWorld,StudentName

C:方法或者变量

一个单词:首字母小写

举例:name,main

多个单词:从第二个单词开始,每个单词首字母大写

举例:studentAge,showAllNames()

D:常量

全部大写

一个单词:大写

举例:PI

多个单词:大写,并用_隔开

举例:STUDENT_MAX_AGE

命名规范:见名知意

第二节 数据与变量


1. 数据


1.1、定义

承载信息的符号

1.2 常见的数据

A:字符串常量 "hello"

B:整数常量 12,

C:小数常量 12.

D:字符常量 'a','A','0'

E:布尔常量 true,false

F:空常量 null(后面讲)

1.3 在Java中针对整数常量提供了四种表现形式——(理解)

A:二进制 由 0 , 1 组成。以0b开头。

B:八进制 由 0 , 1 ,...7组成。以 0 开头。

C:十进制 由 0 , 1 ,...9组成。整数默认是十进制。

D:十六进制 由 0 , 1 ,...9,a,b,c,d,e,f(大小写均可)组成。以0x/0X开头。

2. 变量

程序在运行过程中会处理很多数据,这些数据极有可能需要一个临时的栖息地,变量则可以提供这样的一个场所。变量就是内存中用来存储数据的一块空间。


在这里插入图片描述

2.1 定义

在程序的执行过程中,其值在某个范围内可以发生改变的量

2.2 变量的定义格式:

A:数据类型 变量名 = 初始化值;

B:数据类型 变量名;

变量名 = 变量值;

在这里插入图片描述

在这里插入图片描述

2.3 变量的两种操作:

1 、存值

2 、取值

3 、改值

在这里插入图片描述

2.4 变量的关注点

1 、数据类型

2 、变量名称

3 、变量的值

4 、变量的作用域,根据{} 来定

同一个作用域当中,变量不能重名
同一个变量在某一时刻,里面只能存在一个值,后来的值将替代/覆盖掉前面的值(前面的值永远找不到,没有撤销)

2.5 使用变量注意项:

1 、变量本身存在

2 、变量的值要存在

3 、使用时一定要存在于作用域之内

其作用域:从定义开始,到离它最近的左大括号相对的右大括号结束
注意:变量一旦被使用,那么必须保证它的值已经存在(形式参数除外)

第三节 数据类型(掌握)


3.1 定义


程序需要处理各种各样的数据,例如文字、图片、音频、视频等,对于不同的数据,处理方式当然也不同,数据能够进行的运算也是不同的。

Java是一种强类型语言,针对每种数据都提供了对应的数据类型。不同的类型,指定不同大小的空间,适当的数据
范围使用适当的数据类型进行存储。

为了能够方便和更好地处理数据,在程序中我们也将数据进行划分称不同的数据类型。

3.2 分类

在这里插入图片描述

A:基本数据类型: 4 类 8 种
B:引用数据类型:类,接口,数组。

3.3 基本数据类型


在这里插入图片描述

注意:整数数值默认为int类型,如果需要定义一个long类型的变量,当超出int的范围时,需要在该值后加 l或者L


在这里插入图片描述

float有效位是 8 位,double有效位是 16 位

注意:浮点数默认为double类型,如果需要定义一个float类型的变量,则数值后需要加 f或者F

在这里插入图片描述

要求:用 ' '将字符括起来

在这里插入图片描述

注意:
整数默认是int类型,浮点数默认是double。
长整数要加L或者l,单精度的浮点数要加F或者f。

本节作业

  1. 四类八种分别是哪些,各自有什么区别
  2. 变量的类型和数据的类型不都是一摸一样,可以么?

第四节 数据类型转换(掌握)

4.1 定义

数据在不同类型之间进行转换,boolean类型不参与转换

4.1.1 默认转换

A:从小数据到大类型

B:byte,short,char --> int long float double

C:byte,short,char之间是平级的,不相互转换,直接转成int类型参与运算。

4.1.2 强制转换

A:从大到小

B:可能会有精度的损失,一般不建议这样使用。

C:格式:

目标数据类型 变量名 = (目标数据类型) (被转换的数据);

4.1.3 思考题和面试题:

A:下面两种方式有区别吗?

float f1 = 12.345f;

float f2 = (float)12.345;向下类型转换,浮点数默认是double类型

B:下面的程序有问题吗,如果有,在哪里呢?

byte b1 = 3;

byte b2 = 4;

byte b3 = b1 + b2;

short s1=3;

short s2=3;

short s3=s1+s2;

char c1=3;

char c2=4;

char c3=c1+c2;

byte、short、char在运算时,会自动向上转型为int型,所以返回的结果是int类型,而接收的类型均不是int,由于
类型不匹配,所以报错

byte b4 = 3 + 4;

short s=3+4;

常量进行计算后的值,预编译时能够判断其是否超出范围

int a=1;

int b=2;

int c=a+b;

long l1=3l;

long l2=3l;

long l3=l1+l2;

float f1=2.3f;

float f2=2.3f;

float f3=f1+f2;

double d1=3.7;

double d2=3.9;

double d3=d1+d2;

均不会报错,java进行了优化。

C:下面的操作结果是什么呢?

byte b = (byte)130;

D:字符参与运算

是查找ASCII里面的值

'a' 97

'A' 65

'0' 48

空格 32

System.out.println('a');

System.out.println('a' + 1);

E:字符串参与运算

这里其实是字符串的连接

System.out.println("hello"+'a'+1);

System.out.println('a'+1+"hello"); System.out.println("5+5="+5+5); System.out.println(5+5+"=5+5");

运行结果:helloa

98hello

5+5=

10=5+

第五节 转义字符(掌握)

\:代表转义

\\:代表一个\

\”:代表一个双引号字符

\b:退格 ,是将光标移动到当前字符的前一个字符,并不会删除当前字符。

注意:eclipse当中不识别,需要在DOS环境下运行

\n:换行,将当前位置移到下一行的开头

\r:回车,将当前位置移到本行的本行开头

注意:\n、\r在eclipse没有区别,需要在DOS环境下运行

\t:水平制表位:跳到下一个Tab位置

在这里插入图片描述

你可能感兴趣的:(只要一篇就能看懂的变量和数据类型)