(二)Java基础语法之变量与数据类型

(1)变量的使用

  • 定义变量格式:数据类型   变量名=变量值;
  • 说明:变量必须先声明,后使用。

                  变量都定义在其作用域内,出了作用域就失效了。

在同一作用域内,不可以声明两个同名的变量。

注意:实例变量不用初始化就可以使用,局部变量必须初始化。

(2)数据类型

①基本数据类型:数值型:整数型:byte、short、int、long

                                           浮点型:float、double

                            字符型:char

                            布尔型:boolean

②引用数据类型:类(class,String类型在这里面)、接口(interface)、数组([])

注意:Java的浮点型常量默认为double型、因此声明float型常量时,须在后面加‘f’或‘F’。

          字符型char(1字符=2字节),定义char型变量,通常使用一对' ',内部有且必须有一个字符。

(2)基本数据类型间的转换

基本数据类型之间的运算规则(不包含boolean)包括自动类型提升、强制类型转换

1、自动类型提升:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

容量排序:byte、short、char-->int-->long-->float-->double

特别的:当byte、short、char三种类型的变量做运算时,结果为int型。

2、强制类型转换:可以理解为自动类型提升运算的逆运算,比如将容量高的数据类型赋值给容量低的数据类型的变量。需要使用强转符号()。强制类型转换,可能会导致精度损失。

几个规则:①整数默认为int型,例如 long l=121,此时没在数字后加L来表明是long型的,默认l为int型。

例如下面的语句,编译会出现错误,因为整数1默认为int型,byte型的变量b与int型变量做运算,由于自动类型提升结果为int型,不能赋值给byte型变量b1,需要进行强转。

byte b=12;
byte b1=b+1

                  ②浮点数默认为double型,因此强调float型变量后必须加F。

                  ③如果参与运算的两个都是变量,则按照自动类型转换规则处理成一致的类型;如果都是常量:

               如果一个是char,另一个是其他,照自动转换类型规则处理成一致类型,例如下面的第一条输出语句 ;

               如果一个是char,另一个是[0~65535]之间的整数,则结果按char处理,例如下面的第二条输出语句

    public static void main(String[] args){
            char x='x';
            int i=10;
            System.out.println(true?x:i);//输出120(x的ASCII码)
            System.out.println(true?'x':10);//输出x
    }

这些数据类型均不能转换为boolean型,如下面的代码,编译将不通过,因为if语句是boolean型的,int型不能转换为boolean型。

int a=3;
int b=1;
if(a==b){
    System.out.println(a);
}

需要时刻注意运算时的自动类型转换问题。

(3)基本数据类型与String间的运算

1、String类型变量的使用

①String属于引用型数据类型,属于一个类,翻译为字符串

②声明String类型变量时,使用一对“ ”

③String可以和8种基本数据类型做运算,且只能是连接运算

④运算结果仍然是String类型

⑤判断字符串是否相等,用equals( )功能调用,例如:result=“abc”;guess="efg",比较时写为result.equals(guess);

例如下面的代码

char c='a';//ASCII码为97
int num=10;
String str="hello";
System.out.println(c+num+str);//107hello
System.out.println(c+str+num);//ahello10
System.out.println(c+(num+str));//a10hello

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值