第二章:变量、数据类型、表达式、运算符

一、变量

1. 概念:计算机中的一块内存空间,存储数据的基本单元

2. 变量的组成部分:数据类型、变量名、数据

3. 语法:

(1) 先声明,再赋值
   数据类型 变量名;   int a;
   变量名 = 数据;   a = 5;
    
(2) 声明的同时赋值:
   数据类型 变量名 = 值;
   int b = 8;
  
(3) 同时定义多个同类型的变量:
   数据类型 变量名1,数据类型=值,数据类型;

二、数据类型

1. 基本数据类型(简单数据类型、原始数据类型)

B:字节,Byte   1B = 8b (bit->位)
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
...
程序猿节日:10.24号


(1) 整数类型


   byte   1B     -128~127
   short   2B     -32768~32767
    int     4B       -2147483648~2147483647  
   long   8B     -922京 ~922京-1

 

long的字面值后面需要加L/l(建议L,区分数字1)

 

(2) 小数类型

 

   float:4B,单精度,字面值后面必须加F/f

  double:8B,双精度,字面值后面可以D/D,也可不加


注意:java中的float和double可以采用科学计数法的形式进行存储:1.23456792E8

 

(3) 字符类型

 

   char:2B,字面值形式如下:

    

   a. 单引号引起来的一个字符:char c = 'a';

   b. 使用整数形式进行存储,范围:0~65535

   c. 转义字符:

       '\t':水平跳格,tab

       '\n':换行

       '\' ':直接打印 单引号

       '\" ':直接打印 双引号

       '\\ ':打印一个反斜杠

 

(4) 布尔类型

boolean:字面值为:true和 false

       true代表关系成立,真

       false:代表关系不成立,假

 


      

思考:long-8B 和 float-4B哪一个 存储的数据范围大?

java中float可以采用科学计数法的形式进行存储,float存储的范围比 long范围更大。

02b44c153e024f16baf58ffda2ae7c6d.png

Java 的基本类型都有对应的值域和默认值。可以看到,byte、short、int、long、float 以及 double 的值域依次扩大,而且前面的值域被后面的值域所包含。因此,从前面的基本类型转换至后面的基本类型,无需强制转换。另外一点值得注意的是,尽管他们的默认值看起来不一样,但在内存中都是 0。

在 Java 虚拟机规范中,boolean 类型则被映射成 int 类型。具体来说,“true”被映射为整数 1,而“false”被映射为整数 0。

在这些基本类型中,boolean 和 char 是唯二的无符号类型。在不考虑违反规范的情况下,boolean 类型的取值范围是 0 或者 1。char 类型的取值范围则是[0, 65535]。通常我们可以认定 char 类型的值为非负数。这种特性十分有用,比如说作为数组索引等。

2. 对象数据类型/引用数据

(1) 类、接口、集合、数组等都为对象类型
(2) 以字符串为例讲解 对象类型:
   a. String为字符串,对象类型
   b. 字面值:以双引号引起来的一个或是多个字符
       String str = "hello"

数据类型总结:实际应用

整数通常使用 :  int

小数通常使用:double

字符:开发偶尔用

布尔类型通常用于判断:分支结构、循环结构等

字符串:开发经常使用

三、数据类型之间的转换

1. 自动类型提升

 

(1) 场景:小数据类型 赋值给 大数据类型(存储数据的范围对应数据大小)
(2) 自动提升规则如下:
   byte->short->int->long->float-
>double
    
   char->int->long->float->double

2. 强制类型转换

(1) 应用场景:大数据类型 赋值 给 小数据类型时,需要使用强制类型转换
(2) 语法:
     源数据类型 变量名1 = 值;
     目标数据类型 变量名2 = (目标数据类型)
变量名1;

四、表达式

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

2. 表达式的结果类型规则如下:

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

五、运算符

1. 算术运算符

+   -   *(乘法)   /(除法)   %(取余数/取模)
Java中的+ 两种应用:
(1)加法运算:如果+两端都为数值类型,则为加法运算
 (2) 字符串的拼接:只要+一端为字符串类型,则+就为字符串的拼接


注意:java中布尔类型不能参与 加法运算;但是可以参与字符串拼接

2. 赋值运算符

=      +=      –=      *=      /=

int a = 2;

 

a+=1; // 结果上:a = a+1;

a*=5; // a=a*5; 3*5 = 15

a-=10 ; // a=a-10; System.out.println("a="+a);// 3

 

3. 比较运算符(关系运算符)

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


注意:被关系运算符连接的表达式称为布尔表达式,关系成立-true;关系不成立-false;结果类型为布尔类型

4. 逻辑运算符

&&:逻辑与,并且,两端连接的必须都为布尔表达式,两端同时为true,结果才为true。
    
||:逻辑或,或者,两端连接的必须都为布尔表达式,只要有一端为true,结果就为true


!:逻辑非,在结果上进行取反

5. 一元运算符

++(自增)         ––(自减)


开发应用如下:
a++  或是 ++a :让a变量自身加1
a–– 或是 ––a:    让a变量自身减1


以下内容常用于开发面试或是考试:
int c=a++;//先使用再加1
int c=++a;//先加1再使用

6. 三元运算符

(1) 语法:
   布尔表达式?表达式1:表达式2
(2) 原理:判断布尔表达式结果是否成立,成立——true,则执行表达式1;否则执行表达式2

六、扫描仪(Scanner)

1. 作用:实现人机交互

2. 使用步骤:

(1) 导包:import 包名1.包名2.类名;//导入某一个
                import 包名1.包名2.*;//导入包中所有类
      


注意:定义在pacakge语句的后面,所有类的上面;
         一个源文件中可以定义多行import语句
      import java.util.Scanner;


(2) 创建Scanner对象:
   Scanner sc = new
Scanner(System.in);
    
(3) 使用:
   int n = sc.nextInt();//输入一个整数

  double s = sc.nextDouble();//输入

一个小数

   String str = sc.next();// 输入一个

字符串

   char c = sc.next().charAt(0);//输

入一个字符

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值