【Java基础】02变量和数据类型

变量

一个数据存储空间的表示

不同数据存入具有不同内存地址的空间,相互独立,内存地址不好记,通过变量名可以简单快速地找到数据。

变量命名规则

  • 包含数字、字母、下划线、$
  • 不能以数字开头,不能是纯数字
  • 英文命名,要有意义
  • 帕斯克命名法(驼峰命名法)
  • 大骆驼:HelloWorld 首字母大写,一般用于类名
  • 小骆驼:userName 首字母小写,用于变量命名
  • 使用下划线:user_name
  • 不能使用关键字和保留字给变量和类命名

变量声明及使用

1、声明变量,根据数据类型在内存申请空间

//数据类型 变量名;               
int money;

2、赋值,即“将数据存储至对应的内存空间”(可与第一步合并)

//变量名 = 数值;
money = 1000;

3、使用变量,即“取出数据使用”

//数据类型 变量名 = 数值;               
int money = 1000; 

Scanner 的使用

// 导入Scanner类
import java.util.*;

// 创建Scanner对象
Scanner input = new Scanner(System.in);

// 获得键盘输入的数据
int now = input.nextInt();

常量

使用final 进行修饰

// final 数据类型 变量名 = 值
final int NUMBER = 12;

在程序运行过程中常量的值不可改变,常量名一般使用全大写

数据类型

分类

  • 基本数据类型 ( 栈 )
  • 引用数据类型 ( 堆,比如String)
基本数据类型内存占用数据范围
字节类型byte1字节8位-128~127
短整型short2字节16位-32768 (-2^15) ~ + 32767 (+2^15-1)
整型int(默认)4字节32位-2147483648(-2^31) ~ + 2147483647(2^31-1)
长整型long8字节64位-2^63 ~ + 2^63-1
单精度浮点型float4字节32位1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38
双精度浮点型double(默认)8字节64位4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308
字符型char20-65535
布尔型boolean1true false

8位 = 1字节(byte) 1024字节 = 1KB(千字节) 1024KB = 1MB(兆字节)

float money = 13.5f;
float money = 13.5F;


long l = 1234567890123l;
long l = 1234567890123L;

类型转换

自动类型转换(小转大,类型范围小的变量直接赋值给类型范围大的变量)

  • 小范围的类型会自动转换成大范围的类型运算
  • 最终结果类型由表达式中的最高类型决定
  • byte short char 是直接转换成 int 类型参与运算的

强制类型转换(大转小,强行将类型范围大的变量、数据赋值给类型范围小的变量)

需要在转换的值前添加目标类型

数据类型 变量2 = (数据类型)变量1、数据
int a = 20;
byte b = (byte)a;
System.out.println(b); // 20
/*
00000000 00000000 00000000 00010100 a(32位)
                           00010100 b(8位)*/
int i = 1500;
byte j = (byte)i;
System.out.println(j); // -36
/*
00000000 00000000 00000101 11011100 i(32位)
                           11011100 j(8位)*/

注意:

  • 强制类型转换可能造成数据(丢失)溢出
  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

运算符

赋值运算符

=

算术运算符

基本运算符:+、-、*、/、%、++、–

复合运算符:+=、-=、*=、/=、%=

关系运算符

==、!=、>、<、>=、<= (返回Boolean类型)

逻辑运算符

&&:短路与,两个操作数都是true,结果才是true

||:短路或,两个操作数一个是true,结果就是true

!:非,操作数为true,结果为false 操作数为false,结果为true

三目运算符

语法:条件 ? 结果1 : 结果2

注意

  • 算术运算符:两个整数做除法,其结果一定是整数,因为最高类型是整数。
  • 自增自减运算符:在变量前,先进行变量增减,再使用变量;在变量后,先使用变量,再进行变量自增减。
  • 复合运算符:自带强制类型转换。例:a += b => a = (a的类型)(a + b)
  • 逻辑运算符:&&一个为false、结果是false,但前一个为false,后一个条件不执行了;||一个为true、结果是true,但前一个为true,后一个条件不执行了(运算效率更高 开发中更常用)

运算符优先级

  • ( ) 优先级最高,可以通过 ( ) 控制表达式的运算顺序,提高可读性

  • 单目运算符包括 ! ++ --,优先级别高

  • 优先级别最低的是赋值运算符:=

  • 从右向左结合性的只有赋值运算符、三目运算符和单目运算符

  • !> 算术运算符 > 关系运算符 > 逻辑运算符( && > ||)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值