Java变量,数据类型及转换,字符串比较方法

变量

一.变量的基本介绍

1.变量的三个基本要素

变量是程序的基本组成单位
变量有三个基本要素(类型+名称+值)
例如:int a = 1 ;//定义了一个变量,类型int是整型,名称是a,值是1
变量使用的基本步骤:
(1).声明变量 int a;
(2).赋值 a =60;
(3).使用 System.out.println(a);
//也可以一步到位【int a = 60;通常我们是一步完成】

2.变量使用的注意事项

(1).变量表示内存中的一个存储区域【不同的变量,占用的空间大小不同】
比如:int 4个字节,double 8个字节
(2).该区域有自己的名称【变量名】和类型【数据类型】
(3).变量必须先声明后使用,即有顺序
(4).该区域的数据可以在同一类型范围内不断变化
(5).变量在同一个作用域内不能同名
(6).变量=变量名+值+数据类型。即变量三要素!

3.程序中+号的使用

(1).当左右两边都是数值型时,做加法运算
(2).当左右两边有一方为字符串,则做拼接运算
注意:运算顺序从左到右!
例如:
System.out.printlin( 100 + 98 );//输出198
System.out.printlin( “100” + 98 );//输出10098
System.out.printlin( 100 + 3 + “hello” );//输出103hello
System.out.printlin( “hello” + 100 + 3 );输出hello1003

二.Java的基本数据类型

1.数据的类型

数据类型
基本数据类型:byte,short,int,long,float,double,char,boolean
引用数据类型:类,接口,数组

2.整数类型

存放整数值的
整型
使用细节:
(1).Java各整数类型有固定的范围和字段长度,不受具体os操作系统的影响,以保证Java程序的可移植性。
(2).Java的整型常量(具体值)默认为int型,声明long型常量须后加’I’或’L’。
(3).Java程序中变量常声明为int型,除非不足以表示大数,才用long。
(4).bit:计算机中的最小存储单位。byte:计算机中基本存储单元,1 byte=8 bit。

3.浮点类型

可以表示一个小数
浮点
浮点数=符号位+指数位+尾数位
注:尾数部分可能丢失,造成精度损失(小数都是近似值)
使用细节:
(1).与整数类型(1)同。
(2).默认为double类型,声明float型常量,须后加’f’或’F’。
(3).浮点型常量有两种表现形式:
十进制数形式:5.12,512.0f等(必须有小数点)若0.512可以省略0为.512
科学计数法形式:5.12e2,5.12E-2
(4).通常情况下,应使用double类型,因为它比float型更精确。即不明确时使用double。
(5).浮点型使用陷阱:2.7(输出为2.7)和8.1/3(输出为接近2.7的一个小数,而不是2.7)
注意:当我们对运算结果是小数的数进行相等判断时,要小心。应该是以两个数的差值的绝对值,在某个精度范围内判断。
例如:
lizi

正确写法如下;
li

4.字符类型(char)

表示单个字符,2个字节(可以存放汉字),多个字符用字符串String
例如:
char c1 = ’a’;//输出a
char c2 = ‘\t’;//输出空格
char c3 = ‘源’;//输出源
char c4 = 97;//输出a,Unicode码
使用细节:
(1).字符常量是用单引号括起来的单个字符。
(2).Java中还允许使用转义字符 ’ \ ’ 来将其后的字符转变为特殊字符型常量。
(3).在Java中,char的本质是一个整数,在输出时,是Unicode码对应的字符。要输出对应的数字,可以( int )字符。
(4).可以直接给char赋一个整数,然后在输出时,会按照对应的Unicode字符输出。
(5).char类型是可以进行运算的,相当于一个整数,因为它都有对应的Unicode码。

5.布尔类型(boolean)

只允许取值true和false,无null,占1个字节。
适用于逻辑运算,一般用于程序流程控制。
使用细节:
不可以用0或非0的整数代替false和true。

三.基本数据类型的转换

1.自动类型转换

当Java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这就是自动类型转换。
数据类型按精度(容量)大小排序为:(背!!)
排序
使用细节:
(1).有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
混合运算

(2).当我们把精度(容量)大的数据类型赋值给精度小的数据类型时,就会报错,反之则会进行自动类型转换。
(3).byte,short和char之间不会相互自动转换。
(4).byte,short,char他们三者相互之间可以计算,在计算时首先转换为int类型。不管单独或者混合运算,只要出现其中之一,都会变成int类型。
(5).boolean类型不参与转换。
(6).自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。
注:byte b1 = 10;//是对的,int转换为byte??当把具体数赋给byte时,是先判断该数是否在byte范围内(-128~127),如果可以就没问题。
若int n1 = 1;
byte b1 = n1;//则是错的,如果变量赋值,则直接判断类型。

2.强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意。
使用细节:
(1). 当进行数据的从大到小的转换时,需要使用强制转换。
(2).强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级。
int x = (int)103.5+6; //编译错误,只转换了10
int x = (int)(10
3.5+6); //正确
(3).char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
(4).byte和short,char类型在进行运算时,当作int类型处理。

四.基本数据类型和String类型的转换

1.基本类型转String

将基本类型的值+" "即可
例如:
例子

2.String类型转基本数据类型

通过基本类型的包装类调用parseXX方法即可
例如:(在面向对象时详细讲解包装类)
例子
字符串转成字符char
cahr
注意事项:
(1).在将String类型转成基本数据类型时,要确保String类型能够转换成有效的数据,比如:我们可以把"123"转成一个整数,但不能把"hello"转成一个整数。
(2).如果格式不正确,就会抛出异常,程序就会终止,这个问题在异常处理章节中,会详细介绍。
补充说明:
字符串内容的比较的方法:(equals)
例子:

String name = "贾宝玉";
System.out.println(name.equals("林黛玉"));
//或者System.out.println("林黛玉".equals(name));

第二种写法更好,可以避免空指针的问题。
输出为false。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值