变量、数据类型、运算符

一、变量

1.变量:计算机中存储数据的基本单元。

2.定义:

 数据类型 变量名 = 数据;

(1) 先声明,再分配空间:
    数据类型 变量名;     int a;    // 声明
    变量名 = 数据;      a = 9;    // 分配空间存储数据
(2) 声明的同时并存储数据:  数据类型 变量 = 数据;
                                                int a = 5;
(3) 同时定义多个同类型的变量:
    数据类型 变量名1,变量名2=值,变量名3;
    

二、数据类型:基本数据类型和引用数据类型

(1) 整数类型
    byte      1B      -128~127
    short     2B      -32768~32767
    int       4B      -2147483648~2147483647
    long      8B      -922京~922京-1

    注意:
    a. 字面值:程序中可以给变量赋的值
    b. long的字面值:如果存储的数据超过int范围,给long类型的变量赋值时,需要字面值后面加l或是L(建议,区分字面l和数字1)

(2) 小数类型:浮点类型,java中浮点可以采用科学计数法进行存储
    float:4B,单精度,字面值后面必须加f或者F
    double:8B,双精度,字面值后面可以加 d或是D,也可以不加
    
    思考:8B的long和4Bfloat,哪一个存储的数据范围更大?
         4B的float存储范围更大,因为 float和double 都是可以采用科学技术法进行存储。
         float l = 123456789123456789123f;
         //21位 ,1.2345679E20   1.2345679^20 -> 科学技术法 
         System.out.println(l);

(3) 字符类型: char   2B
    字面值的形式一:单引号引起来 一个 字符,
                 char c = 's';   
                 char c2 = '中';
                 char c3 = '+';
                 char c4 = '8';
    字面值的形式二:采用整数进行赋值,0~65535
    
    常见的转义字符:改变原有含义的字符  【了解】
       '\t' : 水平跳格(tab)
       '\n':换行
       '\\':反斜杠
       '\'':单引号

(4) 布尔类型:boolean  字面值 true/false  1B
    a. true:关系成立 ;  false:关系不成立
    b. Java中的boolean类型只能存储true/false,和0、1任何关系,区分于C语言

(5)引用数据类型:除了8种基本数据类型以外的,数组、接口、集合、字符串等都是对象类型

注意:

存储整数通常使用:int
存储小数通常使用:double
布尔类型通常使用在今后的判断中(true-关系成立;false-关系不成立)
字符串开发中常用:多个字符内容存储时,使用String

写出以下数据存储时对应的数据类型:
   年龄             int age = 18;           
   姓名             String name = "改革";
   成绩             double score = 99.5;
   电话             String tel = "17710131197";
   性别             char sex = '男';
                   int n = 0;  // 0-男  1-女 
                   boolean bn = true;  // true-男  false-女
   身份证号          String id = "745737543475375x";
   家庭地址          String addr = "北京市海淀区";

三、数据类型之间的转换

1.自动类型提升

(1) 应用场景:小数据类型的变量 赋值给 大数据类型的变量 (存储数据的范围越大,代表数据类型为大类型)

(2) 规则:
    byte->short->int->long->float->double
    char -> int -> long -> float -> double

2.强制类型转换

(1) 应用场景:大数据类型的变量 赋值给 小数据类型的变量,需要强制类型转换
(2) 语法:
    源数据类型 变量名1 = 值;   // 大数据类型
    目标类型 变量名 = (目标类型)变量名1;   // 目标类型-小数据类型
    
    int a = 23;
    byte b = (int)a;
(3) 强制类型转换的结果:
    a. 大数据类型的变量中存储数据在小数据类型的范围内,不会丢失精度
       int a = 23;
       byte b = (byte)a;  // 23
    b. 大数据类型的变量中存储数据不在小数据类型的范围内,可能会丢失内容:
       double d = 8.9;
       int i = (int)d;  // 将小数直接截断,结果为 8

四、表达式

1.由变量、字面值、运算符组成式子,通常有一个结果

   int a = 3;
    int b = 5;
    System.out.println(a+b);

2.表达式的结果规则:

(1) 如果表达式中有double类型,结果为 double类型
(2) 如果表达式中没有double类型,有float,结果float类型
(3) 如果表达式中没有double、float,有long类型,结果为 long类型
(4) 其余结果为 int类型
    byte+byte      byte+short   byte+int
    short+short    short+int    int+int

五、运算符

1.算数运算符

+   -   *(乘法)    /(除法)   %(取模、取余数)


注意:java中的+两种用法:
    第一种用法:如果+两端都为数值类型,为加法运算
    第二种用法:如果+两端只要有一端为字符串类型,为字符串拼接,则结果为字符串类型
             System.out.println("hello"+1);

2.赋值运算符

=      +=     -=    *=    /=     %=

int a = 3;
a+= 1 ;  // 结果上等价于  a=a+1;


面试题目:分析以下代码是否编程成功,成功,写出对应的结果;否则-写出原因。
        (1) byte b= 1;
            b = b+1;
            System.out.println(b);
        (2) byte b2 = 1;
            b2+=1;
            System.out.println(b2);
分析:代码片段1编译报错,b+1结果类型自动提升为int类型,存储在 byte变量中报错;
     代码片段2编译成功, += 没有自动类型提升,结果为2

3.关系运算符

>    大于
>=   大于等于
<    小于
<=   小于等于
==   等于
!=   不等于


被关系运算连接的表达式为布尔表达式;结果为 true/falsee;
true-代表关系成立
false-代表关系不成立

4.逻辑运算符

(1) &&:逻辑与(并且),两端连接的都为布尔表达式,两端同时为结果才为true,只要有一端为false,结果为false

5.三元运算符

(1) 语法:布尔表达式 ? 表达式1:表达式2
(2) 执行原理:如果布尔表达式的结果为true,则执行表达式1,否则执行表达式2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值