Java中的变量、数据类型、表达式、运算符

Java中的变量、数据类型、表达式、运算符

一、变量

  1. 概念:计算机中的一块内存空间,数据的基本存储单位
  2. 组成:数据类型 变量名 = 值;
  3. 定义:
    I.声名:数据类型 变量名
    II.初始化:变量名 = 值;
  4. 其他定义方式:
    I.声名的同时初始化:数据类型 变量名 = 值;
    II.同时声名多个相同数据类型的变量:数据类型 变量名1,变量名2,变量名3;

二、数据类型

  1. 基本数据类型(原始数据类型\简单数据类型) 共8种
    I.整数类型 4种
关键字大小范围
byte1B-128~127
short2B-32768~32767
int4B-2147483648~2147483647
long8B-9223372036854775808~9223372036854775807(-922京 ~ 922京-1)
 注:
	1. 字节(Byte简称B)= 8位 (bite简称 b)
    2. 字面值:定义中可以给变量赋值
    3. long字面值后面需要加L或 l
  1. 浮点数类型(小数)2种
关键字精度大小
float单精度4B
double双精度8B
 注:
	1.float字面值后面可以加F或f
	2.double字面值后面可以加D或d,也可以不加
	3.floatdouble都可以用科学计数法的形式存储(底层是近似值存储)
  1. 字符类型 1种
关键字大小范围
char2B一个字符
字面值
    I.用单引号(英文)引起来的一个字符
          char x = 'A';
          char y = '中';
   II.以整数形似进行存储(0~65535):
          char z = 65;
          char k = 29233;
  III.用unicode形式存储:
  		  char i = '\u41';
  1. 布尔类型: 1种
关键字大小字面值
boolean4Btrue\false

注:Java的布尔类型和 0/1没有任何关系

转义字符:
	\t:水平跳格(制表符)
	\n:换行
	\\:反斜杠
	\':单引号
	\":双引号
  1. 引用数据类型(对象数据类型)
    I.类、数组、接口、集合等都是引用类型
    II.以String(字符串)为例:
    字面值:用双引号引起来的一个或多个字符
    例: String name = " HelloWorld ";

三、类型转换

  1. 数据类型的自动提升
    I.当小数据类型的变量赋值给大数据类型的变量时,发生自动类型提升(从数据类型的表示范围来判断数据类型的大小关系)
    II.规则:
byte
short
int
long
float
double
char
int
long
float
double
  1. 强制类型转换

    I.场景:当大数据类型的变量赋值给小数据类型的变量时,需要强制类型转换
    II.语法: 大数据类型 大数据类型的变量名 = 值;
         小数据类型 变量名 = (小数据类型)大数据类型的变量名;
    III.强制转换的结果:
      a:浮点数类型强转为整数类型,则直接截取整数部分(丢失精度)
         double x = 12.7;
         int y = (int) x;
      b:大数据类型的整数变量给小数据类型的整数变量赋值,数据合理,则不损失任何内容
         int x = 12;
         byte y = (byte) x;
      c:大数据类型的整数变量给小数据类型的整数变量赋值,数据不合理,将字节截取
         int x = 257;
         byte y = (byte) x;    //输出结果为1

四、表达式

  1. 概念:由变量、字面值、运算符等组成一个式子,通常会产生一个结果
  2. 当两个数值或变量参与运算时,如果参与运算的两个变量或数据类型不一致,运算过程种,会发生类型转换,转换规律如下:

   a:有double,结果类型为double
   b:没有double前提下,有float,结果类型为float
   c:没有double\float,有long,结果类型为long
   d:其余情况均为int类型

五、运算符

1.算术运算符
   +-*/%(取模/取余数)
   注: + 两端如果是字符串,则+表示字符串之间的连接
         如果+两端有一个是字符串,则结果自动提升为字符串类型
         
2.赋值运算符:  =+=-=/=%=
   注: += 没有自动类型提升
   
3.关系运算符:  >>=<<===!=
    表达式的结果类型为布尔类型,这类表达式被称为布尔表达式
    注:用关系运算符连接的表达式都是布尔表达式,关系成立true,反之为false

4.一元运算符:  ++(自增)   --(自减)

5.逻辑运算符:
   &&:逻辑与,两个条件都为true,则结果为true(短路运算符)
   ||:逻辑或,两个条件有一个为true,则结果为true(短路运算符)
    &:逻辑与,两个条件都为true,则结果为true(非短路运算符)
    |:逻辑或,两个条件有一个为true,则结果为true(非短路运算符)
    !:逻辑非,对结果取反
  注:短路运算符与非短路运算符的区别
  		短路运算符只能用于逻辑表达式内,非短路运算符可用于位表达式内和逻辑表达式内。也可以说:短路运算符只能操作布尔类型的,非短路运算符既可以操作布尔类型,也可以操作数值类型
6.条件运算符(三元运算符)
  I.语法:                 布尔表达式 ? 表达式1 : 表达式2;
  		  System.out.println(0 < 1 ? "Yes" : "No");       结果:Yes
  II.原理:如果布尔表达式的结果位true,则执行表达式1,否则执行表达式2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值