Day02_JAVA语言基础第二天

时间:2022-01-22 16:00:08

1、常量(理解)

1、概念

        在程序运行过程中,其值不会发生改变的量

2、分类(掌握)

A 、字面值常量

整数常量:1,2,-3

小数常量:2.3,-232.3

字符常量:‘A’

字符串常量:”Hello World”

布尔常量: true false

空常量 null

B 、自定义常量

类、接口、数组

2、进制(了解)

1、概念

X进制就是逢X进1

2、 JAVA中的进制

二进制:0b开头,JDK1.7以后才后的

八进制: 0开头

十六进制:0x开头

十进制:默认就是,什么都不用写

3、其他进制转十进制

                   公式:所有系数 * 基础 ^ 权相加的和

系数:每一位上的数

基础:X进制基数就是X

权:从右往左,从0位置开始编号,每一位对应的编号就是权

4、十进制转其他进制

                除基取余,直到商为0,余数反转

 

        5、进制的快速转换

                8 4 2 1码

                    二进制--八进制(3位组合)

                    二进制--十六进制(4位组合)

        6、有符号数的表现形式

                计算机中的数据都是以二进制的补码形式存在的(掌握)

原码:不说了

反码:符号位不变,数值为取反

补码:反码+1

3、变量的概述(掌握!!)

        1、概念

在程序运行过程中,其值在指定范围内可以改变的量

        2、命名规范

如果变量由一个单词组成,首字母小写,如果有多个单词组成,第一个首字母小写,其他的首字母大写,要做到见名之意

3、格式

格式1:数据类型变量名= 初始化值;

格式2:数据类型变量名;

变量名= 初始化值;

格式3:数据类型变量名1 = 初始化值,变量名2 = 初始化值,..;

格式4:数据类型变量名1,变量名2;

变量名1 = 初始化值;

变量名2 =  初始化值;

4、 注意事项

在一个{}内,不能存在重名的变量;

变量要先初始化再使用(在使用之前初始化即可)

为某一个变量赋值的时候尽量不要超过其能表示的范围

变量名称的定义要见名之意,不要写一写容易混淆的

定义long类型或者单精度浮点型变量的时候,一定要在数据的后面+l或者+f

  

        5、为什么要定义变量(理解)

用来不断的存放同一类型的常亮,并可以重复使用

6、什么时候定义变量

需要的时候定义变量,切记,不要在写代码刚开始就定义一堆不知道将来要做什么的变量

 4、数据类型(掌握)

 1、分类

(四类八种)

整数型

byte        (-128~127)               1字节

short       (-2^15 ~2^15-1)      2字节

int           (-2^31 ~2^31-1)      4字节

long        (-2^63 ~2^63-1)      8字节

浮点型

float                                              4字节

double                                          8字节

字符型

char        \u0000-\uFFFF(0-65535)

布尔型

boolean

需要记住byte  的范围:-128 — -127                         byte 1, short 2, int 4, long, 8, float 4, double 8

2、注意

整数默认是int,所以long类型后面加L或l

浮点数默认是double类型,所以float类型需要加f或F

3、数据类型转换

1、隐式转换:直接赋值

byte与byte(或short,char)进行运算的时候会提升为int,两个int类型相加也是int类型

进行混合运算的时候,byte,short,char不会相互转换,都会自动提升为int类型

btye short char ->int - >long -> float ->double

2、强制转换

(数据类型) 数据或变量名

4、面试题

                     byte b1 = 1;

byte b2 = 1;

byte b3 = b1 + b2;//(byte)(b1 + b2);

byte b4 = 1+1;

第四行报错还是第三行报错,为什么

b1和b2是byte类型,运算是自动提升为int,所以结果是int,赋值给b3,b3是byte类型,int付给byte会报错

5、 ASCII表(了解)

char和short没关系

char 能表数的数的范围是0 – 65535,转化为16进制是0000-FFFF

6、算数运算符(掌握)

1、分类

+, - , * , /, %,++,--

2、补充说明

+: 加法运算,字符串连接,如果做字符串连接符,会按照从左往右按照运算符的规则计算    直到遇到字符串就变成字符串连接符了

/:     如果想要结果为负数,那么/中至少有一个是负数

%: 如果想要结果为负数,那么左边必须是负数

++:

int num = 1;

前自加: ++num;

自加的值是加之的值

后自加:num++

自加的值是加之的值

System.out.println(num++ == ++ num);
                    num++;只有这种情况才是里存在的

案例1:

int x = 1;

int y = x++;

解析:

第一步:

建立临时变量temp,存储x的值,此时temp=1,x=1

int temp = x;

第二步:

x加1

x = x+1,此时temp=1,x=2

第三步:

由于是后加加(++在变量后被称为后++),所以拿temp的值运算也就是1进行运算,y=1;

案例2:

int x = 1;

int y = ++x;

解析:

第一步:

建立临时变量temp,存储x的值,此时temp=1,x=1

int temp = x;

第二步:

x加1

x = x+1,此时temp=1,x=2

第三步:

由于是前加加(++在变量前被称为前++),所以拿x的值运算也就是2进行运算,y=2;

案例3:

int x = 1;

x = ++x;

解析:

第一步:

建立临时变量temp,存储x的值,此时temp=1,x=1

int temp = x;

第二步:

x加1

x = x+1,此时temp=1,x=2

第三步:

由于是前加加(++在变量前被称为前++),所以拿第二步x的值运算也就是2进行运算,x=2;

案例4:

int x = 1;

x = x++;

解析:

第一步:

建立临时变量temp,存储x的值,此时temp=1,x=1

int temp = x;

第二步:

x加1

x = x+1,此时temp=1,x=2

第三步:

由于是后加加(++在变量后被称为后++),所以拿temp的值运算也就是1进行运算,x=1;

7、 赋值运算符(掌握)

                1、分类  

=,+= ,-=,%=,*=,/=

2、重点

+=: 内含强制转换

比如(面试题):

short s = 2;

s += 3;

等价于 s = (short)(s+3);

8、比较运算符或关系运算符(掌握)

                1、分类  

==,!=,>=,>,<=,<

2、特点

1、关系运算符的结果必须是boolean型

3、注意

别把== 写成 =

9、表达式(掌握)

表达式由一个或多个变量或常量 通过 操作符 组合而成, 最简单的表达式仅包含一个字面值常量或变量      

10、今天必须掌握的内容。以及常见的笔试题和面试题(学完这个就可以放心学习后面的知识了)

1、常量的分类
2、什么是变量,变量的创建(声明,定义)格式
3、数据类型的分类
4、byte的范围,面试题
5、数据类型转换
6、独立分析++
7、独立使用常见的运算符++,+=,%