第二章第3节:二进制
1.关注点:二进制的概念
byte 字节:1 字节 在二进制中表示方式:长度为8的二进制, 一个字节最大的数:1111111(8 个 1),十进制表示255
int 类型 占 4 个字节
long 类型 占 8 个字节
字节类型 占 1 个字节
上课例子:
10替换成2
10进制的数字可以表示为:数字各个位数上的数字乘于以10为低,位置上从右到左,0开始计算的逐次+1的相应的数字为指数,它们之间的和表示该数字。2进制同理。
10进制的数字可以通过短除法,右边得到的数值,从下往上,位数逐渐下降,得到的数字为该数字。2进制同理。
2.变量概述
(学习java目的:软件开发)
2.1变量:变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为“变量”。
2.2变量分类:
(按照所属的数据类型分类)
1)基本数据类型变量
2)引用数据类型变量
(按照被申明的位置划分)
1)局部变量:方法或语句块内部定义的变量
2)成员变量:方法外部、类的内部定义的变量
特别注意:类的外面不能有变量的声明
3.数据类型
由于变量记录的数据内容大小不同,导致所需的存储单元大小不同,在Java语言中,使用数据类型的概念加以描述。
数据类型:
1)8种基本数据类型:
①数值型:byte,short,int,long(整数类型);float,double(非整数,浮点类型);char(字符型);
②布尔型:
boolean
2)引用数据类型:类(class);接口(interface);数字
标识符:
Java对包、类、方法、参数和变量等要素命名时使用的字符序列成为标识符。
/**
* 变量的创建和使用
* @param args
*/
public static void main(String[] args) {
//创建变量的语法: 数据类型 变量名 = 初始化值;
int a = 20;
//创建变量暂不赋值的语法: 数据类型 变量;
// int b;
String s = "abcde";
//重新给变量赋值的语法: 变量名 = 值;
a = 30;
System.out.println(a);
System.out.println(s);
}
/**
* 任务:
* 将下面变量a 和 变量 b的值通过运算,进行调换
* @param args
*/
public static void main(String[] args) {
int a = 10;
int b = 20;
int c;
System.out.println(a);
System.out.println(b);
c = a;
a = b;
b = c;
System.out.println(a);
System.out.println(b);
}
4.数据类型转换
boolean类型不能转换成任何其它数据类型
自动类型转换:容量小的类型自动转换成容量大的数据类型
byte,short,int -> float -> long -> double
byte,short,int 不会互相转换,它们三者在计算时转换成int类型
强制类型转换:
容量大的类型转换成容量小的数据类型时,要加上强制转换符
long l = 100L;
int i = (int)l;
有可能造成精度降低或者数据溢出,使用时要小心。
public static void main(String[] args) {
byte b = 127;
int i = b;
System.out.println(i);
b = (byte) i;//强制类型转换有可能导致精度丢失
System.out.println(b);
}
//1. float类型变量在定义时需注意:我们直接写出的浮点数字,默认类型是double,会提升需要强转
// 解决:我们可以在浮点数字的后面加入f,来表示写出的数字类型是float
float f1 = 10.1f;
//2. long类型变量定义需注意:我们直接写出的整形数字,默认类型是int,当值过大时会提升出错
// 解决:我们在整型数字后面加入l,来表示写出的整形数字long类型的
long l1 = 22000000000l;
//3. char类型,表示一个字符,用单引号引起来
char c1 = '一';
System.out.println(c1);
System.out.println(++c1);
快捷键
system.out.println()快捷键:
输入main 然后按:alt + / 组合键 ,再按enter键,整句就出来了。
public static void main快捷键
先输入sysout或syso然后输入辅助快捷键:Alt+/,这样就可以自动生成:System.out.println();
char类型可以运算:
static静态的,可以理解为加载比较早
void无返回值
下面的方法也加static,上面main调用下面的方法say()就不会报错。
有返回值类型的方法:
逻辑运算符
& 左边不管是true 还是 false 右边都会执行
&& 左边是true才会执行右边
| 不管是true 还是 false 右边的都会执行 youtrue 选择ture
|| 左边是ture 右边不参与运算 左边是false 右边参与运算
^ 以后 左右为真结果为假 不同为true
! 非false 择 true 非true 择 false
运算符 << 左移(乘以2的移动次幂)
//变量的作用域
//代码分为结构定义语句 和 功能执行语句,功能执行语句必须以英文分号结尾。
public static void main(String[] args) {
int a = 10;
int b = 20;
{
System.out.println(a+b);
}
}
转义字符
\ 能后面的字符转化为没有特殊含义的字符
制表符:\t**