Java初识:标识符、关键字、数据类型与变量

目录

一:标识符

二:关键字

三:数据类型与变量

1.字面常量

2.数据类型

3.变量

4.类型转换

5.类型提升

6.字符串类型

四:课后习题:


一:标识符

定义:在程序中由用户给类名、方法名,或者变量所取的名字

规定:1.由字母、数字、下划线、美元符号$组成

           2.不能以数字开头

           3.建议以驼峰法命名

           4.不能和关键字重名(定义为main是合法的)

           5.不包含其他符号(如‘:’、‘.’、空格等等)

           6.java对于标识符是严格区分大小写的


二:关键字

定义:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者叫Java保留字


三:数据类型与变量

1.字面常量

分类:1.字符串常量,比如“12345”、“hello”、“你好”

           2.整型常量:比如:100、1000、114514

           3.浮点数常量:3.14、0.114514

           4.字符常量:有单引号括起来的单个字符,比如:‘A’、‘1’

           5.布尔常量:true和false

           6.空常量:null


2.数据类型

分类:1.基本数据类型

(1)byte 字节类型

(2)short 短整型

(3)int 整型

(4)long 长整型

(5)char 字符类型

(6)float 单精度浮点数

(7)double 双精度浮点数

(8)boolean 布尔类型 注意:1.不区分平台,数据类型在32位还是64位都是一样的内存占用

           2.java只有有符号数字,没有无符号数字,比如:int 4个字节,32位,第一位就是符号位,没有32位都是有效数字的情况,即无unsigned int数据类型

           3.各种整型类型变量均能够保存八进制、十进制、十六进制整数数据,八进制常量以0开头,十六进制常量以0x开头,比如 int a = 123;int b = 0173;int c = 0x7B;a、b、c按十进制的方式输出都是123

            4.在单引号之间可以存放一个字符,或者转义字符

            5.C中转义字符如‘\xhh’,以"\x"开头,后面接1~2位十六位进制数,比如"\x61";而Java采用以“\u”开头,后面接1~4位的十六进制数,比如"\u0061"


3.变量

定义变量的语法格式

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


注意:1.定义局部变量一定要初始化,若没有进行初始化,则编译器会报错

           2.一行内可以定义多个变量

           3.变量赋值不能超出其数据类型的范围

1.整型变量


注意:1.long数据类型的变量标准赋值是在数值值后面加上L或l

           2.IDEA编译器会检查一些出错的字面值

比如:输出int最大值+1编译器会输出溢出的值-2147483648

           而直接输出字面值2147483648就报e错,并不输出               

2.浮点型变量

1.双精度浮点型double 八字节 16位有效数字

2.单精度浮点型float  四字节 8位有效数字


注意:1.java中默认小数是double类型,float数据类型的变量标准赋值是在数值值后面加上f或F

           2.a和b都是赋值了1.2,a的精度是16位,为1.2000 0000 0000 0000,但b的精度是6位,为1.2000 0014 5601 45,在小数6位后出现了一些数字,所以b比a大

           

3.字符变量

char两个字节,无负数


注意:1.一个汉字两个字节 

           2.IDEA中java采用Unicode字符集表示字符,每个Unicode码占用2个字节,可以表示英文,拉丁文,希腊文,中文等等,支持更多国家的语言 

4.布尔类型变量

C:非0和true是真,0和false是假

Java: true是真,false是假

注意:1.Java中不存在非0表示真,0表示假的情况,即不允许用数字来表示逻辑真或逻辑假,如if(a+b)是非法的,必须写成if(a+b)!=0);作为if语句条件只能是boolean变量、条件表达式或逻辑表达式

           2.Java虚拟机规范中,并没有规定boolean占几个字节;但部分书籍上说明在内存中占用1字节

4.类型转换

Java是一个强类型的编程语言,当不同类型之间的变量相互赋值的时候,会有较严格的校验

如:int变量和long变量相互转换

long类型占8个字节,int类型占4个字节,8字节到4字节数据可能会出现损失;

但4字节往8字节转换就只会出现类型转的警告,4字节转换8字节,数据更精确了

解决:强制类型转换

1.自动类型转换(隐式)

系统支持某个基本数据类型直接赋值给另外一种数据类型

自动类型转换方向

注意:1.boolean不在该图中,所以不能够进行类型转换;不相干的类型之间不能互相转换 如:int(数值)和boolean(布尔)和(字符串)

           2.不同数字类型的变量之间赋值,表示范围更小的类型能隐式类型转换成范围较大的类型

2.强制类型转换(显示)

可以使用强制类型转换运算符即(类型名)来强制进行类型转换i

注意:1.int、double可以强转成char

        2.int、double强转byte

5.类型提升

1.int和long的运算:int会被提升为long 

2.byte和byte的运算: 参与运算的数据,小于4个字节的数据,会进行提升,所以运算后的数据是4个字节的

原因:计算机的CPU通常按照4个字节为单位从内存中读写数据,为了硬件上实现方便,诸如byte和short这种低于4个字节的类型,会先提升为int,再参与计算

6.字符串类型

1.int转String

1.整型+""

2.调用String的valueOf方法

2.String转int

1.调用Integer的paseInt方法

注意:1.Java中的字符串不是以‘\0‘结尾的

           2.字符串拼接

四:课后习题:

1.(B)2字节=16比特位

2.(ABCD)

3.(BC)byte code字节码

4.(D)


1.(B)

2.(BC)A、D引用类型

3.(BCD)包装类:基本数据类型对应的类类型

4.(B)boolean不能转

5.(A)

6.(A)转义字符 \\ 和\"

7.(B)short128的二进制0000 0000 1000 0000截断成byte是1000 0000(从补码角度看也可以)

1000 0000第一位视为符号位,是-0但规定为-128

8.(C)

9.(AB)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值