Java--数据类型与变量

学习目标:

  •         常量;
  •         数据类型;
  •         变量;

1.常量

定义:常量即程序运行期间,固定不变的量称为常量.

字面常量的分类:

  1.         字符常量:由 ' ' (单引号)括起来的当个字符,比如:'A'、'1';
  2.         字符串常量: 由" "括起来的,比如"12345"、"hello"、"你好";
  3.         整型常量: 程序中直接写的数字(注意没有小数点),比如:100、9999';
  4.         浮点型常量: 程序中直接写的小数,比如:3.14、0.49
  5.         布尔常量:只有true和false;
  6.         空常量: null(在不知道输入什么值时可以进行一个占位)

注意:字符型、字符串型、整型、浮点型、布尔型在Java中都被成为数据类型.

2.数据类型

在Java中数据类型主要分为两类: 基本数据类型引用数据类型

基本数据类型的八种:

注意:

  • 不论是在32位系统还是64位系统中,int类型都占用4个字节,long都占8个字节.
  • 整型和浮点型都是带有符号的.
  • 整型默认为int型,浮点型默认为double.

变量

程序运行中有些数值是没有办法一直不变的,所以对于这些经常改变的内容,在java程序中,称为变量,而数据类型就是用来定义不同种类变量的.

语法格式为:

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

特殊写法:

long a = 1000_000_000L    //可以通过末尾添加L的方式来区分int还是long
                          //可以通过在数字中间添加下划线来更好计算位数

变量使用注意事项:

  • int除以int的值仍然会是int(当结果出现小数会直接舍弃),如果希望得到小数,就需要使用double类型计算;
  • 浮点数与整数在内存中的存储方式不同,不能单纯使用2^{n}的形式来计算;
  • double类型的内存布局遵守IEEE 754标准(和C语言一样),尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值;

类型转换

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

int a = 10;
long b = 100L;
b = a; //可以通过编译
a = b; //编译失败

        当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式)强制类型转换(显式)

自动类型转换(隐式):

        代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。

        特点:数据范围小的转为数据范围大的时会自动进行,超过范围则编译错误。

强制类型转换(显式):

        当进行操作时,代码需要经过一定的格式处理,不能自动完成。

        特点:数据范围大的到数据范围小的。

        使用方法:在需要转换的数据前加上(),在括号中输入要转换的类型。

int a = 10;
long b = 100L;

a = (int)b;    //数据类型由大到小,需要强转,否则编译失败

注意事项:

  •         如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
  •         将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
  •         强制类型转换不一定能成功,不相干的类型不能互相转换.

类型提升:

        不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。

字符串类型:

在java中使用String类定义字符串类型,比如:

public static void main(String[] args){
    String s1 = "hello";
    String s2 = "world";
    System.out.println(s1+s2);    //s1+s2表示将s1和s2进行拼接
}

在有些情况下,需要将字符串与整型数字之间进行转换:

//int转成String
int num = 10;
//方法一
String str1 = num + "";
//方法二
String str2 = String.valueOf(num);

//String转成int
String str = "100";
int num = Integer.parseint(str);

感谢阅读,希望对你有帮助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值