JAVA数据类型和运算符

 最近想重新巩固下JAVA基础,这是第一次写博客,希望各位读者多多指点,尽量两天一更一章节。

学习目标:

数据类型和运算符


学习内容:

1.标识符

①作用

•常量、变量、方法、类和包等的名称

②命名规则

•必须以字母、_下划线、美元符$开头。

•其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合

•大小写敏感,长度无限制。

•不可以是Java的关键字。

③注意

•Java不采用通常语言使用的ASCII字符集

•Java采用unicode这样的标准的国际字符集。

因此,这里的字母的含义:英文、汉字等等。(不建议大家使用汉字来定义标识符!)

④关键字/保留字

Java关键字是Java语言保留供内部使用的,如class用于定义类。关键字也可以称为保留字,它们的意思是一样的。

2.常量与变量

①常量变量定义

•在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。

②Java是一种强类型语言,每个变量都必须声明其类型

•Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

•变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:

•typevarName[=value][{,varName[=value]}];

③注意事项:

•每个变量都有类型,类型可以是基本类型,也可以是引用类型。

•变量名必须是合法的标识符。

④示例:

•int age=18;  

•age=20;

•String  name=“小杨”;

3.数据类型

①Java基本数据类型

Java是一种强类型语言

  •常量是有数据类型的

  •变量都必须声明其数据类型

②整型常量

•十进制整数,如:10,-500,0

•八进制整数,要求以0开头,如:017

•十六进制数,要求0x或0X开头,如:0x15

③整型变量

整型常量默认为int型,声明long型常量可以后加‘l’或‘L‘(建议使用大写,小写容易误认为数字1),如:

•longa=55555555;//不出错,在Int表示的范围内(21亿内)。

•longb=55555555555;//不加l出错,已经超过int表示的范围。

④浮点型数据类型

浮点类型常量

•十进制数形式

例如:

•3.14314.00.314

浮点型变量

•float类型:单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。

•double类型:双精度类型精度是float类型的两倍,绝大部分应用程序都采用double类型。

•注意

•浮点常量默认为double。要变为float,需在后面增加F/f.如:3.14F

•浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

⑤字符数据类型

•单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的,“A”表示含有一个字符的字符串。

•char类型用来表示在Unicode编码表中的字符。

•Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符;ASCII码占1个字节,可允许有128个字符(最高位是0),是Unicode编码表中前128个字符。

•Java语言中还允许使用转义字符‘\’来将其后的字符转变为其它的含义,charc2='\n';//代表换行符•char类型在内存中存储的是该字符的Unicode编码值,所以char类型可以当做int类型来处理

⑥布尔数据类型

•boolean类型有两个值,true和false

•boolean类型用来判断逻辑条件,一般用于程序流程控制

•实践:

•请不要这样写:if(is==true&&done==false),只有新手才那么写。对于任何程序员if(whether&&!done)都不难理解吧。所以去掉所有的==fasle和==true。

⑦final常量

使用final修饰的变量,只能被初始化一次,变成了常量。

•final常量是有名称的

4.运算符

①运算符

•Java语言支持如下运算符:

•算术运算符:+,-,*,/,%,++,--

•赋值运算符=

•扩展赋值运算符:+=,-=,*=,/=

•关系运算符:>,<,>=,<=,==,!=

•逻辑运算符:&&,||,!•位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

•条件运算符?:

•相关概念辨析

•+运算符操作符Operator

•5+6表达式expression

•56操作数Operand

•intm=5+6;语句Sentence

②算术运算符

注意:

•1:/除6/4=16/4.0=1.5

•2:%取模(求余)6%4=2

•3:+6+‘a’=1036+“a“=6ª

•4:++a=2;b=++a+9;a=2;b=a+++9;

•+:字符串相加,只要有一个操作数是字符串,自动变为字符串相连

③二元运算符类型提升:

•整数运算:

•如果两个操作数有一个为Long,则结果也为long

•没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

•浮点运算:

•如果两个操作数有一个为double,则结果为double.

•只有两个操作数都是float,则结果才为float.

•一元运算符(++,--):

•inta=3;

•intb=a++;//执行完后,b=3。先给b赋值,再自增。

•intc=++a;//执行完后,c=5。先自增,再给b赋值

④赋值运算符

•基本赋值运算符

•扩展赋值运算符

•算术运算符和赋值运算符结合

⑤关系运算符

•关系运算符用来进行比较运算

•关系运算的结果是布尔值:true/false

•注意

•区分==和=

•不等于是!=不是<>

⑥逻辑运算符

•逻辑运算符与布尔操作数一起使用,组成逻辑表达式

•逻辑表达式的结果是布尔值

•&和&&的区别

•“&”:无论任何情况,“&”两边的表达式都会参与计算。

•“&&”:当“&&”的左边为false,则将不会计算其右边的表达式。即左false则false

•“|”和“||”的区别与“&”和“&&”的区别类似。

⑦条件运算符

•语法格式

•x?y:z

•唯一的三目运算符

•执行过程

•其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

•经常用来代替简单的if-else判断!

⑧运算符的优先级

5.基本数据类型的类型转换

①基本数据类型之间的转换

•在赋值运算或算术运算时,要求数据类型相同,否则要进行类型转换

•转换方式:

•自动转换

•强制转换

•除boolean类型外,所有的基本数据类型因为各自的精度不同,赋值时都要考虑这个问题

•除boolean类型外,所有的基本数据类型包括:整型,浮点型,字符型。

•总结

•=右侧:所有变量先转换为字节数最多的数据类型,再计算

•=两侧:左侧宽度>右侧宽度自动转换

•左侧宽度<右侧宽度强制转换

•特例

•可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

•shortb=12;//合法

•shortb=1234567;//非法

②赋值运算时的转换



下一期学习文章:

流程控制语句

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值