常量:
概述:在程序的运行过程中,其值不能发生改变的量。
分类:
字符串常量: 用双引号括起来。 ""
整数常量:
小数常量:
字符常量: 用单引号 ''
布尔常量: true,false
null: 空常量
进制:
概述:就是咱们人们规定的一种进位方式。逢几进一就是几进制。
几种进制形式:
二进制:0b开头,由0,1组成。
JDK1.7以后,Java才支持二进制的写法。
八进制:0开头,1-7组成。
十进制:0-9组成。
十六进制:0x开头,0-9,a-f。.
注意:整数默认的进制是十进制。
0b100 4
计算机能直接识别的数据是二进制数据,计算机最基本的存储单位是:byte(字节)
多个进制标示统一数据的时候特点是什么:
进制越大,表示形式越短。
进制之间的相互转换:
其他进制到十进制转换:
把系数乘以基数的权次幂相加即可。
例如:12345
系数:就是每一位上边的数据。(1,2,3,4,5)
基数:几进制,基数就是几。
权:从右往左,从0开始对数据进行编号,这个编号就是对应位置的权。
十进制怎么转成其他进制:
除基倒取余。
大白话:除以基数,直到商为0,然后把余数反转。
8421码:
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
128
原码反码补码:
注意:
1、它存储都是二进制形式。
2、计算机存储数据,存的都是数据的补码形式。
3、正数的原反补都是一样的,负数的不一样。
原码:
就是数据的二进制形式。
最高位是符号位,0代表正数,1代表负数。
其他位是数值位。
反码:
负数的反码,是在它原码的基础上,符号位不变,数值位0变1,1变0.
补码:
负数的补码是在它的反码的基础上,末位+1.
变量:
概述:其值在某个范围内能发生改变的量。
格式:
数据类型 变量名 = 变量值;
变量在使用的时候需要注意什么问题:
A:作用域
同一个区域内,同一变量不能重复定义。
B:初始化值。
局部变量在使用前必须初始化(定义,赋值)。
int a; 这步叫定义一个int类型的变量,a。
a = 10; 把10赋值给变量a。
C:可以同时定义多个同类型的变量。
int a,b,c,d;
byte b = 10;
int a = b ;
数据类型:
基本数据类型:
整数型:
byte 1个字节 -128-127 11100000000
short 2个字节
int 4个字节 int a = 10; 00000000 00000000 00000000 00001010
long 8个字节 2^63-1
浮点型:
float 4个字节 2^127 -1
double 8个字节
字符型:
char 2个字节 0-65535
char类型可以存储中文,因为一个中文占用两个字节,而Java底层采用的是Unicode编码,Unicode编码也是两个字节。
布尔型:
boolean 1个字节
注意事项:
整形默认的数据类型是int,浮点型默认的数据类型是double。
如果定义的是long类型的数据,需要在数据后边加L。
如果定义的是float类型的数据,需要在数据后边加F。
引用数据类型(面向对象的讲)
数据类型转换:
隐式类型转换:小类型的数据和大类型的数据进行运算,会先将小类型的数据类型提升为大的数据类型,然后在计算
大白话:小类型数据和大类型数据运算,会先对小类型数据做:数据类型提升。
byte,char,short --》int --》long --》float --》double
强制类型转换:
数据类型 变量名 = (要转换的数据类型)(可以是变量名,也可以是值);
面试题:
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2; //会出错
byte b4 = 10 + 20; //30
注意:
变量在运算的时候,会先判断是否要做数据类型提升,如果需要,会先提升数据类型,然后在来运算。
常量在运算的时候,会先相加,然后看运算后的结果是否在左边的数据类型所能描述的范围内,如果在,就不报错。
字符或者字符串参与运算:
字符参与运算,会使用到ASCII码表。
码表:就是由字符及其对象的值组成的一张表。
'a':97
'A':65
'0':48
字符串参与运算:
任何类型如果用+和字符串连接,之后得到的结果都是新的字符串。
sop( 5 + 5 + "hello" + 5 + (5 + 1));
运算符:
概述:就是用来对变量或者常量进行操作的符号。
分类:
算术运算符: +,- ,*,/,%,++,--
+号有三个作用:
两个整数相除,结果是整数。如果想要小数怎么办,只需要把其中的任何一个运算数变成浮点型即可。
%:这个符号运算的结果的符号只与左边的数据有关系。
任何一个正整数和%2取余,结果不是0,就是1,以后咱们会经常用它来做判断条件。
++和--的用法:
单独使用:++在前,或者在后,结果都是一样的。
参与运算:(加减乘除,赋值)
如果++在前,先自身+1,然后在参与运算
如果++在后,先参与运算,然后在自身+1
a++相当于: a = (强制类型转换)(a + 1);
赋值运算符:
=,+=,-=,*=,/=,%=,
a+=b ; 相当于: a = a + b;
a+=1; a = a+1;
注意:赋值运算符的左边必须是一个变量。
比较运算符;
>,<,==,!=,>=,<=
注意:
A:不管表达式是简单或者复杂,最后的结果只能是boolean类型。
B:比较的时候,不要把“==”写成”=“,否则结果可能不是我们想要的。
4>=a
逻辑运算符:
位运算符:
三元运算符: |
|